Unity查找子物体的方式-怎么查找GameObject

71 篇文章 3 订阅

Unity动态查找物体


本文提供全流程,中文翻译。

Chinar 坚持将简单的生活方式,带给世人!

(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例)



Chinar —— 心分享、心创新!

助力快速熟悉 Unity 查找对象的具体函数

为新手节省宝贵的时间,避免采坑!


Chinar 教程效果:



全文高清图片,点击即可放大观看 (很多人竟然不知道)


1

GameObject —— 对象


在熟悉查找之前,我们要明白什么是 GameObject

Unity 中每一个存在的对象,即为一个 GameObject

包括空物体,同样是;并且无论激活,与否。

只要被实例化出来,就是一个真正的 GameObject ,并具备 gameObject 属性
举个栗子黑白88


2

Function —— 函数


通过场景里面的名子或者一个路径直接获取游戏对象。
GameObject obj= GameObject.Find(“GameObject”);

Transform.Find()
Transform.FindChind()
GameObject.FindGameObjectsWithTag(“tag”)
GameObject.FindWithTag(“tag”)
transform.GetChild(0)
举个栗子黑白88


支持

May Be —— 搞开发,总有一天要做的事!


拥有自己的服务器,无需再找攻略!

Chinar 提供一站式教程,闭眼式创建!

为新手节省宝贵时间,避免采坑!


先点击领取 —— 阿里全产品优惠券 (享受最低优惠)


1 —— 云服务器超全购买流程 (新手必备!)

2 —— 阿里ECS云服务器自定义配置 - 购买教程(新手必备!)

3—— Windows 服务器配置、运行、建站一条龙 !

4 —— Linux 服务器配置、运行、建站一条龙 !




<script type="math/tex" id="MathJax-Element-2"> </script>
技术交流群:806091680 ! Chinar 欢迎你的加入


END

本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究

对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com

对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 在 Unity 中,可以使用 `GameObject.Find` 方法来查找物体。例如: ``` GameObject childObject = GameObject.Find("ChildObjectName"); ``` 还可以使用 `Transform.Find` 方法来查找物体: ``` Transform childTransform = transform.Find("ChildObjectName"); GameObject childObject = childTransform.gameObject; ``` 你也可以使用 `Transform.GetChild` 方法来访问特定的物体,其中索引值表示物体的编号: ``` Transform childTransform = transform.GetChild(0); GameObject childObject = childTransform.gameObject; ``` 你还可以使用 `GameObject.FindGameObjectsWithTag` 方法来查找所有具有特定标签的物体。 ``` GameObject[] taggedObjects = GameObject.FindGameObjectsWithTag("TagName"); ``` 你还可以使用 `GameObject.FindGameObjectWithTag` 方法查找具有特定标签的第一个物体。 ``` GameObject taggedObject = GameObject.FindGameObjectWithTag("TagName"); ``` ### 回答2: Unity提供了多种方法来查找物体。 1. Transform.Find方法:可以通过以下方式在父物体查找物体: ```c# Transform child = parentTransform.Find("childName"); ``` 这将返回与指定名称匹配的第一个物体的Transform组件,如果没有找到对应的物体,则返回null。 2. Transform.GetChild方法:可以通过索引来获取物体的Transform组件。索引从0开始,表示第一个物体: ```c# Transform child = parentTransform.GetChild(index); ``` 这将返回对应索引的物体的Transform组件。如果指定索引超出了物体的范围,则会引发索引超出范围的异常。 3. Transform.GetComponentsInChildren方法:可以获取包括所有物体和孙物体在内的所有指定组件的列表: ```c# Component[] components = parentTransform.GetComponentsInChildren<ComponentType>(); ``` 这将返回包括父物体在内的所有对应组件的数组。 4. GameObject.Find方法:可以通过名称在场景中查找对象: ```c# GameObject child = GameObject.Find("childName"); ``` 这将返回与指定名称匹配的第一个GameObject对象。如果没有找到对应的对象,则返回null。 以上是Unity中常用的一些查找物体的方法,可以根据不同的需求选择和使用合适的方法。 ### 回答3: 在Unity中,要查找物体可以使用两个方法:Transform.Find()和Transform.FindChild()。 Transform.Find()方法可以通过传入一个字符串参数来查找指定名字的物体。这个方法会在当前物体的所有物体中进行递归查找,直到找到符合条件的物体为止。例如,如果有一个名为"Cube"的物体,可以使用如下代码进行查找: Transform cube = transform.Find("Cube"); Transform.FindChild()方法也可以用于查找物体,但在Unity 2017.1版本及之后的版本中已经被废弃。这个方法在Unity 5及之前的版本中是常用的,但现在建议使用Transform.Find()方法来代替。 如果要查找多个符合条件的物体,可以使用Transform.FindGameObjectsWithTag()方法。这个方法会返回一个符合指定标签的物体数组。例如,如果所有物体的标签都设置为"Enemy",可以使用如下代码进行查找GameObject[] enemies = GameObject.FindGameObjectsWithTag("Enemy"); 通过以上方法,我们可以在Unity中方便地查找物体,并对它们进行操作,比如修改位置、旋转、缩放等。这对于游戏开发中的场景搭建、角色控制、特效制作等都非常有用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值