什么是标记 (Tag)?        

标记 (Tag) 是链接到一个或多个游戏对象 (GameObject) 的一个单词。例如,您可以对玩家控制的角色和非玩家角色分别定义?玩家 (Player)? 和?敌人 (Enemy)? 标记 (Tag);可以为玩家能在场景 (Scene) 中收集的物品定义?可收集的 (Collectable)? 标记 (Tag);依此类推。显然,标记 (Tag) 被用来识别游戏对象 (GameObject) 以便于脚本处理。我们可以用标记编写脚本代码,然后通过查找包含所需标记 (Tag) 的任意对象找到游戏对象 (GameObject)。这是通过使用GameObject.FindWithTag() 函数实现的。

例如:

//在带有“重生”(Respawn) 标记的游戏对象的位置 //实例化 respawnPrefabvar respawnPrefab : GameObject;var respawn = GameObject.FindWithTag ("Respawn");Instantiate (respawnPrefab, respawn.position, respawn.rotation);

这使我们不必通过拖放手动添加游戏对象 (GameObject) 到脚本?的公开属性。如果相同的脚本代码正被用于大量的游戏对象 (GameObject),这就是一个有用的节省时间的方法。另一个示例是触发碰撞体控制脚本,它需要算出玩家是在与敌人互动,还是在与一个随机道具或可收集的物品互动。标记使此类测试变得简单。

应用标记 (Tag)

检视器 (Inspector)会将标记 (Tag) 和层下拉菜单正好显示在游戏对象 (GameObject)? 的名称下面。要将标记 (Tag) 应用于游戏对象 (GameObject),只需打开标记 (Tag) 下拉菜单并选择需要的标记 (Tag):

现在游戏对象 (GameObject) 与此标记 (Tag) 相关联。

Creating new Tags

要创建一个新标记 (Tag),请单击下拉菜单结尾处的?添加新标记... (Add new tag...)? 选项。这将打开检视器 (Inspector) 中的标记管理器 (Tag Manager)。有关标记管理器 (Tag Manager) 的描述,请单击这里。

层与标记 (Tag) 类似,但层用于定义 Unity 应如何渲染场景 (Scene) 中的游戏对象 (GameObject)。有关更多信息,请参阅层页面。

提示

  • 一个游戏对象 (GameObject) 只能被分配一个标记 (Tag)。

  • Unity 包含一些不出现在标记管理器 (Tag Manager) 中的内置标记 (Tag):

    • “无标记”(Untagged)

    • “重生”(Respawn)

    • “完成”(Finish)

    • “仅编辑器”(EditorOnly)

    • “主相机”(MainCamera)

    • “玩家”(Player)

    • 和“游戏控制器”(GameController)。

  • 您可以用喜欢的任意单词作为标记 (Tag)。(您甚至可以使用短语,但您需要将检视器 (Inspector) 变宽来查看标记的全名。)

,