下面是Unity3D 游戏开发使用 TextMesh 显示角色名字实现的教程
在 RPG 游戏中,显示角色名字必不可少,如果只显示名字,通常使用 TextMesh 来做,不过在使用的时候我们也需要注意一些事项。
最终效果如图:
先来搭建测试环境,如图:
给角色对象添加一个子空对象,取名:NameItem,这个空对象专门显示角色名字,如图:
然后给这个空对象添加 TextMesh 组件,并且调整好组件的相关属性,如图:
到这儿,运行游戏,但是效果并不是我们希望的那样,我们希望角色的名字能一直朝向玩家,而不是下面的那样,如图:
新建立一个 C# 类,取名:TextNameItem,编写代码如下:
using UnityEngine;
using System.Collections;
public class TextNameItem : MonoBehaviour
{
private TextMesh textName;
void Awake()
{
this.textName = this.GetComponentInParent<TextMesh> ();
}
void Update()
{
Vector3 cameraDirection = Camera.main.transform.forward;
cameraDirection.y = 0f;
this.textName.transform.rotation = Quaternion.LookRotation (cameraDirection);
}
}
然后把 TextNameItem 挂载到空对象上(NameItem),再运行游戏,现在就是我们期望的那样了,角色的名字一直朝向玩家。