unity/U3D 模型旋转

使用版本:2021.3.19f1c1

新建项目打卡导入fbx模型,文件夹空白地方,右键,[Create]---[C# Scrcpt]

外层定义:

private float angles;

在Update()事件中写入代码:

//三选一,都是自动旋转
transform.rotation = Quaternion.Euler(0, angles++, 0);//自动横向旋转
transform.Rotate(new Vector3(0,1,0),0.5f,Space.World);//三个参数,(旋转围绕的轴[X轴:1,0,1][Y轴:0.1.0][Z轴:0,0,1],每帧旋转的角度,参考坐标系) 自动旋转
transform.Rotate(new Vector3(0, 1, 0));//自动旋转

 //这个属性与rotate的区别是这个是相对于父物体的旋转,而rotation是相对于世界的绝对旋转,没有父物体时俩者没有区别 

20240328更新:

public float sensitvity = 8.0f;//鼠标滑动灵敏度
    public Vector3 newPivotPosition;

    bool isDown = false;

    void Start()
    {
        Transform modelTransform = GetComponent<Transform>();
        //modelTransform.pivot = modelTransform;
        //modelTransform.transform.

    }

    void Update()
    {
        if (Input.GetMouseButtonDown(0))//鼠标左键按下
        {
            isDown = true;
        }

        if (Input.GetMouseButtonUp(0))//鼠标左键抬起
        {
            isDown = false;
        }
        if (isDown)
        {
            float mouseX = Input.GetAxis("Mouse X");
            float mouseY = Input.GetAxis("Mouse Y");
            transform.Rotate(Vector3.up * -mouseX * sensitvity, Space.World);
            transform.Rotate(Vector3.right * mouseY * sensitvity, Space.World);
        }
    }

链接:

 Unity 如何模型本身不旋转实现Camera旋转,推进查看模型

鼠标按住后拖拽旋转模型功能实现

Unity中旋转的7种方法


相关推荐

网友评论(0)