团结:绳子摆动3d字符跳跃开始

问题描述 投票:0回答:1

我试图在统一中创造一个绳索摆动(像虚拟点一样的笔尖)机械师。但是在第一帧摆动时,我的角色突然跳得很远,然后才继续前进和下摆。

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;
c# swing unity3d
1个回答
0
投票

可能是因为Time.deltaTime在第一帧为0?因此,行jMotor.moveDirection *Time.deltaTime将返回0并且testPos将等于transform.position + 0

© www.soinside.com 2019 - 2024. All rights reserved.