一、使用场景
在一些环境下我们需要UI朝向摄像机,好比血条。
二、碰到的问题
起首想到的方法是:
- transform.forward = cam.transform.forward;
复制代码 但是当相机的X轴旋转凌驾90度时,UI的X轴和Y轴会发生反转。
三、办理方案
以是办理方案是使Camera的up方向为向上方向,代码为:
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class ArmAngleUI : MonoBehaviour
- {
- private Camera cam;
- private void OnEnable()
- {
- cam = Camera.main;
- }
- private void Update()
- {
- Vector3 adjustedForward = cam.transform.forward;
- Vector3 adjustedUp = cam.transform.up;
- // 创建一个旋转,使UI正面对准摄像机的forward方向,并保持摄像机的up方向作为"向上"
- transform.rotation = Quaternion.LookRotation(adjustedForward, adjustedUp);
- }
- }
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |