zoukankan      html  css  js  c++  java
  • unity 获取Prefab节点下所有的 spine名 和 animtor state名

     1     public static void GetAllSkeletonName(Transform  rootTrans,ref List<string> nameList)
     2     {
     3         SetChildSkeletonName(rootTrans, ref nameList);
     4     }
     5 
     6     public static void SetChildSkeletonName(Transform trans, ref List<string> nameList)
     7     {
     8         if (trans.childCount == 0)
     9         {
    10             return;
    11         }
    12         foreach (Transform childTrans in trans)
    13         {
    14             SetChildSkeletonName(childTrans,ref nameList);
    15 
    16             SkeletonAnimation sA = childTrans.GetComponent<SkeletonAnimation>();
    17             if (sA)
    18             {
    19                 ExposedList<Spine.Animation> animations = sA.skeletonDataAsset.GetSkeletonData(false).Animations;
    20                 foreach (Spine.Animation anim in animations)
    21                 {
    22                     nameList.Add(anim.Name);
    23                 }
    24             }
    25 
    26         }
    27     }
    28 
    29     public static void GetAllAnimatorName(Transform rootTrans, ref List<string> nameList)
    30     {
    31         SetChildAnimatorName(rootTrans, ref nameList);
    32     }
    33 
    34     public static void SetChildAnimatorName(Transform trans, ref List<string> nameList)
    35     {
    36         if (trans.childCount == 0)
    37         {
    38             return;
    39         }
    40         foreach (Transform childTrans in trans)
    41         {
    42             SetChildAnimatorName(childTrans, ref nameList);
    43 
    44             Animator sA = childTrans.GetComponent<Animator>();
    45             if (sA)
    46             {
    47                 // AnimationClip[] clips = sA.runtimeAnimatorController.animationClips;
    48                 AnimatorController co = sA.runtimeAnimatorController as AnimatorController;
    49                 if (co == null)
    50                 {
    51                     return;
    52                 }
    53                 foreach (var ly in co.layers)
    54                 {
    55                     AnimatorStateMachine stateMachine = ly.stateMachine;
    56                     foreach (var st in stateMachine.states)
    57                     {
    58                         nameList.Add(st.state.name);
    59                     }
    60 
    61                 }
    62             }
    63 
    64         }
    65     }
    改变自己
  • 相关阅读:
    docker 介绍,安装,镜像操作, docker换源
    go语言5 接口, 并发与并行, go协程, 信道, 缓冲信道, 异常处理, python进程线程
    [编织消息框架]目录
    2017总结
    赚钱方法[信息红利]
    面单 全单 单板 批发吉他民谣 知乎 百度知道 百度贴吧 吉他批发
    看第三部杀破狼感想
    海豚极货店 淘宝店开张啦
    我上头条了
    尤克里里 ukulele 单板 非kaka tom uma
  • 原文地址:https://www.cnblogs.com/sun-shadow/p/15327675.html
Copyright © 2011-2022 走看看