[過去ログ] 【ゲームエンジン】Unityなんでも質問スレpart2 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
647: 2020/12/22(火)20:08 ID:AwehWVf3(1/6) AAS
void Update の中でシーン跨ぎ等のタイミングで一度だけ実行する初期化処理をしているんですが
数が増えてきたので初期化メソッドの中にまとめて放り込んで整理したところ
ゲーム自体の挙動は問題ないものの下記のエラーが出るようになりました
NullReferenceException: Object reference not set to an instance of an object

デバッグで確認したところ初期化メソッドを噛ませるとメインカメラのオブジェクトを取得して
メインカメラの座標をvector3に放り込む部分でvector3の値が1フレームだけ初期値(0,0,0)
になってしまうことが原因だと分かりました
省1
651: 2020/12/22(火)20:58 ID:AwehWVf3(2/6) AAS
レスありがとうございます
すみません。初心者でインスペクタで放り込む方法がわからないんですが
いま自分が書いてる処理は下記のとおりです

if (mainCam == null)
{
mainCam = GameObject.Find("Main Camera");
return;
省11
652: 2020/12/22(火)21:05 ID:AwehWVf3(3/6) AAS
一応上記の書き方の場合でシーンを跨ぐときには mainCam = null の処理を挟むようにしてます
653: 2020/12/22(火)21:06 ID:AwehWVf3(4/6) AAS
マネージャはDontDestroyOnLoadです
656: 2020/12/22(火)21:51 ID:AwehWVf3(5/6) AAS
前に実験して DontDestroyOnLoad だと void Start のなかを生成したタイミングの一度しか
通ってくれなかったんで void Update で初期化するようにしてたんですが
上記のやり方でも試してみたところやっぱり余分なフレームを挟んでしまうみたいです

あといろいろいじってみて分かったのがメソッド噛ませたときに1フレーム遅れるのは
シーン跨ぎのタイミングでは起こらずゲーム起動時のタイミングだけかもです

現状影響がないので様子見ながら進めることにします
回答いただいた方々ありがとうございました
657: 2020/12/22(火)22:15 ID:AwehWVf3(6/6) AAS
すいません。自己解決しました!
return; が悪さしてたみたいです!
皆さんお騒がせしました・・・
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.034s