unity 获取transform的所有子节点
如下,路径存储在dropDownList内
1 ValueDropdownList<string> dropDownList = new ValueDropdownList<string>(); 2 3 public ValueDropdownList<string> GetActorPaths() 4 { 5 if (actor == null) return null; 6 dropDownList.Clear(); 7 var actorTrans = actor.transform; 8 dropDownList.Add("root"); 9 GetAllChild(actorTrans, "root"); 10 return dropDownList; 11 } 12 13 public void GetAllChild(Transform rootTrans, string rootPath = "") 14 { 15 if (rootTrans.childCount == 0) return; 16 var count = rootTrans.childCount; 17 18 for (int i = 0; i < count; i++) 19 { 20 var nextPath = rootPath; 21 var trans = rootTrans.GetChild(i); 22 nextPath = rootPath + "/" + trans.name; 23 if (trans.GetComponent<BaseActor>()) 24 { 25 dropDownList.Add(nextPath); 26 } 27 28 GetAllChild(trans, nextPath); 29 } 30 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)