Unity3D中Blendshapes之间的过渡方式
来源:互联网 发布:易名域名 编辑:程序博客网 时间:2024/06/07 01:27
环境Unity3D 4.6.2f1 Win7 64bit
同事从Maya中用blendshape方式做了一个动画,一个球匀速向前移动一段距离。但导出fbx放进Unity3D后,感觉球是在一颤一颤地移动,而不是匀速移动。
效果是这样子:http://v.youku.com/v_show/id_XMTMyMjQyNTE2NA==.html
同事解释了下:
假设那个动画是24帧,每一帧中球的位置都已经确定好了。但假设Unity3D运行时是48帧,第1帧时取的是动画的第1帧,第2帧的时候,它取的是动画的第1帧呢,还是第2帧,还是第1帧和第2帧的平均,还是其它值,所以这个地方的相关设置如果没有顺利从Maya里导到Unity3D,就会出现问题。我这次就是Maya里的相关设置信息没有顺利地导到Unity3D。
相关源码在:http://vdisk.weibo.com/s/dSGcg5j06Dgy
或 http://download.csdn.net/detail/a117653909/9062143
在Unity3D中打开Animation窗口,选中Hierarchy中的test3,Animation窗口中会显示test3相关的blendshapes,点击Animation窗口中的curve,可以看到如下图:
Blendshapes的序列没有按顺序排,你按10,20,30……230,240这样一个个点过去,就可以看到值是在一直向右边在移的。
这个动画的帧率是24,可以看到上图是不同的曲线经过关键点,所以这里是用曲线来插值相邻关键点之间的值。如果要取两个关键点之间的值,就是取这此曲线上的值了。这就导致球是一颤一颤地移动。
解决办法是:
修改Blendshapes之间值的过渡方式。
由于这个Animation是Read Only,所以我们把Take001动画Duplicate一个出来,命名为aaa,将aaa拖给Hierarchy中的test3的Animation,然后在Animation窗口中左上角,切换为aaa,全选,在某个关键点上右键,选择Both Tangents,Constant。这样问题就解决了。
- Unity3D中Blendshapes之间的过渡方式
- Unity3d摄像机的平滑过渡
- Unity3D中物体的移动方式
- Unity3D中物体的移动方式
- Unity3D中销毁对象的方式
- Unity3D获取对象的5中方式
- Unity3D中删除组件的方式
- Fab 和 Dialog 之间的过渡效果
- Unity3D中js与C#之间相互调用的解决办法
- 关于Unity3d中物体之间碰撞检测的方法
- unity3d Panel之间的转换
- 使用pb制作图片之间的过渡效果
- 图片之间的过渡效果用fireworks怎么实现?
- VC中控件和变量之间数据传递的方式
- ios storyboard中 iphone 和iPad 之间的转换方式
- android中activity之间传递数据的3种方式
- ASP中页面之间传递值的几种方式
- android中String与InputStream之间的相互转换方式
- Hibernate关联之 一对多外键单向关联
- oldssoj2677
- G语言图形内核库
- mysql 定时任务
- 抽象的方法能否同时是static、native、synchronized
- Unity3D中Blendshapes之间的过渡方式
- 信号量(Semaphore) 例子
- C++ 图片自适应 picture control 控件大小 不失真显示
- Introduction to Java Programming编程题9.17<统计文件行、字符、单词数>
- NSLog技巧
- ACTIVEPERL在LINUX下的安装
- 【HAOI2008】【BZOJ1041】圆上的整点
- 0-1背包问题:C++
- intellij idea 打包war包