0

用摇杆旋转角色后。旋转复位。角色的方向 使用操纵杆,当我将手转向我想要的方向然后将手从操纵杆中拉出时,我希望角色朝那个方向看。当我离开时,不要让他看同一个方向操纵杆。我该怎么做。谢谢。

public class MyJoystick : MonoBehaviour
{
    public Joystick joystick;
    public Joystick joystickRot;
    public float moveSpeed;
    Quaternion targetRotation;
    Rigidbody rigidbody;


    // Start is called before the first frame update
    void Start()
    {
        rigidbody = GetComponent<Rigidbody>();

    }

    // Update is called once per frame
    void Update()
    {
        // var rigidbody = GetComponent<Rigidbody>();


        rigidbody.velocity = new Vector3(joystick.Horizontal * moveSpeed, rigidbody.velocity.y, joystick.Vertical * moveSpeed);

        // this is problem
        // don't reset the rotate when joysticki is released.

        transform.eulerAngles = new Vector3(transform.eulerAngles.x, Mathf.Atan2(joystickRot.Horizontal
              , joystickRot.Vertical) * Mathf.Rad2Deg, transform.eulerAngles.z);
    }
}
4

1 回答 1

0

'joystickRot' 将在没有被推向任何其他方向时返回零,这就是重置旋转的原因,因此在将值应用于 GameObjects 变换旋转之前,您必须首先检查操纵杆是否正在实际使用中。

我对您使用的操纵杆系统并不太熟悉,但肯定会有一种方法来测试操纵杆是否正在使用,并且只在使用时施加力和旋转。

顺便说一句,您引用了两个操纵杆对象,但我相信您只需要一个。

于 2019-03-27T21:18:01.170 回答