バージョン Unity2021.2.8f1
ビジュアルスクリプティングを使用して2Dプラットフォーマーを制作しています。
Unity、ゲーム制作ともに初心者です。
コーディング経験はなく、自作のスクリプトは使用していません。
症状
プレイヤーがコリジョンに侵入してもOn Triggerイベントが呼ばれません。
この症状はプレイヤーが別のコリジョンに侵入した際も同様です。
症状が発生するきっかけ
編集モード(ゲーム再生中でない)にて他のシーンを開く。
元のシーンに戻るとOn Triggerが機能しなくなる。
具体的なゲームの仕様
プレイヤーキャラクターはクリックした座標に移動する仕様です。
Move Positionでクリック地点の座標をゴールに設定し、Move Towardsで滑らかに移動するよう補間しています。
この移動処理はState Machine上で実装しています。
また、Triggerとなるオブジェクト側にOn Trigger Enterから始まる処理をScript Machineにて実装しています。
プレイヤーとステージは別のシーンとして分けており、ステージシーンからプレイヤーシーンを追加でロードします。
つまりプレイヤーオブジェクトとTriggerとなるオブジェクトは所属するシーンが異なります。
確認済みの事項
・プレイヤーオブジェクトにRigidbody2D、Collider 2Dを付けている。
・Rigidbody2Dの「シミュレーションする」にチェックが入っている。
・TriggerとなるオブジェクトにCollider2Dが付いており、Is Triggerにチェックが入っている。
・2D物理の衝突行列のチェックボックスが正しく設定されている。
・各コリジョンが付与されたオブジェクトのレイヤーが正しく設定されている。
試したこと
一時的な解決法として、Script MachineコンポーネントやState Machineコンポーネントを一度削除し、
再度コンポーネントをアタッチしなおすとOn Triggerイベントが復活します。
しかし、上記のように別のシーンを跨ぐとまたOn Triggerが機能しなくなります。
ビジュアルスクリプティングのアセット自体を削除→再インポートも試しましたが症状は改善されませんでした。
以上となりますが心当たりある方にご教授いただけますと幸いです。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。