Unity Find

Posted chenzirong1999

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity Find相关的知识,希望对你有一定的参考价值。

Find 使用规则

  在 Unity 项目开发的时候,我们可以通过代码 Find 对象的名字从而获得指定的对象。Find 会遍历 Hierarchy 视图里面的游戏对象,在找到第一个符合的对象的时候就会终止遍历。而通过实践可以发现,这种遍历是从底部开始到上面,而不是从顶部遍历到下面,这个在运用的时候很关键。

The Demo

  创建5个 Cube,让它们的名字统一都为 Cube

技术图片

  创建一个新的脚本,添加以下代码,然后将它挂载到场景中的某个物体上。

 1 using System.Collections;
 2 using System.Collections.Generic;
 3 using UnityEngine;
 4 
 5 public class FindTarget : MonoBehaviour
 6 {
 7     void Start()
 8     {
 9         GameObject myCube = GameObject.Find("Cube");
10         myCube.GetComponent<Renderer>().material.color = Color.red;
11     }
12 }

  通过上面的代码,遍历可以获得场景中的第一个 Cube 对象,并且将它的颜色变成红色。

技术图片

  结果表明:遍历的顺序并不是想象的从上往下依次查找,而是从底部开始进行遍历。

  在使用这个方法的时候,应该注意 Find 的这个物体必须是 Active 的,也就是说在场景中处于激活的状态。如果不是激活的状态,会继续向上遍历,查找下一个符合的对象。

技术图片

  如果全部符合的对象都不是激活状态就会发生空指针的情况。

技术图片

以上是关于Unity Find的主要内容,如果未能解决你的问题,请参考以下文章

unity3D中GameObject.Find()Transform.Find查找隐藏对象分析

Unity报错:Read only asset Packages/com.xxxxx.xxx.xxxx/Editor/VSCodeDiscovery.cs.IPGSD has no meta(代码片段

Unity报错:Read only asset Packages/com.xxxxx.xxx.xxxx/Editor/VSCodeDiscovery.cs.IPGSD has no meta(代码片段

mvn命令异常:An error has occurred in Javadoc report generation: Unable to find javadoc command异常已解决(代码片段

mvn命令异常:An error has occurred in Javadoc report generation: Unable to find javadoc command异常已解决(代码片段

实用代码片段将json数据绑定到html元素 (转)