unity3d实现NPC显示名称

该博客介绍了如何使用Unity3D结合C#脚本来实现NPC的名称在游戏界面中显示,通过3D到2D坐标的转换,并依据NPC的高度进行GUI绘制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

            这篇脚本简单易懂,无非就是将NPC的3D坐标转换为2D坐标,根据NPC高度用GUI绘制名称。

<span style="font-size:14px;">using UnityEngine;
using System.Collections;

public class NameHun : MonoBehaviour {
	private GameObject player;//主角对象
	private Camera camera;//主摄像机对象
	private string name="小混混";//NPC名称
	private float npcHeight=0.8f;//NPC模型高度,可根据模型大小更改
	// Use this for initialization
	void Start () {
		//根据Tag得到主角对象
		player=GameObject.FindWithTag("Player");
		camera = Camera.main;
	}
	
	// Update is called once per frame
	void Update () {
		transform.LookAt (player.transform);//保持NPC一直面向主角
		transform.eulerAngles += new Vector3 (0, 180, 0);//如果NPC方向没问题,这句可忽略
	}
	void OnGUI()
	{    //得到NPC头顶在3D世界中的坐标
		//默认NPC坐标点在脚底下,所以这里加上npcHeight它模型的高度即可
		Vector3 worldPosition = new Vector3 (transform.position.x, transform.position.y + npcHeight, transform.position.z);
		//根据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值