栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > 其他

Unity查找游戏对象

其他 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Unity查找游戏对象

GameObject.Find

Transform.Find

1.GameObject.Find

通过名字(递归)或路径查找物体对象,直到查找到第一个符合条件的GameObject或者返回null

GameObject.Find("GameObject");

GameObject.Find("GameObject/ChildGameObject");

优点:(1)解决查找中可能存在的重名问题

         (2)如果有完全路径,可以减少查找范围,减少查找时间

缺点:(1)不能查找隐藏对象,只能查找active == true的物体;

          (2)隐藏对象包括查找路径的任何一个父节点隐藏,即父节点被隐藏,那么子物体 (active == true)也不会被查找到

(3)递归查找,方便但是效率低

2.Transform.Find

可以查找隐藏对象

支持路径查找

查找隐藏对象的前提是Transform所在的根节点必须可见(即active == true)

GameObject root = GameObject.Find("root");

root.transform.Find("root/GameObject");

还有一些其他的查找方式:

GameObject.GetComponentsInChildren

以递归的方式在子物体上搜索组件,它包含GameObject的子物体以及后续的所有子物体的子物体

GameObject.GetComponentsInChildren<组件>();

实际开发: 
实际开发中会将功能预制体放到一个可见的GameObject目录下,将这个GameObject目录作为查找根节点,下面的所有对象(隐藏、非隐藏)都可以查找到。

参考来源:https://blog.csdn.net/gongfu_li/article/details/48317883

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/901262.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号