技术标签: Unity常用函数方法 unity3d
本文总结一下关于unity的查找子物体的方法
首先说明一下这里将讲三种查找子物体方法:
查找固定路径的某一个子物体的方法、通过名字深度查找某个子物体的方法、查找父物体下所有子物体的方法。
第一:查找固定路径的某一个子物体的方法
对于已知的路径可以直接用go.transform.FindChild方法来查找。
例如:在这样一个层级路径下,我们要找到最后那个plane物体。
复制代码
1 using UnityEngine;
2 using System.Collections;
3
4 public class findchild : MonoBehaviour {
5
6 // Use this for initialization
7 void Start () {
8
9 }
10
11 // Update is called once per frame
12 void Update () {
13 if (Input.GetMouseButtonDown(1))
14 {
15 //查找物体方法
16 GameObject go = GameObject.Find("Cube");
17 //查找子物体,并且将得到的物体转换成gameobject
18 GameObject objname= go.transform.FindChild("Sphere/Cylinder/Plane").gameObject;
19
20 Debug.Log("得到最终子物体的名字是:"+ objname.name);
21 }
22 }
23 }
复制代码
然后是执行结果:Plane
==-------------------------------------------------------------------------------------------------------------
第二:通过名字深度查找某个子物体的方法
注意:要使用这个方法必须要满足两个条件:第一必须有你要查找的子物体的名字,第二必须要从一个父物体上开始查起
下面代码中,check代表从这个父物体开始查起,name为你要查找的目标子物体的名称。如return GetTransform(transform,“bone12”);
该方法核心代码:
复制代码
1 using UnityEngine;
2 using System.Collections;
3
4 public class findchild : MonoBehaviour {
5
6 // Use this for initialization
7 void Start () {
8
9 }
10
11 // Update is called once per frame
12 void Update () {
13 if (Input.GetMouseButtonDown(1))
14 {
15 // //查找物体方法
16 GameObject go = GameObject.Find("Cube");
17 // //查找子物体,并且将得到的物体转换成gameobject
18 //GameObject objname= go.transform.FindChild("Sphere/Cylinder/Plane").gameObject;
19
20 //Debug.Log("得到最终子物体的名字是:"+ objname.name);
21
22
23 GetTransform(go.transform, "Cylinder");
24
25 }
26 }
27
28 Transform GetTransform(Transform check, string name)
29 {
30 Transform forreturn = null;
31
32 foreach (Transform t in check.GetComponentsInChildren<Transform>())
33 {
34 if (t.name == name)
35 {
36 Debug.Log("得到最终子物体的名字是:" + t.name);
37 forreturn = t;
38 return t;
39
40 }
41
42 }
43 return forreturn;
44 }
45 }
复制代码
测试结果:Cylinder
第三:接下来我们将获取一个父物体下的所有子物体,然后销毁其下所有子物体
注意:所有子物体都是同级关系,在同一层里。如图:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class findchild : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (Input.GetMouseButtonDown(1))
{
// //查找物体方法
GameObject go = GameObject.Find("Cube");
List<Transform> lst = new List<Transform>();
foreach (Transform child in go.transform)
{
lst.Add(child);
Debug.Log(child.gameObject.name);
}
for (int i = 0; i < lst.Count; i++)
{
Debug.Log("销毁的物体是:"+ lst[i].gameObject);
Destroy(lst[i].gameObject);
}
}
}
}
测试结果,全被销毁了:
以上就是我总结的常用的三种查找子物体的方法。
转自https://www.cnblogs.com/macky/p/9335093.html
文章浏览阅读675次。选题背景:随着人们生活水平的提高和旅游需求的增加,旅游业蓬勃发展。然而,传统的旅游线路规划方式存在一些问题,如信息不全面、规划不科学等。因此,设计与实现一个智能旅游线路规划系统具有重要意义。该系统旨在利用人工智能技术,通过对用户的个性化需求和旅游资源的分析,自动生成最优的旅游线路规划方案,为旅游者提供便捷、高效的旅行体验。意义:智能旅游线路规划系统的设计与实现具有重要的意义。首先,该系统可以提供个性化的旅游线路规划服务。传统的旅游线路规划方式往往只能提供一些常规的旅游线路,无法满足旅游者个性化的_规划算法毕业设计
文章浏览阅读2.9k次,点赞4次,收藏5次。假设你已经有一个随机数生成器,能够以概率p生成0,概率1-p生成1,请问如何设计算法以概率q等概率地生成0-6这七个数字中的一个?即每个数字的概率均为q,q<1/7.我们先从简单的情况开始考虑,假设需要生成0和1,二者概率均为q。那么我们可以让已有的随机数生成器产生两个数字,那么产生的数字及概率是: Number Prob 00 p2p2p^2..._随机数生成器 面试题
文章浏览阅读5.7k次。什么是4K?4K是一个分辨率的范畴,即4096×2160的像素分辨率,一般用于专业设备居多,目前家庭用的设备,如4K电视、4K显示器、4K投影仪甚至是4K蓝光碟等分辨率则为3840x2160。2K分辨率则是2048x1080的像素分辨率,高清电视机、高清显示器、投影仪以及蓝光的分辨率基本上都是1920x1080的像素分辨率。高清 1080p 能够显示的有效像素为2,073,600(19..._x5200w 升级固件
文章浏览阅读2.1k次。一.新项目上传Gita.新建git仓库,复制git仓库地址,创建git仓库的时候最好别使用Readme,否则会很纠结b.点击小程序工具栏的版本管理,初始化git,双勾选直接确定c.配置git仓库地址及仓库认证名称自己取,地址为git仓库地址配置git仓库的账号密码d.拉取远程仓库e.上传代码到远程仓库,master为分支名,上传完毕二.拉Git上的小程序项目a.复制要..._gittoolbox关闭自动pull
文章浏览阅读2.5w次,点赞24次,收藏59次。之前一直对Go中的defer不太理解,所以我单独弄出来整理一下。在golang当中,defer代码块会在函数调用链表中增加一个函数调用。这个函数调用不是普通的函数调用,而是会在函数正常返回,也就是return之后添加一个函数调用。因此,defer通常用来释放函数内部变量。通过defer,我们可以在代码中优雅的关闭/清理代码中所使用的变量。defer作为golang清理变量的特性,有其独有且明确..._golang defer
文章浏览阅读275次。在处理大量数据时,MySQL的性能可能面临瓶颈。为了提升查询效率,本文将介绍三种优化SQL查询的方法:只读索引、IN方法和临时表分批查询。通过Java示例代码和讲解,帮助读者理解并应用这些优化技巧,提升MySQL查询性能。通过本文介绍的只读索引、IN方法和临时表分批查询这三种优化方法,你可以提升MySQL的查询性能。根据实际需求和场景,选择合适的优化方法,可以获得更好的查询体验。_分批查询mysql
文章浏览阅读1w次,点赞4次,收藏6次。这篇是何继红、张德禄一篇发表在《外语与外语教学》上的一篇论文,本文是其个人读后感和一些想法。1. 摘要这篇文章中,主要针对的是语篇结构和类型、层级性和分析模式的研究,着重对于语篇的结构类型进行了相关的探讨。我也主要是注重其语篇的结构方面进行相关的思考。2. 语篇、话语与篇章语篇(text)和话语(discourse)、篇章(discourse)之间有着一定的联系。在系统功能语言学中,语篇和话语没有什_篇章结构
文章浏览阅读1.1k次。IIC详解_stm32f103iic例程
文章浏览阅读1.5k次。将缺少的字体(如simhei.ttf、simsun.ttc)上传到jdk目录/usr/local/jdk8/jdk1.8.0_201/jre/lib/fonts和/usr/share/fonts 文件夹下_flowjo界面错乱
文章浏览阅读2.5k次,点赞3次,收藏7次。VUE+ElementUI使用日期选择器时间少8小时_表格导出来的时间与平台相差8小时
文章浏览阅读1.9w次,点赞4次,收藏31次。感谢前辈共享出来,不过时间有点长了,有些细节有些变动,修改了一下转载 : https://my.oschina.net/smzd/blog/5485381. 下载API主文件通过http://api.map.baidu.com/api?v=2.0获取API主文件的链接获取API主文件http://api.map.baidu.com/getscript?v=2.0&ak=&services=&t=_js百度地图离线2.0
文章浏览阅读1k次。杀死这个进程,在重新启动,关闭remmina在重新连接进来,就可以从ubuntu到windows之间进行复制和粘贴了。_remmina 复制粘贴文件