Unity 查找

摘要:
游戏对象。Find(),Transform.Find查找游戏对象1.前提条件Unity通常用于查找不隐藏或隐藏的对象。各种方法的性能从高到低各不相同,使用它们的条件也各不相同。没有完美的搜索方法,只有最合适的方法。2.相关APIGameObject.FindTransform.FindGameObject.FindWithTagGameObject.FFindGameObjectsWithTagResources.FindObjectsOfTypeAll2.1GameObject.Ffind按名称或路径查找游戏对象。如果有路径,GameObject.Find将被定向找到;GameObject.Find;用例:privateGameObjectobj=GameObject.Find;用法规范:1.找不到隐藏对象隐藏对象包括搜索路径的任何父节点。2.如果搜索不在顶部,建议合理使用路径搜索。路径搜索是一把双刃剑。优点:1.解决搜索中可能出现的重复名称问题。
GameObject.Find()、Transform.Find查找游戏对象

1.前置条件

Unity中常用到查找对象,非隐藏的、隐藏的,各种方法性能有高有低,使用又有各种条件限制。

在此对查找的性能和条件进行分析。开发时遇到的主要问题是查找隐藏对象。

没有完美的查找方法,只有最合适的查找方法

2.相关API

GameObject.Find 
Transform.Find 
GameObject.FindWithTag 
GameObject.FindGameObjectsWithTag 
Resources.FindObjectsOfTypeAll

2.1 GameObject.Find

通过名字或路径查找游戏对象。

GameObject.find()文档说明没有路径的话是返回Scene中的对象。如果有路径的话就是定向查找了

GameObject.Find("GameObject");
GameObject.Find("GameObject/ChildGameObject);

用例: private GameObject obj = GameObject.Find("Plane");

使用规范: 
1.无法查找隐藏对象 
隐藏对象包括查找路径的任何一个父节点隐藏(active=false)

2.如果查找不在最上层,建议合理使用路径查找,路径查找是把双刃剑

优点1:解决查找中可能出现的重名问题。 
优点2:如果有完全的路径,减少查找范围,减少查找时间。

缺点: 路径或结构调整后,容易影响到程序中的查找,需要重新定位查找路径。

3.如果路径查找中的任何一个父节点active=false,这个对象都将查找不到。

4.使用方便但效率低下 
此查找相当于递归遍历查找,虽使用方便但效率堪忧,建议在Start()函数中查找对象并保存引用,切忌在Update()中动态查找。

免责声明:文章转载自《Unity 查找》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【百度地图API】如何获取行政区域的边界? (转载)Java异常错误重试方案研究(转)(spring-retry/guava-retryer)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

H5开发:横屏适配

强制水平显示在水平H5水平屏幕页面中,可以采取简单的措施来应对。当页面内容以垂直方向显示时,开发者会提示用户保持水平屏幕体验。下面介绍如何从DOM和画布进行水平屏幕调整。DOM的水平屏幕适配的解决方案是在移动端。常见的移动端适配方案是REM方案。为了减少JS和CSS之间的耦合,采用了VW+REM方法。为水平屏幕自适应选择合适的缩放模式的关键是缩放,并通过缩放...

网页分页数据的三种抓取方式

目前,只有两种方法可以捕获其他网站的数据:我一开始尝试用第三方工具捕获所需的数据。现在我将介绍以三种形式捕获分页数据的方法。此方法通过循环生成数据分页的URL地址,例如:}上面的代码可以返回相应页面的html内容字符串,其分页控件通过post模式将分页信息提交给后台代码。当您将鼠标移到每个页码上时,状态栏将显示javascript:...

20、EVE-NG华丽登场Openstack镜像,体验私有云!

EVE-NG华丽登场Openstack镜像,体验私有云!为了推动Cloud技术在国内更快速的发展,本人决定为EVE-NG定制一个Openstack私有云系统的镜像,来提升工程师个人的技术实力,横向拓宽技术知识面,以应对IT技术高速迭代,快速发展的现状。当然,您可以将Openstack设备连接到其他拓补中,但设备所在的网络必须是10.0.0.0/24,并且网关...

vant上传文件到后端

Html代码<Ts代码文件列表=[]/image/[a-zA-z]+/。test(file.file.type)){this.$toast(“请上传图片”);returnfalse;config).then(res=>})。捕获(()=>拒绝)=>ts=“+newDate().getTime()).然后...

Uni-app v-on监听事件

使用标记上的v-on监视事件。缩写为@click common click events方法:方法:{Focus(){console.log;},blur(){console.log;},confirm(){console.log;},click(){console.log;},tap(){console.log;},longpress(){console....

layui table 打印表格

例如,layui的表单打印方法是将表单的数据重新组合成新页面,但它只能打印当前页面的内容。仅仅说实话是不够的。我整个上午都找到了一些,并说他们自己换了,但他们并不满意。这没用。我只能打印当前页面的内容。我的想法是编写一个函数,传递显示的列和要打印的数据,然后直接打印。不要胡说八道。直接转到代码。...