using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class UIFollow3DObj : MonoBehaviour
{[Header("跟随的物体")]public Transform targetTran;[Header("偏移值")]public Vector2 Offset;/// <summary>/// /// </summary>RectTransform canvasTran, uiTran;void Start(){uiTran = transform.GetComponent<RectTransform>();canvasTran = transform.GetComponentInParent<Canvas>().GetComponent<RectTransform>();}private void Update(){if (targetTran != null){if (isInFront()){Vector2 mScreenPos = Camera.main.WorldToScreenPoint(targetTran.transform.position);Vector2 mRectPos;RectTransformUtility.ScreenPointToLocalPointInRectangle(canvasTran, mScreenPos, null, out mRectPos);uiTran.anchoredPosition = mRectPos + Offset;uiTran.localScale = Vector3.one;}else{uiTran.localScale = Vector3.zero;}//Vector2 mScreenPos = Camera.main.WorldToScreenPoint(targetTran.transform.position);//if (RectTransformUtility.ScreenPointToLocalPointInRectangle(uiTran.root.transform as RectTransform,// Camera.main.WorldToScreenPoint(targetTran.position), uiTran.root.GetComponent<Canvas>().worldCamera, out mScreenPos))//{//    uiTran.anchoredPosition = mScreenPos + Offset;//    //血条超出屏幕就不显示  //    if (mScreenPos.x > Screen.width / 2 || mScreenPos.x < -Screen.width / 2 || mScreenPos.y > Screen.height / 2 || mScreenPos.y < -Screen.height / 2)//    {//        uiTran.gameObject.SetActive(false);//    }//    else//    {//        uiTran.gameObject.SetActive(true);//    }//}}}//判定在摄像头前面public bool isInFront(){     Vector3 dir = (targetTran.position - Camera.main.transform.position).normalized;float dot = Vector3.Dot(Camera.main.transform.forward, dir);if (dot > 0)return true;elsereturn false;}}

unity UI 跟随3D物体移动相关推荐

  1. 【常用】2DUI跟随3D物体移动(待修复)

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

  2. Unity UI跟随鼠标移动

    挂在需要跟随鼠标的UI上(Image,Text等) using System.Collections; using System.Collections.Generic; using UnityEng ...

  3. Unity 建立的3D物体 导成 Maya能识别的obj文件

    目录: Step1 建立核心脚本 Step2 找到导出按钮 Step3 选中层级视图中要导出3D物体,点击导出按钮,如"Wavefront OBJ"(略) 后记 Step1 建立核 ...

  4. Unity UI或3d场景(跟随手机陀螺仪)的晃动效果

    需求 当游戏显示3d场景及其UI的时候.玩家左右晃动手机的时候,UI界面会随之左右偏移.上下晃动的时候,3D场景会随之上下偏移.手机停止晃动的时候,如若偏移的UI或场景,停顿一会后自动恢复到初始默认位 ...

  5. Unity UI跟随物体

    图上是体力条跟随着主角,主角左移,体力条就跟着左移. 首先我们需要知道主角单位对于屏幕 PlayerScreen = Camera.main.WorldToScreenPoint(Player.tra ...

  6. Unity 2D及3D物体随鼠标转向的方法(类似孤胆枪手效果)

    首先明确效果,如孤胆枪手那样任务随鼠标方向转向的效果 要实现此效果我们首先要知道鼠标的位置 话不多说直接上代码 Vector3 point = Input.mousePosition;//注意,此时的 ...

  7. Unity UI或3d模型的动画控制(Animation类)

    文章目录 Animation动画控制类 一.动画设置: 二.模型的动作选择: 三.关键方法: 四:实践展示: 五.控制模型移动: Animation动画控制类 在Unity中,我们可以使用2D的Spi ...

  8. Unity如何限制3D物体的旋转角度

    在项目开发中用到了限制物体的旋转角度,因为做的事移动端的,所以下面的代码是触摸屏的,如果有需要你可以把操作方式改为PC的. if (1 == Input.touchCount){Touch touch ...

  9. Unity如何实现3D物体拆解组装

    一.前言 最近有一个需求,是做一个发动机的拆卸和安装功能,其实是一个很简单的功能,但是其中有一个点我觉的非常有意思,就是拖拽组装时,物体如何精准拖到目标位置,思路有了,但是我一直找不到实现方式,早晨刷 ...

最新文章

  1. 怎么下载并安装python_怎么下载官网python并安装
  2. mac下beyond compare配置图
  3. mybatis No enum const class org.apache.ibatis.type.JdbcType.Date 坑爹的配置
  4. Java中equals与==的区别(全面)
  5. 解决ubuntu进行远程连接时出现密码认证失败的问题
  6. JAVA版的IntHashMap的多个源码
  7. linux-vi命令
  8. unity旧动画系统之animationClip/animationEvent/animationCurve
  9. 学计算机的用hd620,HD620核显相当于什么独立显卡 HD620核心显卡性能评测
  10. java kaptcha,java验证码组件kaptcha使用方法
  11. 短网址还原 php,PHP将微博短地址还原为实际网址
  12. TEEOS的实例-在线支付系统
  13. nvme固态必须uefi启动吗_加装了M.2固态无法安装WIN7系统?
  14. 手机软件的测试主要有哪些方面的测试,性能测试用什么去测试好
  15. Android软件开发之获取通讯录联系人信息
  16. Java 之父:找Bug最浪费时间,现在不是开源的黄金时代!
  17. 无监督-主题模型(TM)/隐语义模型(LFM)(四):LDA(隐狄利克雷分布)【 数据(似然)(多项分布)+先验分布(狄雷分布)-> 后验分布(狄雷分布),后验分布作为下一轮的先验分布】【广泛使用】
  18. 【python学习】Python开心消消乐实现过程基础1
  19. QGIS教程-1:软件安装
  20. C4D渲染插件阿诺德材质预设 Arnold Shader Suite for C4D v3

热门文章

  1. Ubuntu安装之,硬盘分区
  2. 物联网组网技术比较 NB-IoT、LoRa、ZigBee、WiFi、蓝牙等
  3. IOS打开Micosoft文档
  4. 防火墙虚拟化技术详解(上)
  5. 802.1X与portal的无线认证
  6. docker 创建nacos-server standalone
  7. RabbitMQ宕机后,消息100%不会丢失吗
  8. 511遇见易语言文本替换和子文本替换
  9. 论文阅读——Multi-Task Learning Framework for Extracting Emoton Cause Span and Entailment in Conversations
  10. Java代码审计——WebGoat CSRF (上)