Unity3d Unityscript使对象缓慢移动

Unity3d Unityscript使对象缓慢移动,unity3d,unityscript,Unity3d,Unityscript,所以我不知道为什么这不起作用。我问过我的老师,但他一点帮助都没有。在我的游戏中,我有一个物体,当它被触发时,会导致墙垂直收缩。然而,无论我如何摆弄它,对象只是自动捕捉到另一个位置,与它刚才所在的位置无关。(我可以用不同的脚本重置对象,使对象恢复正常)。我为它添加了两个功能,因此它不会立即移动到新位置,而是会缓慢移动,但似乎根本不起作用 var door: GameObject; var torch: GameObject; var flame: GameObject; function OnM

所以我不知道为什么这不起作用。我问过我的老师,但他一点帮助都没有。在我的游戏中,我有一个物体,当它被触发时,会导致墙垂直收缩。然而,无论我如何摆弄它,对象只是自动捕捉到另一个位置,与它刚才所在的位置无关。(我可以用不同的脚本重置对象,使对象恢复正常)。我为它添加了两个功能,因此它不会立即移动到新位置,而是会缓慢移动,但似乎根本不起作用

var door: GameObject;
var torch: GameObject;
var flame: GameObject;

function OnMouseDown(){
for(var count: int = 0; count < 10; count++)
    {
    door.transform.position = Vector3(0,0.1,0);
    torch.transform.position = Vector3(0,0.1,0);
    flame.transform.position = Vector3(0,0.1,0);
    yield WaitForSeconds(1.0);
    }
// move door out of way
}
var门:游戏对象;
var火炬:游戏对象;
var flame:游戏对象;
函数OnMouseDown(){
对于(变量计数:int=0;计数<10;计数++)
{
door.transform.position=向量3(0,0.1,0);
torch.transform.position=Vector3(0,0.1,0);
flame.transform.position=Vector3(0,0.1,0);
收益率等待秒(1.0);
}
//把门移开
}

要缓慢移动对象,可以使用从当前位置插值到目标位置

Vector3.Lerp(Vector3 from, Vector3 to, float t);

transform.position = Vector3.Lerp(currentPosition, targetPosition, 0.1f);

我该如何准确地将值输入到脚本中?
 Vector3 dest=new Vector3(0,1,0); //set your destination position here , i set (0,1,0) set whatever
public float smooth=2.0;

function OnMouseDown(){
door.transform.position = Vector3.Lerp (door.transform.position, , Time.deltaTime * smooth);
torch.transform.position = Vector3.Lerp (torch.transform.position, , Time.deltaTime * smooth);
flame.transform.position = Vector3.Lerp (flame.transform.position, , Time.deltaTime * smooth);
}