人气 131

[游戏程序] 【原创】霸王龙移动相关动画控制脚本,使用动画层放3dsMAX中预先编排好的骨骼动画 ... [复制链接]

九艺网 2017-3-4 00:55:31

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x


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



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|小黑屋|九艺游戏动画论坛 ( 津ICP备2022000452号-1 )

GMT+8, 2024-5-12 20:52 , Processed in 0.067271 second(s), 26 queries .

Powered by Discuz! X3.4  © 2001-2017 Discuz Team.