Unity/3d/collider/接触
提供: 初心者エンジニアの簡易メモ
サンプル
床にボールが、触れたときに、色を変える
- 3d/Planeを作成
- 3d/Sphereを作成し、AddComponentで、rigidbodyを追加
- 以下Sphere.csをSphereオブジェクトに追加
Sphere.cs
public class Sphere : MonoBehaviour { // 重なり始めたとき void OnCollisionEnter(Collision collision) { } // 重なり中のとき void OnCollisionStay(Collision collision) { if (collision.gameObject.name == "Plane") { GetComponent<Renderer>().material.color = Color.green; } } // 重なりから抜けたとき void OnCollisionExit(Collision collision) { if (collision.gameObject.name == "Plane") { GetComponent<Renderer>().material.color = Color.black; } } }
参考:https://xr-hub.com/archives/5127
接触範囲を変更
- SphereColliderのradiusを0.5から、1とかに変更すると、2倍の範囲で接触判定される。
- もしくは、scaleを2とかに変えても、2倍の範囲で接触判定される。(こちらは、見た目も2倍)