[過去ログ] 【ゲームエンジン】Unity初心者質問スレBuild1 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
951(1): 2019/03/01(金)01:20 ID:moEN5l8p(1) AAS
>>949
「ここ」には、CanvasG roup型を入れる。
いやー参った。こんな型宣言して使ったことなかったから調べるだけでも精一杯w
まぁ知らなくても3Dのシューティング作れたしw
とりあえず動いたので多分あってるんじゃないかなぁ、間違ってたらすまん。
952: 2019/03/01(金)01:53 ID:i9oiQn3T(5/7) AAS
>>950 様
最後の行 my_script.SetCanvasGroupEnable(hoge); がVSに認識されませんでした
が、自分のスクリプトに入れただけなのでミスがあるかもしれません。
後日新しいスクリプトファイルで勉強させて頂きます。有難うございました!
>>951 様
SetCanvasGroupEnable(CanvasGroup, false);
ではVSに怒られてしまいました。しかしそちらで動いているのならば、
こっちがおかしいのだと思います。わざわざ遅い時間まで有難うございました!
>>こんな型宣言して使ったことなかったから調べるだけでも精一杯
この言葉がありがたかったです。それにより「なぜそんな二度手間をする?」
の意味がわかった気もします。
そして>>941 様
有難うございました
953(1): 2019/03/01(金)07:07 ID:i9oiQn3T(6/7) AAS
>>950様
新規csファイルで確認しましたが、VSは通してくれたものの、Unityはnullエラーを
返してきましたので報告させていただきます。以下は自分の解釈を付けたものです
//A_アクセスされる側のcs.目的は自身のアルファ値を0か1にする事だけに絞ってます
public class NewBehaviourScript : MonoBehaviour {
private CanvasGroup canvasGroup;
void Start () {
canvasGroup = GetComponent<CanvasGroup>();
}
public void SetCanvasGroupEnable(bool enable)//変数"enable"をbool値(省略ではtrue)で作成
//>>950さんは(「ここ」,false);が解らないなら最初から設定すんなって事を言ってるのだと解釈。
{
if (enable)//enable==turueであれば //以下の処理
{
canvasGroup.alpha = 1;
}
else//そうでなければ //以下の処理
{
canvasGroup.alpha = 0;
}
}
}
----------------
954(1): 2019/03/01(金)07:09 ID:i9oiQn3T(7/7) AAS
----------------
//B_アクセスする側のcs
public class NewBehaviourScript1 : MonoBehaviour {
public bool hoge = false;//bool値 hoge にfalseを代入
private NewBehaviourScript my_script;//my_scriptにNewBehaviourScript.csの"形"を代入。宣言?でいいのかな
void Start () {
my_script = GetComponent<NewBehaviourScript>();//my_scriptにNewBehaviourScriptクラスをを代入
//以下↓のようにmy_script.SetCanvasGroupEnable();と言うようにアクセスする事が出来る
}
void Update () {
my_script.SetCanvasGroupEnable(hoge);//hoge==false のはず...しかしここでnullエラーを返される
}
}
と言った結果でした。
とりあえずC#の教本は買おうと思います
955(3): 2019/03/01(金)16:57 ID:o5fzsr2k(1) AAS
画像リンク
単純にこう書き直せば出来るんやが、
受け手のメソッドで勝手にやってくれた方が便利な訳だから
こうすると
画像リンク
こうなる
画像リンク
956(2): 2019/03/01(金)17:27 ID:rYfVntGw(1) AAS
>>954
ちな、最後にnullエラーと書いてるけど、合ってる?
alpha値でエラー出てるとかじゃないよね?
957: 2019/03/01(金)23:29 ID:ad2Mn0me(1) AAS
おまいら受け渡しの型くらいあ合わせろ!てかここはおら弟子が楽しむためのスレなんだからな!
958: 2019/03/02(土)01:10 ID:IiwWR++Q(1/6) AAS
>>955 >>956 様
どうもわざわざすみません今レス見たもので
調べさせて頂きます。結果等はまた書き込みさせて頂きます
959: 2019/03/02(土)06:49 ID:IiwWR++Q(2/6) AAS
>>956 様
前回>>953 用意した物
・スプライトから作った"オブジェクトA"
・UI_Image で作成した"Canvas".中には画像確認用にImageから画像を読み込んだオブジェクト
これにCanvasGroupコンポーネントを入れて、alpha値が正常に動くのを確認
オブジェクトA・・・NewBehaviourScript1(アクセスする側)"Hogeにチェック"
Canvas・・・NewBehaviourScript(アクセスされる側)をアタッチ
実行→ NullReferenceException: Object reference not set to an instance of an object
NewBehaviourScript1.Update () (at Assets/NewBehaviourScript1.cs:20)
箇所は
void Update()
{
my_script.SetCanvasGroupEnable(hoge);
}
今回>>955 用意した物
NewBehaviourScript NewBehaviourScript1・・・それぞれ>>955 yVRgjts.png
に書き換えたもの
前回に続き"Canvas"・・・NewBehaviourScript1(アクセスする側)
動画を参考に前回の"オブジェクトA"は削除。"canvas2"を作成してそこにButtonを配置。
これにNewBehaviourScript(アクセスされる側)をアタッチ。ターゲットは"Canvas"
こちらは何度か失敗しましたが、自分のソースミスが原因だと解り修正後動作しました!
>>953はレスが頂けるとは思わず「ちゃんと聞いてるぞ!」という姿勢を見せたつもりだった
のですが、そのせいで余計な手間をかかせてしまって本当申し訳ありません。
動画まで用意して頂いて...しかしその動画が実に参考になりました。有難うございます
960(1): 2019/03/02(土)07:03 ID:IiwWR++Q(3/6) AAS
>>926 >>929 様
自分はあなたのレスに悪意を感じたが為>>930のような態度を取ってしまいました
しかし今回の件で「まさかそこまでの初心者が来る訳無いだろう」という
考えもあると気付いたつもりです。まだ完全に理解は出来てませんが、他の方が言う
様に答えを提示されて下さったのだと思います。申し訳ありませんでした
961: 2019/03/02(土)07:24 ID:9Col7dyh(1) AAS
>>960
そもそものきっかけはあなたの「ソースは理解してる」
あなたが理解してるのはソースじゃなくて結果だけ
コピペしてきたソースを理解していたら簡潔なレスでも問題点を理解できていた
962: 2019/03/02(土)07:53 ID:IiwWR++Q(4/6) AAS
ここからは談笑で行きませんか
自分はしょぼい程度ですがFlashのActionScriptを今まで使ってたんですよ
だからUnityのC#を見た時、どういう処理をしているのかはだいたい理解出来た
でもFlashとUnityのアプリの作り方はまるで違う様に感じました
多分C#よりもUnityの仕組みの方が理解できてないのだと思うけど...どうでしょうか
そういった感覚で初心者用教本を1冊読み終え、まずは自作したFlash作品をUnityに
移植しようと思って制作してたのですが...ここで質問してまるで話が通じない!
初心者スレで初心者が質問しているのに皆が皆でよってたかって質問で返して来る
963: 2019/03/02(土)07:55 ID:9NeG1AvL(1/3) AAS
GetComponentはthis.GetComponentだから自分自身からしか探せないんやが
外部にアタッチされたコンポーネントは>955みたいな書き方になる
これはチュートリアルのインターミディエイト/エキスパートで順次出来てきた筈
薮蛇だから何も言わないけど相手の理解力からレベルはほぼ一瞬全てバレるので
あまり無駄な事はしない方がいいよ
964: 2019/03/02(土)08:06 ID:IiwWR++Q(5/6) AAS
またsage忘れてしまった
Unity初心者の自分から見たら皆さん中級者以上ですよ
テンプレには初心者が初心者に答えるスレって書いてあるのに
ここではある程度理解していないと嘲笑のネタになるのだと感じたワケです
教えてくれない、逆に試される。初心者からしたらそういう態度取られるのは
「この人達、教えてくれないのになんでここにいるの?」て思いますよ
勿論教えて厨的な初心者もいますから、千引きは難しい所だと思いますけどね。
965(1): 2019/03/02(土)08:27 ID:9NeG1AvL(2/3) AAS
ここは元は荒らしが勝手に立てたスレだった筈
まぁC/C++系に比べたら全然温いとはいえ、分からなければ
書かなくていいみたいな所はある
元々プログラム系ってそういうもんで、初心者を引き上げようとか
そういう考えはないから、頑張って戦塵の谷を登ってくるしかないんじゃね?
まぁデバッガ使えるようになると自前でほぼ何でも解決出来るようになるから
そのあたりから始めてみたら楽しくなってくんじゃね?
966: 2019/03/02(土)08:50 ID:IiwWR++Q(6/6) AAS
>>965
すごく興味深いです
ここで叩きのめされてなぜなのか?と調べたら専門系程その傾向にあるそうですね
初心者を引き上げよう...などと想う自分の考えは所詮甘えの範疇、本当に好きな奴
だけ上がって来れる世界と言うワケですね、成る程。
じゃUnityの「初心者でも作れる!!」ってのは...解ります。この難解さですもん
でもUnityはイラつくけど楽しいです。
デバッガ>>昔海外のエロゲを割ろうとして手を出しましたがまぁ〜あ土台無理でした!!
967: 2019/03/02(土)09:11 ID:9NeG1AvL(3/3) AAS
テストでいい点取りたいとかいい大学に入りたきゃ勝手に勉強しなさい
みたいなもんなかな? 結局眼前にぶら下がってる人参は自分のエゴだしね
俺もC++やってた時、なんだこれチンプンカンプンじゃねえかと思ってたんやが、
それはIDEは唯の便利なインテリセンス付きの便利なエディタだと思ってたからで
3割も使ってなかっただけ
デバッガでステップ実行すれば複雑なソースも理解出来るようになるし、
理解できなくても何がどう動くのかは分かる
デバッガ嘘つかないっつーか、エラーコード調べりゃ解決の糸口分かるし、
人間様よりよっぽど素直で賢い dllで隠蔽されてなければソース掘れるしな
ソースあるならリファレンスいらんのよアレ
968: 2019/03/02(土)11:44 ID:Q4yE18lI(1) AAS
5chに期待するよりもアセットを買えば解決すると思いました
969: 弟子 2019/03/02(土)20:49 ID:xH7Ujfez(1) AAS
だからおまいらは外スレいけっての
970: 2019/03/02(土)20:55 ID:3y9Vx5l3(1) AAS
【悲報】弟子全く付いていけず完全に蚊帳の外
971: 2019/03/03(日)15:15 ID:EpCuMYHi(1) AAS
アルファ付きのテクスチャを使用し、マテリアルのレンダリングモードをtransparentにすると
うっすら白いメッシュが見えてしまうのですが解決方法はありますか?
ちなみにテクスチャ側のalpha is transparentにはチェックを入れています。
また、まつ毛のテクスチャなんですが、レンダリングモードがcutoutだと先端の半透明部分的が消えてしまうのでtransparentが惜しいんですが…
972: 2019/03/03(日)22:16 ID:chv6cqUG(1) AAS
アセットを買えばいいかもね
973: 2019/03/04(月)09:09 ID:KIG6/Jh4(1) AAS
つまりデフォルトのシェーダーではそういう仕様ということでしょうか?
自分で作れば解決するのであれば調べてみます。
974(1): 2019/03/05(火)08:13 ID:N7ZC2ho/(1/3) AAS
オブジェクトの移動について調べると、このコードで
等速で座標(1, 0, 0)から(10, 10, 10)まで動かせるらしいのですが、
Vector3.MoveTowards(new Vector3(1, 0, 0), new Vector3(10, 10, 10), Time.deltaTime);
例えば移動時間が3秒の場合は
Time.deltaTimeのところにはどういう風に書けばいいのでしょうか?
よろしくお願いします
975: 2019/03/05(火)08:39 ID:Y8eG/nNB(1) AAS
大前提として1フレームをだいたい0.02秒と考えて、
3秒は150フレームだから、
移動元から移動先を直線にした距離(だいたい10ww)
それを150で割った値を指定すればだいたい3秒でゴールに到着するだろ
結論
ていうか距離が変わってもとにかくどこへでもトータル3秒で移動させるとかそういうためのものじゃない
一定の移動速度で動かしたいだけのものでしょそれ
976: 2019/03/05(火)08:55 ID:hkFmsqcI(1/2) AAS
その場合はleapかな。
977(1): 2019/03/05(火)09:10 ID:CxDtBk+6(1/2) AAS
>>974
var duration = 3.0f;
var a = new Vector3(1, 0, 0);
var b = new Vector3(10, 10, 10 );
var distance = (b - a).magnitude;
var speed = distance / duration;
var step = speed * Time.deltaTime;
Vector3.MoveTowards( a, b, step );
978: 2019/03/05(火)11:22 ID:lOCuMyFe(1/2) AAS
優しい
979(1): 2019/03/05(火)15:26 ID:N7ZC2ho/(2/3) AAS
>>977
ありがとうございます
var duration = 3.0f;
var a = new Vector3(1, 0, 0);
var b = new Vector3(10, 10, 10 );
var distance = (b - a).magnitude;
var speed = distance / duration;
var step = speed * Time.deltaTime;
Vector3.MoveTowards( a, b, step );
を書いて実行してみたのですが、動きませんでした
このまま書くだけではだめなのでしょうか?
また、秒数指定よりも速度指定の方が簡単なのであれば
速度はどのように書けばいいのでしょうか?
980: 2019/03/05(火)15:38 ID:hkFmsqcI(2/2) AAS
なぜ動かないと思った?
状況を説明せんかいw
上下前次1-新書関写板覧索設栞歴
あと 22 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.023s