問題タブ [gameobject]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
12768 参照

unity3d - MissingReferenceException: タイプ 'GameObject' のオブジェクトは破棄されましたが、まだアクセスしようとしています (エラー)

ivがいくつかのことを理解しようとしているという問題があり、その原因を特定できないようです! 小さなマップ上の数人の敵で構成される一人称シューティング ゲームを作成しました。2 つのシーン (メイン メニューとゲーム レベル) があります。プレイヤーが死ぬと、メイン メニューが表示され、そこから再びゲームをプレイすることを選択できます。これにより、レベルが再度リロードされます。初めてゲームを実行すると、問題なく実行されます。ただし、ゲームのプレイボタンをもう一度押すと、「MissingReferenceException: タイプ 'GameObject' のオブジェクトが破棄されましたが、まだアクセスしようとしています。以下のコードから、GameObject の 2 つのタイプしか確認できません。それが問題であるかどうかを確認するためにマズルフラッシュを削除しようとしましたが、違いはありません. これが問題の原因である可能性があることを読んだので、すべての静的ボックスのチェックを外しましたが、これで問題は解決しませんでした。以下のスクリプトは敵にアタッチされています。FPS に PlayerShot スクリプトがアタッチされています。誰か助けてください。

これはゲームオブジェクトを破壊する PlayerShot です。

BasicAI とともに敵に付属するスクリプトは、ゲームオブジェクトを破壊する SoldierShot Script です。以下はスクリプトです。

0 投票する
1 に答える
13173 参照

c# - ゲームオブジェクトにアタッチされたスクリプトのパブリック変数を変更することはできません。プレイ時に値が復元されます

これが私の最初の質問です。トピックに関するものを見つけることができませんでした。

GameObjectにアタッチされたスクリプト内のパブリックブールの数を変更するエディタースクリプトを作成したいと思います。

このスクリプトをGameObjectに添付しています。GameObjectはプレハブです:

そして、これが私のエディタスクリプトです:

スクリプトは正常に機能しており、ゲームオブジェクトのブールはエディターで正しく設定されています。しかし、PLAYボタンを押すと、2つのboolスイッチの値が、スクリプトが適用される前の値に戻ります。

プレハブの値は関係ありません。値は、エディタースクリプトを適用する前に値に復元されるだけです。

私は何か間違ったことをしていますか、それともバグですか?

エディタースクリプトを適用して、シーンを新しいシーンとして保存し、新しく作成されたシーンを開くと、値も間違っています。

ただし、GameObjectがプレハブでない場合は、すべてが完全に機能し、プレイモードを開始した後でも、値はエディタースクリプトによって指定された値を保持します。

したがって、問題はプレハブを使用する場合にのみ発生します。

0 投票する
2 に答える
2353 参照

unity3d - Application.LoadLevelを介してロードされたシーンのスクリプトが機能しない

インターネットからダウンロードしたさまざまなシーンをロードできるシンプルなUnityアプリケーションを作成しました。シーンにスクリプトが含まれていない場合に最適です。GameObjectに接続されたスクリプトがある場合、次のエラーで失敗します。

そのシーンが別のアプリケーションスクリプトとして開始された場合は問題なく機能しますが、そのシーンがBuildPipeline.BuildStreamedSceneAssetBundleを介して保存された場合、説明されたエラーが発生します。

簡単なコードでシーンをロードします。

メインスクリプトはDontDestroyOnLoadを呼び出すため、シーンに残ります。

Unity3D3.5.0および3.5.1を介してこのシナリオを確認しました

どこで間違えますか?

どうもありがとう。

0 投票する
1 に答える
1351 参照

unity3d - 親とのUnity3Dローカル位置関係

親を基準にしていくつかのgameObjectを配置しようとしています。localpositionを使用していますが、gameObjectsが適切に配置されていません。ローカル位置を使用する場合、親の幅は1と見なされますよね?したがって、私が飛行機を持っている場合、unity3dはそれを1X1の正方形と見なします。
いくつかのモデルをローカル位置(1、1)に配置しようとしましたが、それらは平面の右上隅に配置されていません...
皆さんは、何が問題になるのかについて考えていますか?

