プレイヤーキャラクターがトリガーまたは他のオブジェクトをコライダーで入力したかどうかを知る方法は?3Dゲームを作成していますが、シーンに水があります。私はそれにトリガーコライダーを取り付けました。プレイヤーキャラクターのコライダーが水のトリガーコライダーに入ると、スプラッシュサウンドが再生されます。キャラクターが水から出るときも同じことが起こります。これで、プレーヤーgameObjectの別のコライダーの子を追加しました。私が予想していたように、プレイヤーが水に入ると、2つの異なるコライダーがトリガーを押して、2つのサウンドを生成します。私がやりたいのは、トリガーをアクティブにしたコライダーが実際にプレーヤーであるかどうかを確認することです。したがって、以前と同じように、一度だけサウンドを再生できます。これは私がやろうとしたことです。インスペクターのプレイヤーキャラクターのゲームオブジェクト。これを行う簡単な方法があると確信しています。問題を解決できる解決策はまだ見つかりませんでした。1現在のソリューションはすでにかなり堅実です。トリガーのメソッドには、衝突のメソッドとは異なるシグネチャがあるという小さな間違いがあります。コリジョンでプロトタイピングを開始し、トリガーフラグをオンにするとメソッドシグネチャを変更するのを忘れたと思います。数年のゲーム開発経験の後でも、私にもよく起こります。それ以外の修正については、具体的に実装を大幅に改善できるとは思いません。それはすでにそれが行われるべき方法です。いうわけで、毎回ゼロからコードをコーディングする必要がない方法について少し洞察を提供します。システムをもう少し再利用可能にしましょう。コードの実行方法は次のとおりです。#endregion}そこで、オーディオを再生するトリガーが必要な場所にいつでもそのスクリプトをプラグインできるようになりました。トリガーイベント(ターゲットコライダーを設定しない)または特定の「ターゲット」コライダーによるイベントの開始と終了になります。使用して、オーディオだけでなく、任意のアクションまたはアクションセットのトリガーとして機能するようにさらにモジュール化できます。これは演習として残しておきます。player;オーディオをトリガーする「責任者」となるコライダーを指定できます。OnTriggerEnterは次のようになります。3これを実現する1つの方法は、タグを使用することです。次のように、プレーヤーのGameObjectにタグを割り当てます。リストをドロップダウンして「タグを追加」を選択し、独自のタグを追加するには、小さなプラスボタンをクリックして独自のタグを追加します。次に、衝突するオブジェクトに次のような「Player」タグがあるかどうかを確認できます。配列なしの複数のオブジェクトを示します。