Unity查找物体下的所有物体


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

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

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


Chinar —— 心分享、心创新!

助力快速理解 Unity 中查找对象下的所有物体

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

  • 1

    • GetComponentsInChildren () —— 获取物体下的所有物体
  • 2
    • GameObject Active False —— 游戏对象关闭时
  • 3
    • Solve —— 解决办法
  • 支持
    • May Be —— 搞开发,总有一天要做的事!

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


1

GetComponentsInChildren <Transform>() —— 获取物体下的所有物体

此函数会返回一个 Transform 数组

遍历数组中元素即可拿到所有子物体、孙物体(所有物体)

1. 用于测试,在层次列表中创建如下结构

2. 将脚本挂载到一级物体上

using UnityEngine;/// <summary>
/// 查找物体
/// </summary>
public class ChinarFindObject : MonoBehaviour
{private void Start(){//遍历所有物体:GetComponentsInChildren<Transform>()返回一个 Transform[] 数组foreach (var t in GetComponentsInChildren<Transform>()){print(t.name);}}
}

3. 运行后结果:如果所示,会找到所有的物体,且包括自身


2

GameObject Active False —— 游戏对象关闭时

注意:

当游戏对象被关闭时,也就是在 Inspector 面板中被关掉时

就会找不到北关掉的物体,以及其下方的所有物体

例如,当我们关掉“二级”物体时


再次运行后结果:

可以看到,被关闭的物体,就不会被找到了


3

Solve —— 解决办法

注意:

其实这种情况,其实很常见

我们要获取到,目标物体下方的所有物体,包括被关闭掉的物体时要怎么办呢?

其实解决办法很简单,只需要加一个 True 到括号中即可

GetComponentsInChildren<Transform>(true)即可

using UnityEngine;/// <summary>
/// 查找物体
/// </summary>
public class ChinarFindObject : MonoBehaviour
{private void Start(){//遍历所有物体:GetComponentsInChildren<Transform>(true)返回一个 Transform[] 数组//括号中,加上true。会将被关闭掉的物体也返回到数组中foreach (var t in GetComponentsInChildren<Transform>(true)){print(t.name);}}
}

再次运行后结果:

可以看到,被关闭的物体,也会被找到,并返回到数组中

我们只需对需要的信息,进行操作即可


支持

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

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

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

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

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

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

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

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

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




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


END

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

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

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

Unity查找物体的子物体、孙物体相关推荐

  1. Unity 遍历子物体与孙物体

    遍历子物体方式 找到子物体,常用于将子物体赋值到List中,缺点明显,只能遍历当前物体的所有子物体,但不包含孙物体 foreach (Transform child in this.transform ...

  2. unity深度查找某个子物体和遍历所有子物体方法

    本文总结一下关于unity的查找子物体的方法 首先说明一下这里将讲三种查找子物体方法: 查找固定路径的某一个子物体的方法.通过名字深度查找某个子物体的方法.查找父物体下所有子物体的方法. 第一:查找固 ...

  3. 在Unity中获得一个物体的所有子物体包括孙物体。

    看API时想到了这个问题,如何获得一个物体的所有子物体,在Unity的API有这个函数 Component.GetComponentsInChildren 获取子物体组件列表. 首先是在Unity软件 ...

  4. 【Unity】遍历一个物体的子物体的三种方法

    using System.Collections; using System.Collections.Generic; using UnityEngine; public class SwitchBu ...

  5. unity查找物体方法

    一,Object.Find() 全局查找参数名称游戏物体: 不对禁用(隐藏)物体进行查找: 若有同名物体时根据层级关系进行查找. 使用建议: 有同名物体存在时,尽量不要使用Object.Find()进 ...

  6. unity 查找所以物体_【技术】不可思议之梦蝶制作人:如何使用Unity把游戏从PC移植到Switch...

    5月11日,由Unity主办的行业开发者大会Unite Shanghai 2019在上海国际会议中心召开,作为推出过<鲤>.<不可思议之梦蝶>的天津队友游戏的制作人,李喆就分享 ...

  7. Unity 基础 之 一个点(物体)绕另一个点(物体)旋转的简单封装

    Unity 基础 之 一个点(物体)绕另一个点(物体)旋转的简单封装 目录 Unity 基础 之 一个点(物体)绕另一个点(物体)旋转的简单封装 一.简单介绍 二.实现原理 三.注意事项 四.效果预览 ...

  8. 【Unity】获取当前物体下的所有子物体

    使用Transform.GetComponentsInChildren<>()的方法来获取指定物体下的所有子物体,并复制给数组,然后进行遍历 activePanel为指定物体,string ...

  9. Unity点击物体后,移动到物体所在位置

    Unity点击物体后,移动到物体所在位置 方法一:OnMouse检测(需要Collider组件) 脚本挂在被点击的物体上 using System.Collections.Generic; using ...

最新文章

  1. [JQuery] jQuery选择器ID、CLASS、标签获取对象值、属性、设置css样式
  2. springboot整合图像数据库Neo4j
  3. sparksql dataframe变成csv保存_Spark大数据分析(三):DataFrame和SQL
  4. PHP的empty isset is_null
  5. Ubuntu 16.04+.Net Core+Docker+Nginx安装部署
  6. Python绘制每个柱的颜色各不相同的三维柱状图
  7. linux下为.net core应用创建守护进程
  8. AlertDialog源码解析之一
  9. exawear能运行java_VirSCAN.org-多引擎在线病毒扫描网 v1.02,当前支持 47 款杀毒引擎...
  10. mysql安装和基本操作
  11. linux查看文件夹的命令是,linux查看文件夹大小命令是什么
  12. 《Android开发艺术探索》超详细笔记【转载】
  13. 编写程序输入年利率k(例如2.52%),存款总额total(例如100000元),计算一年后的本息并输出。
  14. 高精度加法(蓝桥杯)
  15. PLC、PAC、PC-Based、软PLC傻傻分不清
  16. 查看远程计算机ip地址吗,我的电脑跟别人远程过可不可以查对方IP地址
  17. 微信开发:微信公众号给粉丝推送通知消息(模板消息)
  18. python考试名词解释_程序设计(python)_章节测验,期末考试,慕课答案查询公众号...
  19. 如何清除Word文档中的格式
  20. 服务器运维技术-02 Linux基本使用

热门文章

  1. 《代码的第一行——Android》封面诞生
  2. 《游戏开发基础》课程论文丨基于Unity与Bolt的抗美援朝主题3D游戏设计
  3. PAT跟奥巴马一起编程
  4. 微信小程序+UDP+wifi8266+l293d扩展板+Arduino uno遥控小车
  5. 孟岩:什么是高级C++?
  6. 【双目视觉】 SGBM算法应用(Python版)
  7. 已解决:PhotoShop导出发生未知错误!!!
  8. PCIe 参考时钟架构 (Refclk Architecture)
  9. 国际知名服装品牌网站整理
  10. Conan软件包管理器的Qt 6.2.4软件包