0 投票する
1 に答える
452 参照

unity3d - DirectionalLightコンポーネントが照らされていないGameObject

Unity3DとVuforiaを使用して拡張現実アプリケーションを実行しています。
拡張現実シーンのgameObjectごとに、Lightコンポーネントを追加し、DirectionalLightとして定義します。このシーンでは、gameObjectsは照らされていますが、別のシーンに変更すると(gameObjectsを破壊しないで)、照らされません。
すでに確認しましたが、まだライトコンポーネントがありますが、何らかの理由で照らされていません。
何が問題なのか、何か手がかりはありますか?

PS:2番目のシーンは、電話のカメラとの相互作用のない通常のシーンです。そして、カメラの投影は正書法です。

0 投票する
1 に答える
1517 参照

c# - たまに撮影するとエラーになる

MissingReferenceException: タイプ 'GameObject' のオブジェクトは破棄されましたが、まだアクセスしようとしています。スクリプトで null かどうかを確認するか、オブジェクトを破棄しないようにする必要があります。UnityEngine.Object.Internal_InstantiateSingle (UnityEngine.Object data, Vector3 pos, Quaternion rot) (C:/BuildAgent/work/d9c061b1c154f5ae/Runtime/ExportGenerated/Editor/UnityEngineObject.cs:44) UnityEngine.Object.Instantiate (UnityEngine.Object オリ​​ジナル) 、Vector3 位置、Quaternion 回転) (C:/BuildAgent/work/d9c061b1c154f5ae/Runtime/ExportGenerated/Editor/UnityEngineObject.cs:53 で) Gun.Update () (J:/WAR/Assets/Scripts/Gun.cs: で) 16)

それは私が得るエラーであり、ここに銃クラスの私のコードがあります

0 投票する
1 に答える
34622 参照

unity3d - ゲームオブジェクトにシェーダーを追加する

ゲームオブジェクトにシェーダーを追加するにはどうすればよいですか? ここでシェーダーを定義します。

(私は同じことをしようとしていますが、いくつかの問題があります): http://answers.unity3d.com/questions/175692/getpixelsetpixels-or-stencil-eraser-brush.html

2 つの texture2D はコードで定義され、Resource.Load を介して読み込まれ、ゲーム オブジェクトに割り当てられます。シェーダーをゲーム オブジェクトに適用し、2 つのテクスチャと通信するにはどうすればよいですか?

ご覧のとおり、シェーダーにこのコードがあります

メイン テクスチャとステンシル テクスチャをシェーダーに伝えるにはどうすればよいですか?

0 投票する
4 に答える
22628 参照

c# - gameObjectsをリストに入れる方法は?

私はgameObjectsを持っていて、それらをリストに入れる必要があります。

List<GameObject> unityGameObjects = new List<GameObject>();

0 投票する
2 に答える
4390 参照

unity3d - Unity 3Dでゲームオブジェクトを破壊する

unity3dで私は宣言しました

開始機能では、コードを使用しました

これは、「データの損失を避けるために、資産の破棄は許可されていません。本当に資産を削除したい場合は、DestroyImmediate (theObject, true); を使用してください」というエラーを示します。

どうすればこのゲームオブジェクトを破壊できますか?

前もって感謝します

0 投票する
2 に答える
1049 参照

c# - スクリプトで自分のゲームオブジェクトに子を設定しようとするとエラーが発生する

上記のコードは、ゲーム モードでゲームをテストすると期待どおりの結果を生成しますが、次のエラー メッセージが表示されます。

「プレハブにある変換の親の設定は、データの破損を防ぐために無効になっています。」

はい、spawnObject 変数にはプレハブが含まれていますが、新しい GameObject を作成すれば問題は解決するはずです。