摘要:本文原创,转载请注明出处:http://www.cnblogs.com/AdvancePikachu/p/6733620.html
需求:
类似NPC血条,当NPC处于摄像机视野内,血条绘制,且一直保持在NPC头顶。
开始:
网上查找资料,然后编写代码:
public RectTransform rectBloodPos; void Update () { this.gameObject.transform.Translate (Input.GetAxis ("Horizontal") * 10 * Time.deltaTime, 0, 0); this.gameObject.transform.Translate (0, 0, Input.GetAxis ("Vertical") * 10 * Time.deltaTime); Vector2 vec2 = Camera.main.WorldToScreenPoint (this.gameObject.transform.position); rectBloodPos.anchoredPosition = new Vector2 (vec2.x - Screen.width / 2 + 0, vec2.y - Screen.height / 2 + 60

本文介绍了如何在Unity中检测物体是否在相机视野范围内,并根据这一信息来决定UI元素(如NPC血条)的显示。通过检查物体上的Render组件以及使用Vector3.Dot()判断摄像机与物体的相对朝向,实现了性能友好的解决方案。
最低0.47元/天 解锁文章
2979

被折叠的 条评论
为什么被折叠?



