ぶつかった相手の名前を取得できるしくみを作ってみましょう。
Cube(プレーヤー)を動かして、2つのオブジェクトにぶつけます。
触れた相手のオブジェクト名を取得して、コンソールに表示します。
ぶつかった相手の名前を取得する
Cube、Capsule、Sphereを作成して、配置します。
Cubeにリジッドボディを追加します。
重力を使用のチェックを外し、回転を固定にチェックを入れます。
CubeMove.csを作成し、Cubeに追加します。
CubeMove.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeMove : MonoBehaviour { private string objName; private float speed = 3.0f; void Update() { float moveX = Input.GetAxis("Horizontal") * Time.deltaTime * speed; float moveZ = Input.GetAxis("Vertical") * Time.deltaTime * speed; transform.position = new Vector3( transform.position.x + moveX, transform.position.y, transform.position.z + moveZ); } void OnCollisionEnter(Collision other) { objName = other.gameObject.name; Debug.Log(objName); } } |
プレイして、両方のオブジェクトにぶつけてみましょう。
当たった相手のオブジェクト名がコンソールに表示されています。