unity获取节点路径

Posted 程序员茶馆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity获取节点路径相关的知识,希望对你有一定的参考价值。

一.应用背景:

在Unity开发过程中,有些时候我们需要获取从根节点到指定节点的路径,这里针对节点Transform进行扩展,返回由指定分隔符分割的完整路径:

二.核心源码:

基本思想:循环寻找父节点,并记录当前节点,直到父节点为空时,即到达根节点。

using UnityEngine;
public static class TransformExtension

    public static string GetRoute(this Transform transform, string splitter = ".")
    
        var result = transform.name;
        var parent = transform.parent;
        while (parent != null)
        
            result = $"parent.namesplitterresult";
            parent = parent.parent;
        
        return result;
    

三.测试结果:

针对上述扩展方法进行测试,测试源码如下:

using UnityEngine;
using UnityEditor;
public class Test : MonoBehaviour

    [MenuItem("GameObject/GetRout",priority =0)]
    static void GetRout()
    
        var transform = Selection.activeTransform;
        var route = transform.GetRoute();
        Debug.Log(route);
    

结果如下图:

以上是关于unity获取节点路径的主要内容,如果未能解决你的问题,请参考以下文章

Unity 怎么获取场景中顶级节点的所有GameObject

unity发布web后,怎么获取StreamingAssets文件夹的路径

安装unity组件怎么改安装路径?

unity获取videoplayerurl路径下的视频时长

Unity常用路径

Unity---DOTween插件学习---获取数据协程路径动画