Unity AnimatorController 自动添加动画片段
程序员文章站
2022-05-04 19:55:24
...
Unity AnimatorController 自动添加工具
AnimatorController
一个动画控制器可以让你安排和维护一套动画片段和相关的动画转换
中的字符或对象。在大多数情况下,拥有多个动画并在某些游戏条件发生时在它们之间切换是正常的。例如,您可以从的漫游动画剪辑切换
每当按下空格键时,跳转动画剪辑。但是,即使您只有一个动画片段,您仍然需要将它放入动画控制器中以在游戏
上使用它。
动画控制器引用其中使用的动画片段,并使用状态机
管理各种动画片段和它们之间的过渡,它可以被视为动画剪辑和过渡的流程图,或者是在Unity中用可视化编程语言编写的简单程序。有关状态机的更多信息
动画控制器我们这边要用到的东西
AnimatorControllerLayer 动画层级
AnimatirStateMachine 动画状态机
首先创建Editor文件 创建打开的窗口
class SpineAnimatorControllReplace
[MenuItem("Tools/SpineAnimatorReplace")]
static void showWindow()
{
GetWindow(typeof(SpineAnimatorControllReplace));
}
选择要生成的动画文件,也就是在文件里面的Animation 文件。
void OnGUI()
{
Object m_SelectObj= Selection.activeObject ;//在Project的面板上选择对应的模型文件
if(GUILayout.Button("确认选择"))
{
string m_SelectPath= AssetDatabase.GetAssetPath(Selection.activeObject);//选择物体的路径
Object[] newClip = AssetDatabase.LoadAllAssetsAtPath(m_SelectPath);//获取路径下的所有资源,也就是动画片段
AnimatorController m_Controller=new AnimatorController();
AssetDatabase.GetAssetPath(m_Controller);
m_Controller
AssetDatabase.Refresh();
for(i=0 ; i<newClip .Lenght;i++)
{
if(newClip [i] is AnimationClip)
{
AnimationClip m_clip=newClip [i] as AnimationClip;
m_Controller.AddMotion(m_clip,0);
}
}
}
}
差不多就是这个意思。这个我也没有检测过 ,如果有文件也可以微调。
当然还有连线问题。个人觉得,连线除非是有固定的连线方法,不然的话基本是手动快
上一篇: Unity中Animator动态添加AnimationClip
下一篇: C语言数组移动的那些事
推荐阅读
-
Unity怎么给动画添加关键帧? Unity关键帧的六种添加方法
-
Unity 基础 之 新创建脚本的时候自动添加头部格式模板注释/开始处文件描述(文件头规范)
-
unity 利用UnityEditor.AssetModificationProcessor自动添加头部注释
-
C#脚本自动添加头部注释 Unity+VS
-
Unity - Curves 与Paramters联动使用 - 对动画文件(.fbx)的Animaion添加Curves的使用方式
-
强制去除Unity自动添加的Android隐私权限
-
Unity脚本自动添加头部注释的全过程
-
Unity AnimatorController 自动添加动画片段
-
unity 动态添加动画帧事件
-
Unity脚本自动添加头部注释的全过程