[過去ログ]
【3Dゲームエンジン】Unity総合スレッド31 [無断転載禁止]©2ch.net (1002レス)
【3Dゲームエンジン】Unity総合スレッド31 [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/gamedev/1503838978/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
595: 名前は開発中のものです。 [sage] 2017/12/14(木) 16:33:17.08 ID:On7lkIBu >>591 元々Unityは初心者用ゲーム制作ツールじゃないよ >これじゃプログラマー用の補助ソフトじゃねえか まさにその指摘通りの代物だよ最初から http://mevius.5ch.net/test/read.cgi/gamedev/1503838978/595
597: 名前は開発中のものです。 [sage] 2017/12/14(木) 16:45:41.85 ID:On7lkIBu 話しをぶった切るが 色々細かい事気にせず作れるようになってて優秀な開発環境だなと思い 他の環境だと繊細に気を遣わないといけなような事も気にせず3ヶ月ガンガン進めて来ていたが ついにイベントサイクルの関係で、実行してくれない物が出てきたわ ?→?→?、という流れになるようにコード書いてるのに 実際は?→?→?、みたいになり期待した結果にならない感じ 具体的には 「親Object(AScript)→子Object(BScript)→孫Object(CScript)」という構成のプレハブを リソースからInstantiateしたと同時に、親Object(AScript)から孫Object(CScript)のpublic関数を呼び出し その関数内で孫に対する色々な初期化やってるんだが Visible類の初期化がうまくいかないわ おそらくコード上のInstantiateを実行した段階では、実際にまだフィールドにはPrefabが生成されていなくて 先に親Object(AScript)から孫Object(CScript)のpublic関数の処理が、生成されていないPrefabのvisible系に対し 実行されてるから変化しないんだと憶測している。 やっぱりこの手のタイミング部分はUnity信用しきってやらず 今まで通り気を遣ってプログラミングするべきだったのね・・・( ^ω^) 大きくやり方変えないといけなくなったチクショウ!・・・orz http://mevius.5ch.net/test/read.cgi/gamedev/1503838978/597
607: 名前は開発中のものです。 [sage] 2017/12/14(木) 18:28:35.77 ID:On7lkIBu 確かに金は全て解決してくれる魔法力 http://mevius.5ch.net/test/read.cgi/gamedev/1503838978/607
610: 名前は開発中のものです。 [sage] 2017/12/14(木) 18:50:27.75 ID:On7lkIBu 「金だけ」では当然ダメだよw 特に今は開発と同じくらい宣伝の方にも金まわさないとさ このゲームもTVCM出しまくってれば運命は変わってたかもよ http://mevius.5ch.net/test/read.cgi/gamedev/1503838978/610
612: 名前は開発中のものです。 [sage] 2017/12/14(木) 19:06:34.50 ID:On7lkIBu うみょー直った 初心に帰り単純な方法思いついて試したら直った 今回また1つ学べたわ Instantiate()で生成した物を、直後にGameObject.Find()で見つけ出そうする処理は気を付けた方がいい staticではないpublicなりグローバルなりに参照格納してそっちから扱った方がトラブルなくてよさげ http://mevius.5ch.net/test/read.cgi/gamedev/1503838978/612
615: 名前は開発中のものです。 [sage] 2017/12/14(木) 19:09:32.05 ID:On7lkIBu というような事がちらほらあるから 全くの初心者には無理でしょうというお話し 色々経験していないと原因追及と回避できるわけがない http://mevius.5ch.net/test/read.cgi/gamedev/1503838978/615
616: 名前は開発中のものです。 [sage] 2017/12/14(木) 19:13:48.60 ID:On7lkIBu >>614 そういう方向性も考えてはいたが今後トラブッた時にさらに複雑になりそうなので採用せんかった シンプルに直して先を急ぎたかった http://mevius.5ch.net/test/read.cgi/gamedev/1503838978/616
625: 名前は開発中のものです。 [sage] 2017/12/14(木) 23:45:13.38 ID:On7lkIBu >>618 原因わかった今ならすっきりだが検証中は原因究明に本当に苦戦したよ 簡単にまとめると次のような処理 void func(){ ? for(〜){ Destoryでステージ上の全落ちてるアイテムを一旦削除 } ? for(〜){ Instantiateで新しいアイテムをフィールドにばら撒く } ? for(〜){ 新しくばら撒いたアイテムの中にあるスクリプトをGameObject.Findで呼び出しながら アイテムを初期化していく } } この処理がうまく機能していなかった。 原因は ・?のDestoryはvoid func(){}が終了しないと実際にゲームオブジェクトは削除されていない。 ・?のInstantiateも?と同じくこの時点で完了していないようだった ・結果?での検索は?で生成されたものではなく?で削除予定だったものが参照されていた これで新しいアイテムは全部正しく初期化されてなかった。 ゲームオブジェクト名でアイテムを識別して GameObject.Findの検索に使ってるという不幸も重なってのバグ http://mevius.5ch.net/test/read.cgi/gamedev/1503838978/625
627: 名前は開発中のものです。 [sage] 2017/12/14(木) 23:49:50.26 ID:On7lkIBu 上の処理は ?→?→? の予定で動くはずなのに 実際には ?→?→? みたいに動くわけよ 次からは気を付けるぞーっと http://mevius.5ch.net/test/read.cgi/gamedev/1503838978/627
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.030s