当前位置: 首页 > news >正文

Unity 使UI始终朝向摄像机

一、使用场景

在一些情况下我们需要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);
    }
}
http://www.dtcms.com/a/66574.html

相关文章:

  • Operator <=> (spaceship operator)
  • AI赋能办公效率的革命(以DeepSeek为例)
  • AI日报 - 2025年3月14日
  • C语言 第四章 数组(3)
  • 【微知】tmux如何在一个会话的1个窗口中水平分割或者垂直分割窗口?(垂直 Ctrl + b, %; 切换Ctrl + b, 方向键; ctrl d关闭)
  • 电子学会—2024年12月青少年软件编程(图形化)二级等级考试真题——魔法扫帚
  • 使用 PresentMon 获取屏幕帧率
  • 用于 RGB-D 显著目标检测的点感知交互和 CNN 诱导的细化网络
  • 21.dirsearch:Web 路径扫描工具
  • C语言高级进阶3
  • “Ubuntu禁止root用户通过SSH直接登录”问题的解决
  • 58.Harmonyos NEXT 图片预览组件架构设计与实现原理
  • hackme靶场攻略
  • CSV文件保存后内容缩在首格内
  • 基于Java 童装在线销售系统(源码+lw+部署文档+讲解),源码可白嫖!
  • conda创建Python虚拟环境的原理
  • 线性代数(1)用 excel 计算鸡兔同笼
  • d3_v7 基于 d3.arc()生成径向柱状图
  • CMake
  • 多线程与并发编程 面试专题
  • SQLAlchemy系列教程:批量插入数据
  • React Vue 项开发中组件封装原则及注意事项
  • 几个金融衍生产品:
  • 浙江大学第四讲:DeepSeek模型优势:算力、成本角度解读(含PPT及直播回放)(文末附链接下载)
  • 【时时三省】(C语言基础)输入输出的概念
  • 【原创】MCP服务介绍使用MCP实现类Manus Agent
  • SpaceSense Systems 借助桂花网解决方案实现工业设备预测性维护与状态监测升级
  • Docker基础命令说明
  • 算法刷题整理合集(一)
  • 人工智能-周志华ML版|系列习题参考答案与综合测试目录