Unity之动画控制角色运动——Animation与Animator及Legacy

18 篇文章 0 订阅
1 篇文章 0 订阅

关键词:
1、Unity
2、3D模型
3、角色动画
4、Animation动画、Animator动画控制器及Legacy模式

背景:
前期:Unity Store下载模型(Fantasy Mushroom Mon,地址:https://assetstore.unity.com/packages/3d/characters/creatures/fantasy-mushroom-mon-115406)后,一番摸索后,理清和处理好模型的相关素材(仅留Animation动画、相关素材贴图、模型FBX文件、所需预设体)。
中期:修改模型和动画,以方便为自己所用的。在探索过程中,深入了解Animation动画与Animator动画控制器的一些用法和功能。

总问题:
1、动画运行不起来的提示
(1)The AnimationClip 'Idle' used by the Animation component 'MushroomMonster01' must be marked as Legacy.
2
(1)素材的预设体可以正常播放默认的Animation动画,改为角色通过Animator动画控制器播放后,但角色不动;
(2)Legacy AnimationClips are not allowed in Animator Controllers;

素材来源:(注:侵权请告知,即删)
使用素材
前期准备(相关素材文件):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
问题解决:

问题1:
The AnimationClip 'Idle' used by the Animation component 'MushroomMonster01' must be marked as Legacy.

使用模型,展示动画时,很多地方有时也会报出和Legac有关的提示,导致无法正常运行动画。
之前研究和处理原素材、预设体和FBX文件时,会有模型不动、不播动画的状态(以为原FBX模型自带动画,自己处理后的FBX不包含原动画,现在想想应该是没弄好,出错了。。。),有时会报 Legacy这个错误。

解决方法:
Project里选中对应的Animation 动画—>Inspector里点小锁图标旁边的三条线图标,改Nomal为Debug,即可查看和修改相关参数—>根据勾选或去掉Legacy选项(之前网上查说,可能有的版本是改Animation Type参数,比较少见这里就不叙述)——>Debug属性再改回Nomal即可正常使用(本人测试:属性不改回也没多少影响,改回看着更舒服些)

(PS:模型直接挂Animation动画后,要使模型正常动起来,得把Animation里的 Legacy勾选上)
在这里插入图片描述
在这里插入图片描述

问题2:
(1)素材的预设体可以正常播放默认的Animation动画,改为角色通过Animator动画控制器播放后,但角色不动;
(2)Legacy AnimationClips are not allowed in Animator Controllers;

前提:
原Store里下载的素材是默认使用Animation,而之前学习都是使用Animator,也没仔细区分学习。刚开始就挺懵的。

仔细对比下:
Animation就是一个个做好的动画,Animator呢,完整的是Animator Controller,意思是动画的控制器。
正常自己做动画后,会自动生成一个匹配的Animator,这个Animator里就挂好了Animation。后期可以在这个Animator里改设置参数,添加删减控制器里面的动画。

我这里是使用素材里的动画,没有原动画帧图片以及Animator,所以想使用Animator的话,需自己生成个空Animator controller,在把相关Animation拖到控制器里,如下图(为了区分Animation和Animator不同,复制原idle动画标2做测试)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
结果是:
问题2:
(1)挂Animation组件的模型可以正常动,挂Animator组件的模型不动。甚至运行时,Animator控制台里idle动画不播(这个Bug提醒我的,机智)。

网上找解决办法,半天反复检查试各种参数设置也没解决。
后来检查Animator控制台里idle2的参数,怀疑idle2的Motion控件丢失,没挂上,导致动画播不出来。(后期验证,事实上确实是这里出问题了)

在这里插入图片描述
在重新给Motion添加idle2动画时,一直挂不上去,提示:
问题2:
(2)
Legacy AnimationClips are not allowed in Animator Controllers;

(同问题1:Animation component 'MushroomMonster01' must be marked as Legacy,问题1这里直接使用Animation 挂模型上,要把Legacy勾上,才能使模型动起来)
在这里插入图片描述

解决方法:
1、把挂到Animator动画控制器的动画idle2的Legacy去掉。
(具体步骤参考前面问题1)
2、把idle2挂到Motion上

在这里插入图片描述

在这里插入图片描述

再次运行,无论挂Animation还是Animator的角色,都可以正常运动了。
(PS:效果动图麻烦,就不放了)

心得总结:
1、Animation就是一个个做好的动画,Animator呢,完整的是Animator Controller,意思是动画的控制器。
正常自己做动画后,会自动生成一个匹配的Animator,这个Animator里就挂好了Animation。后期可以在这个Animator里改设置参数,添加删减控制器里面的动画。
2、使角色模型有动画、运动起来,既可以直接挂Animation动画,也可以挂Animator动画控制器。
3、角色挂Animation动画,对应的Animation动画要勾上Legacy。
4、角色挂Animator动画控制器,控制器里对应的Animation动画要去掉Legacy.
5、改Animation动画的Legacy,先在其动画Inspector面板里,找小锁旁边的三条杠按钮,选属性为Debug,最后可以从Debug面板里找到Legacy选项。
6、Legacy用于早期动画设置,其不支持状态机Animator,无法对动画进行编辑,导入完后直接用Animation播放
7、后期网上了解了下,可以直接在FBX模型的Inspector面板里直接设置Legacy模式

在这里插入图片描述

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值