level 1
这家伙值得一战
楼主
游戏中的人物需要可以动态的加载替换动画,同时要保留数个基础动作,如Move,Die,Hit,Idle等。
需求如下:
1.在获得武器时,加载对应的武器技能动画。
2.人物技能动画要根据技能配置加载。
3.掉落物失去后可能增加技能。
针对这些需求,利用AnimatorOverrideController实现动画结构相同,又可单独定义每个角色的基本动画。
先设计好AnimatorController的结构,由于有很多是未知动画,需要在运行时加载进来,所以需要把未知动画的State预先设计好。

上面哪些Animation_X是给动画动画预留的。
在进入游戏后,加载了人物需要New AnimatorOverrideController,因为在这个时候,Unity3D采用的是引用方式使用这个AnimatorOverrideController,所以当你更改了其中一个动画文件时,所有引用该AnimatorOverrideController系统的地方都会受到影响。

这是替换的脚本
最后在做动画加载的时候,如动画名是Role01_Skill_1,那么按照这个名字播放动画肯定是不行的,所以需要在设置了一次名字的转换。
将Role01_Skill_1这样的动画名字映射到Animation_X中,在每次播放Role01_Skill_1时,播放Animation_X。
2021年02月04日 02点02分
1
需求如下:
1.在获得武器时,加载对应的武器技能动画。
2.人物技能动画要根据技能配置加载。
3.掉落物失去后可能增加技能。
针对这些需求,利用AnimatorOverrideController实现动画结构相同,又可单独定义每个角色的基本动画。
先设计好AnimatorController的结构,由于有很多是未知动画,需要在运行时加载进来,所以需要把未知动画的State预先设计好。

上面哪些Animation_X是给动画动画预留的。在进入游戏后,加载了人物需要New AnimatorOverrideController,因为在这个时候,Unity3D采用的是引用方式使用这个AnimatorOverrideController,所以当你更改了其中一个动画文件时,所有引用该AnimatorOverrideController系统的地方都会受到影响。

这是替换的脚本最后在做动画加载的时候,如动画名是Role01_Skill_1,那么按照这个名字播放动画肯定是不行的,所以需要在设置了一次名字的转换。
将Role01_Skill_1这样的动画名字映射到Animation_X中,在每次播放Role01_Skill_1时,播放Animation_X。