我编写了一个脚本来重置游戏对象通过触发器卷时的位置。这个脚本大部分都有效,所以非常棒。
然而,有问题的物体在重置到起始位置后仍保留其动力。
我添加了注释行,我认为在重置位置之前会从对象中移除任何速度。没有这样的运气。
注释行抛出一个错误,我试图控制没有刚体组件的对象的速度(触发器本身)。
我很茫然。我如何影响对象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;
}
答案 0 :(得分:0)
似乎RigidBody
组件属于球。
使用-rigidbody.velocity
,您正尝试访问触发器的速度。
请改为Ball.rigidbody.velocity
。
顺便说一下,我认为你可以简单地将velocity
的{{1}}和angularVelocity
设置为零,而不是向其施加力。