質問: "Cube") { particle.Play(); //パーティクルの再生 } } } } ``` が、衝突しても再生されません。 どなたかご教授いただければ幸いです。
回答: 質問に記載されているコードを使ってみたところ、正常に動くのを確認しました。 そのため、コード側ではなくオブジェクト側の設定の間違いが疑われます。 以下の点を確認してみてください。 * 当てる側と当てられる側の**双方**にColliderコンポーネントがアタッチされていることの確認 **Collider**がついていなければ当然ヒットしません。 間違えて**2DCollider**コンポーネントがついていないかも確認してみてください。 3D用Colliderと2D用Collider同士では当たりません。 !イメージ説明 * 当てる側と当てられる側の**どちらか**にRigidbodyコンポーネントがアタッチされていることの確認 どちらかに**Rigidbody**コンポーネントがアタッチされていないと、`OnCollisionEnter()`などのヒット時の関数は呼び出されません。 両方についていても大丈夫です。 !イメージ説明 * IsTriggerプロパティはfalseになっているかの確認 今回呼出しを望まれているのは`OnCollisionEnter()`です。 IsTriggerプロパティがtrueの場合は`OnTriggerEnter()`の方が呼ばれてしまいます。 チェックボックスが外れているか確認してください。 !イメージ説明 * Colliderと同じGameObjectにスクリプトはアタッチされているかの確認 `OnCollisionEnter()`が呼ばれるには同じ**GameObject**に**Collider**がある必要があります。 !イメージ説明 お試しください。