建筑网站翻译编辑,企业信用信息年度报告公示,杭州市建设网站,网站必须做电子认证吗UI跟随3D人物 UI跟随3D人物人物血条或者对话框一、方法一将人物坐标转换为2D的UI坐标二、方法二将画Canvas的Render Mode改为World Space方式 UI跟随3D人物
人物血条或者对话框
一、方法一将人物坐标转换为2D的UI坐标
UI_Follow脚本挂载到需要跟随的3D人物上 offset为偏移量… UI跟随3D人物 UI跟随3D人物人物血条或者对话框一、方法一将人物坐标转换为2D的UI坐标二、方法二将画Canvas的Render Mode改为World Space方式 UI跟随3D人物
人物血条或者对话框
一、方法一将人物坐标转换为2D的UI坐标
UI_Follow脚本挂载到需要跟随的3D人物上 offset为偏移量 rectTransform为需要跟随的UI
UI普通创建无需调整Canvas的Render Mode模式无需将UI放到3D人物下面
public class UI_Follow : MonoBehaviour {/// summary/// 偏移量/// /summarypublic Vector2 offset;/// summary/// 人物头顶标识/// /summarypublic RectTransform rectTransform;void Update(){FollowPlayer();}/// summary/// UI跟随人物/// /summaryvoid FollowPlayer(){if (rectTransform null) return;Vector2 screenPos Camera.main.WorldToScreenPoint(transform.position);rectTransform.position screenPos new Vector2(offset.x, offset.y);if (screenPos.x Screen.width || screenPos.x 0 || screenPos.y Screen.height || screenPos.y 0) rectTransform.gameObject.SetActive(false);else rectTransform.gameObject.SetActive(true);}
}二、方法二将画Canvas的Render Mode改为World Space方式
将UI创建在3D人物下方
创建一个脚本在这个UI或者当前Canvas上Update中写入LookA函数
// Update is called once per framevoid Update () {transform.LookAt(Camera.main.transform);}