プレハブがあり、Z 軸上を移動しています。トリガーであるコライダーに到達したときに破壊したいと考えています (はい、コライダーの Is Trigger ボックスをチェックしました)。
このコードは、 https ://docs.unity3d.com/ScriptReference/Collider.OnTriggerEnter.html にある Unity ドキュメントから直接作成しました 。
function OnTriggerEnter (other : Collider){
Debug.Log ("Hello");
Destroy(other.gameObject);
}
私のプレハブには次のスクリプトがあります:
#pragma strict
var speedFactor : float = 3.0;
var rayDistance : float = 1.0;
var rayOriginOffset : float = 0.63;
function Start () {}
function Update () {
var rotationRaycast = transform.TransformDirection (Vector3.forward);
if(Physics.Raycast(transform.position + (transform.right * rayOriginOffset)
,rotationRaycast,rayDistance) || Physics.Raycast(transform.position +
(transform.right * -rayOriginOffset) ,rotationRaycast,rayDistance) ||
Physics.Raycast(transform.position ,rotationRaycast,rayDistance)){
}
else {
transform.Translate((Vector3.forward)* Time.deltaTime * speedFactor );
}
}
私のコライダーはレイキャストを無視します(衝突またはトリガーはシーンビューで視覚的に発生します)。プレハブは私のコライダー/トリガーをバイパスし、無限に続きます。