我试图在统一中创造一个绳索摆动(像虚拟点一样的笔尖)机械师。但是在第一帧摆动时,我的角色突然跳得很远,然后才继续前进和下摆。
void InitSwing(){
lineLenght = (transform.position - virtualLinePoint).sqrMagnitude;}
public void SwingLocomotion()
{
Vector3 testPos = transform.position + jMotor.moveDirection *Time.deltaTime;
float newLenght = (testPos - virtualLinePoint).sqrMagnitude;
if (newLenght != lineLenght)
{
testPos = virtualLinePoint + (testPos - virtualLinePoint).normalized * lineLenght;
}
transform.position = testPos;
可能是因为Time.deltaTime在第一帧为0?因此,行jMotor.moveDirection *Time.deltaTime
将返回0并且testPos将等于transform.position + 0