玛雅动画导入unity颠倒了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了玛雅动画导入unity颠倒了相关的知识,希望对你有一定的参考价值。

参考技术A 解决办法如下:
Maya调整好动画,从maya导出fbx,勾选动画,烘培调整帧数值,导入3DMAX,模型和骨骼组位置归零,展开所有骨骼,检查其大小是不是100,否则,把骨骼大小数值归为100。
导入unity,在模型属性动画Animations下的AnimCompression选择off,这是最直接的办法。
还有一种变形为模型绑定时设置的权重和Unity里的参数不一致。

Unity常用动画插件DOTween快速上手

DOTween是最常用的动画插件之一,比使用Unity自带脚本写动画,方便很多。

目录

导入和设置

DOTween在Unity的商城里,有免费版和收费版,一般使用免费版就足够了。收费版DOTween Pro看说明主要是多了一些辅助的编辑器。
DOTween商城地址:http://dotween.demigiant.com
DOTween首次使用需要设置,导入以后会弹出下面的窗口,点击按钮就好。

之后点击绿色的“Setup DOTween”按钮就能设置。下面的那个青色的按钮是生成一个ASMDEF文件,让写脚本的时候不必每次都去编码DOTween的内容,提高写完代码切换的速度。
这个窗口可以通过菜单Tools/Demigiant/DOTween Utility Panel再次打开,要访问官网查看文档通过这里都很方便。

点击了按钮就显示这个界面,默认全选就好,再选中Apply按钮就可以了。

使用说明

使用前需要添加引用

using DG.Tweening;

基本写法看上去是这样的:

DOTween.XX(各种参数).循环(参数).等待(参数).变化(参数).事件响应(响应函数)…;

unity属性.DO动作(各种参数).循环(参数).等待(参数).变化(参数).事件响应(响应函数)…;

通用方法

DOTween.开头的官方叫通用方法,其中最常用的就是DOTween.To(getter, setter, to, float duration)。绝大多数动画都可以用这个方法解决。前2个输入的是代理。无论是控制移动,旋转,颜色变化,文字变化都可以用这个方法。getter是初始值,setter是变化的值,to是目标,duration是变化时长。

DOTween.To(()=> myVector, x=> myVector = x, new Vector3(3,4,8), 1);
DOTween.To(()=> 0, x=> myFloat = x, 50, 5);

通用方法除了To,还有其他的,如下图。

便捷方法

便捷方法是 Unity的各种属性.DOXXX,简单说就是能少打几个字。例如让当前游戏对象移动到某个位置的DOMove。

transform.DOMove(Vector3.right * 3, 2);

不同属性后面可以DO出不同的动作,而且参数不同。一般常见的动画变化都有,推荐看一下官方文档有个大概印象,使用的时候,遇到对应属性的动画的时候,DO出来再靠代码提示来选择就好。

  • transform.DOPath可以设置一个路径,让游戏对象在路径上移动。之前免费的路径编辑器没有了,可以用LineRenderer的编辑来代替。
  • text.DOText可以让文本框里面的文字逐字显示,NPC对话内容常用到。但是,不支持Text Mesh Pro。所以推荐使用DOTween.To来代替。
  • 便捷方式似乎在Mac电脑上有点小问题。

添加设置

主要的语句完了以后,可以通过点,点出更多的设置跟在后面,如常见的循环。

transform.DOMove(Vector3.right * 8, 2).SetLoops(3, LoopType.Yoyo);

事件响应

对于动画的事件响应也是点出来跟在后面的。

transform.DOMove(Vector3.right * 8, 2).OnComplete(OnEnd);

序列和参数

序列是让一系列的动画顺序执行,参数的话是可以把具体的设置,例如循环,等待,变化啥的变成一个统一的参数,在不同的动画中统一调用。

控制

DOTween也提供了多种方法控制动画的播放,暂停等。

协程和异步

视频说明

Unity动画插件DOTween的使用

以上是关于玛雅动画导入unity颠倒了的主要内容,如果未能解决你的问题,请参考以下文章

unity中对导入的FBX动画进行重新编辑

Maya Mel 脚本动画不作为 FBX 进行动画处理

python 玛雅动画热键

maya动画导入unity怎么播放

Unity笔记一些动画系统状态机细节

3Dmax导入Unity中 动画名字如何更改 图中动画名字Take001Unity里不能改 max怎么改