

Unityでビリヤードのようなゲームを作っていて、球（Sphere）がホール（Cylinder）に当たったら消えるようにしたいのですが、書いてみたスクリプトがエラーもせず何も反応しませんでした。改善個所をご指摘いただけるとありがたいです。

[code]

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class myscript : MonoBehaviour {
    
        // Use this for initialization
        void Start () {
    
        }
    
        // Update is called once per frame
        void Update () {
            GameObject sphere = GameObject.Find("Sphere");
            Rigidbody rigidbody = GetComponent<Rigidbody>();    
        }
    
        private void OnCollisionEnter(Collision collision){
            if (collision.gameObject.tag == "Player"){
                collision.gameObject.SetActive(false);
            }
        }
    }
    
[/code]

[![このような感じになっています](https://i.stack.imgur.com/65s1c.png)](https://i.stack.imgur.com/65s1c.png)


CC BY-SA 3.0
2018-04-15T13:01:25.027
43266
2018-08-23T06:00:38.957
2018-04-15T13:38:14.687
3060
28161
question
c# unity3d
Unityで衝突判定のスクリプトで物体を消したい


以下の仮定で話します。

球（Sphere）: Playerタグと`Rigidbody`コンポーネントが付いていて移動する。myscriptスクリプトが付いている  
ホール（Cylinder）: `Rigidbody`コンポーネントが付いておらず移動しない

`OnCollisionEnter`メソッドは、`Rigidbody`を持つオブジェクトが **衝突したオブジェクト**
を引数の`Collision`クラスとして返します。  
すなわち、球がホールに衝突した時は`collision`の値にホールが入ります。

下記のコードで1.を実行すると、ホールにPlayerタグが付いていればホールが消えます。  
myscriptをSphereに付けているならば、`this`でSphere自身を取得して消すことができます。  
下記コードの2.に書き換えて目的にそった動作になるかどうか確認してください。

[code]

    private void OnCollisionEnter(Collision collision)
    {
        //1. 動いているオブジェクトが「ぶつかった」オブジェクトのタグがPlayerの時、Playerが消える
        if (collision.gameObject.tag == "Player")
        {
            collision.gameObject.SetActive(false);
        }
        //2. 「動いている」オブジェクトのタグがPlayerの時、ぶつかったPlayer自身が消える
        if (this.gameObject.tag == "Player")
        {
            this.gameObject.SetActive(false);
        }
    }
    
[/code]

どちらかのオブジェクトの`Is
Trigger`にチェックが入っていると、`OnCollisionEnter`が発生せずに`OnTriggerEnter`が発生するようになります。  
上記コードで動かない場合は下記の内容についても確認してみてください。

[![確認事項](https://i.stack.imgur.com/tfT2q.png)](https://i.stack.imgur.com/tfT2q.png)


CC BY-SA 3.0
2018-04-21T02:40:27.173
43448
2018-04-21T02:40:27.173
2020-06-17T08:14:45.997
-1
9820
43266
answer