xukejing 发表于 2011-5-24 00:09:04

【原创】霸王龙移动相关动画控制脚本,使用动画层放3dsMAX中预先编排好的骨骼动画

本帖最后由 xukejing 于 2011-5-24 00:24 编辑

定义animation["idle"].layer的权重来做动画叠加,比如你有两个动画,一个是霸王龙张嘴,一个是霸王龙摇尾巴,你可以把这两个动作以动画层的形式来叠加,一边张嘴,一边摇尾巴。如果摇尾巴的动画是尾巴向左摇而张嘴时候尾巴是向右,你不希望1+(-1)=0的效果,则可以使用权重来控制,比如说向左摇占0.8,向右摇占0.2。
下面是一段代码,用于处理霸王龙的站立,行走,奔跑和转向各动画层的平滑衔接。在代码中,我把移动动画的层都设为了“1”,实际使用时你可能要把它们设为“-1”,因为在某些引擎上面,动画层权重的数值用的是补码计算,负数在内存中的存取二进制第一位是1,实际上负数越小,他的值越大。
同样的,这段代码只是按条件做动作。游戏和实际世界不一样,实际世界是先有奔跑的动作,后有你的速度改变,而在游戏里面,动作渲染和物理模型是分开的。先由物理模型计算得到速度,然后再根据这个速度去使用相应的动作去适合他
我声明了一个变量minimumRunSpeed = 1.0,当移动速度超过这个值以后开始切换到奔跑动画层。当检测到有左转或右转角速度时,打开左转或者右转动画层。代码在附件中给出。


TopoGun123 发表于 2011-5-24 09:22:33

帮你顶下,:)

colortiger 发表于 2011-11-29 14:23:36

謝謝 正需要啊

ylumei 发表于 2012-4-15 20:15:15

太好了!谢谢分享!

ddfpks 发表于 2012-4-26 02:09:09

很不错的脚本啊 多谢楼主分享了
页: [1]
查看完整版本: 【原创】霸王龙移动相关动画控制脚本,使用动画层放3dsMAX中预先编排好的骨骼动画