陈巧倩

Unity中文版-Create Gameplay GameObjects Tags(自翻译)

· 66 words · 1 minutes to read
Categories: Unity
Tags: Document

翻译Unity中文版的初衷是因为官方提供的中文版存在缺陷,而且翻译的不全。现在基于Unity2023.2版本对官方文档进行翻译。

标签 🔗

标签是您可以分配给一个或多个**GameObject(游戏对象)**的引用词。例如,您可以为玩家控制的角色定义“Player”标签,为非玩家控制的角色定义“Enemy”标签。您可以为玩家可以在场景中收集的物品定义一个“Collectable”标签。您可以使用任何您想要的单词作为标签。您甚至可以使用短语,但您可能需要扩大检视器以查看标签的完整名称。一个GameObject只能被分配一个标签。

标签可帮助您为脚本目的识别GameObject。它们确保您无需手动将GameObject添加到脚本的公开属性中,从而在将相同的脚本代码用于多个GameObject时节省时间。

标签对于需要确定玩家是否与敌人、道具或可收集物品等进行交互的触发器在Collider控制脚本中非常有用。

您可以使用GameObject.FindWithTag函数来查找包含您指定的标签的任何GameObject。以下示例使用GameObject.FindWithTag()。它在具有“Respawn”标签的GameObject位置上实例化respawnPrefab

using UnityEngine;
using System.Collections;

public class Example : MonoBehaviour {
    public GameObject respawnPrefab;
    public GameObject respawn;
    void Start() {
        if (respawn == null)
            respawn = GameObject.FindWithTag("Respawn");

        Instantiate(respawnPrefab, respawn.transform.position, respawn.transform.rotation) as GameObject;
    }
}

创建新的标签 🔗

检视器中,标签和层级的下拉菜单显示在GameObject的名称下方。

要创建一个新的标签,选择Add Tag…。这将在检视器中打开标签和层级管理器。一旦您为标签命名,就无法再次更改其名称。

层级与标签类似,但用于定义Unity如何渲染场景中的GameObject。有关更多信息,请参阅层级页面上的文档。

应用标签 🔗

检视器在GameObject名称的下方显示标签和层级的下拉菜单。要将现有标签应用于GameObject,请打开Tags下拉菜单,并选择要应用的标签。GameObject现在与此标签关联。

了解内置标签 🔗

编辑器包含以下内置标签,这些标签不在标签管理器中显示:

* __Untagged__
* __Respawn__
* __Finish__
* __EditorOnly__
* __MainCamera__
* __Player__
* __GameController__

编辑器内部缓存带有MainCamera标签的GameObject。当您访问Camera.main时,编辑器会从其缓存中返回第一个有效的结果。请参阅Camera.main以了解更多信息。

带有EditorOnly标签的GameObject在构建游戏时将被销毁。

结论 🔗

搬砖愉快!