ゲーム オブジェクトがトリガー ボリュームを通過した場合にその位置をリセットするスクリプトを作成しました。このスクリプトはほとんどの部分で機能するので、すばらしいことです。
ただし、問題のオブジェクトは、開始位置にリセットされた後も運動量を保持しています。
コメント行を追加しました。これにより、位置をリセットする前にオブジェクトから速度が削除されると考えました。そのような幸運はありません。
コメント行は、rigidbody コンポーネント (トリガー自体) を持たないオブジェクトの速度を制御しようとしているというエラーをスローします。
私は途方に暮れています。オブジェクト Ball の剛体に影響を与えるにはどうすればよいですか?
#pragma strict
var Ball : GameObject;
var getStartPosition;
function Start () {
yield WaitForSeconds (0.25);
Ball = GameObject.Find("Ball");
getStartPosition = Ball.GetComponent(startPosition).setStartPosition;
Debug.Log("getStartPosition is set to: "+getStartPosition);
}
function Update () {
}
function OnTriggerEnter (Ball : Collider) {
//Ball.rigidbody.AddForce(-rigidbody.velocity, ForceMode.VelocityChange);
Ball.transform.position = getStartPosition;
}