本逆天下第一
2021-10-22 16:44
采纳率: 100%
浏览 28
已结题

【Unity 3D】关于旋转的一些问题

询问一下 就是关于旋转的这一回事,我将摄像机和玩家角色放置场景内,当我挂载到摄像机上脚本时,发现并不能按照我的要求旋转(即,在移动鼠标时,旋转轴向的三个轴都会移动,而不是指定的两个轴移动,设置摄像机刚体且不使用重力锁轴都无用),unity版本为2018.1.0f2,挂载到摄像机的脚本如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraRotota : MonoBehaviour {
    public float LMD;
    void Start () {
        Cursor.lockState = CursorLockMode.Locked;
        LMD = 150;
    }
    void Update () {
        float a = Input.GetAxis("Mouse X") * LMD * Time.deltaTime;
        float b = Input.GetAxis("Mouse Y") * LMD * Time.deltaTime;
        transform.localRotation(Vector3.up * a);
        transform.localRotation(Vector3.left * b);
    }
}

求各位大大解答

  • 好问题 提建议
  • 收藏

2条回答 默认 最新

  • John Doe297 2021-11-12 18:13
    已采纳

    镜头上下转围绕自身空间的z轴,左右转围绕世界空间的y轴,这样才应该符合你的需求的。

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 陈言必行 2021-10-23 09:46

    14,15行代码合并,修改为下面这种写法,试下

    transform.localRotation(-b, a, 0);
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题