Unity 鼠标拖动旋转物体,并且物体不会越转越乱

用Mathf.Abs(绝对值)计算鼠标水平和竖直方向谁的位移更大,减少因为一丢丢的其他方向移动导致的物体微幅旋转影响后面物体旋转会越来越混乱。这样可以让物体旋转更好的单个方向进行旋转。

代码如下:文章来源地址https://uudwc.com/A/z30B3

public float speed = 2f;

    void Update()
    {
        if (Input.GetMouseButton(0))
        {
            float OffsetX = Input.GetAxis("Mouse X");
            float OffsetY = Input.GetAxis("Mouse Y");
            if(Mathf.Abs( OffsetY)> Mathf.Abs(OffsetX))//对比水平和竖直方向谁的位移量更大,来决定旋转哪个方向,避免多个方向位移。
                transform.Rotate(new Vector3(-OffsetY, 0, 0) * speed, Space.World);
            else
                transform.Rotate(new Vector3(0, -OffsetX, 0) * speed, Space.World);
        }
    }

原文地址:https://blog.csdn.net/weixin_43826143/article/details/128163258

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年08月13日 08:33
Springboot04--vue前端部分+element-ui
下一篇 2023年08月13日 08:36