下面是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),再运行游戏,现在就是我们期望的那样了,角色的名字一直朝向玩家。