✐37.0℃ʕ̯•͡˔•̯᷅ʔ ᐝ 2021-11-18 09:10 采纳率: 80%
浏览 435
已结题

unity实现物体总是朝向摄像机的效果之后,能不能限制物体只在一个轴旋转

using UnityEngine;

public class Camera1 : MonoBehaviour
{

Transform m_Camera;

Vector3 c;
void Start()
{
    // 获取场景里的main camera
    m_Camera = Camera.main.transform;
}

// 用LateUpdate, 在每一帧的最后调整Canvas朝向
void LateUpdate()
{
    if (m_Camera == null)
    {
        return;
    }
    // 这里我的角色朝向和UI朝向是相反的,如果直接用LookAt()还需要把每个UI元素旋转过来。
    // 为了简单,用了下面这个方法。它实际上是一个反向旋转,可以简单理解为“负负得正”吧
    transform.rotation = Quaternion.LookRotation(transform.position - m_Camera.position);
}

}

这个是在网上找到的物体朝向摄像机的代码,我想请问一下各位这个要怎么该能使它只在Y轴旋转(现在是三个轴都旋转来面向摄像机)

  • 写回答

1条回答 默认 最新

  • 「已注销」 2021-11-18 10:05
    关注

    我又来了o.o
    第19行代码里面,LookRotation传入的参数是一个Vector3,可以在前面创建一个Vector3变量自己设置里面的x,y,z的值,只控制你想要旋转的轴(大概思路是这样)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月27日
  • 已采纳回答 11月19日
  • 创建了问题 11月18日