unity官方demo学习之Stealth(十九)敌人动画控制
2015-10-05 11:02
531 查看
1,守卫的动画是由Nav Mesh Agent组件的sulv控制的,这是unity内置的AI功能
2,手部开枪动作,Inverse Kinematics IK逆向运动学:反应的是一种由手部带动肩部的运动(自由端起始,回退到固定端)
3,敌人动画控制制作,包里有已经做好的,如果不想做可以跳过这以下几段创建敌人动作控制器EnemyAnimator,创建4个float参数,一个bool参数,如图019
![](http://img.blog.csdn.net/20151005105053667?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
4,create state ->from new blend tree,命名为Locomotion,Blend Type选择2D freeform cartesian,这个方便设置speed和AngularSpeed
Parameters栏里设置轴的方向,x轴:Angularspeed;y轴:speed。在地图表现为,左方向左转,右方向右转,上方向跑步,下方向为走或站立
5,接下来在Motion添加动画文件,4个左开枪动画,站立,4个右开枪动画,3个左走,直走,3个右走,2个左跑,直跑,2个右跑,如图020,
起始次序无所谓,只是这样好理解
![](http://img.blog.csdn.net/20151005105101764?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
6,计算动画在2D平面上的位置,选择compute positions中的speed and angular speed,这样会基于root motion自动计算这两个值,
这种方式适用于任何动画,无论参数是否在控制器中,angular speed的单位是弧度。可以运行动画,在上面拖动红点查看人物运动
7,接下来创建Shooting层使敌人看到玩家开始射击,创建avatar mask,命名为EnemyShootingMask,禁用下半身,在Shooting层中使用,并且勾选IK Pass,
8,创建默认状态为empty,添加humanoid_weapon_rasie举枪动画,速度为3,添加开枪动画[b]humanoid_weapon_shoot,添加放下动画[b]humanoid_weapon_lower[/b][/b]
9,这四个状态之间的转换,empty->weaponraise(PlayerInSight为true)->weaponshoot(exit time)->weaponlower(PlayerInSight为false)->empty(exti time)
如图021
![](http://img.blog.csdn.net/20151005105110097?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
10,创建一个Gun层添加握枪动画,添加modles->char_robotGuard下的Gripped,创建一个avatar mask,命名为EnemyGunMask,拖入Gun层
除右手外其他都禁用
11,最后将这个Animator拖入敌人中
2,手部开枪动作,Inverse Kinematics IK逆向运动学:反应的是一种由手部带动肩部的运动(自由端起始,回退到固定端)
3,敌人动画控制制作,包里有已经做好的,如果不想做可以跳过这以下几段创建敌人动作控制器EnemyAnimator,创建4个float参数,一个bool参数,如图019
4,create state ->from new blend tree,命名为Locomotion,Blend Type选择2D freeform cartesian,这个方便设置speed和AngularSpeed
Parameters栏里设置轴的方向,x轴:Angularspeed;y轴:speed。在地图表现为,左方向左转,右方向右转,上方向跑步,下方向为走或站立
5,接下来在Motion添加动画文件,4个左开枪动画,站立,4个右开枪动画,3个左走,直走,3个右走,2个左跑,直跑,2个右跑,如图020,
起始次序无所谓,只是这样好理解
6,计算动画在2D平面上的位置,选择compute positions中的speed and angular speed,这样会基于root motion自动计算这两个值,
这种方式适用于任何动画,无论参数是否在控制器中,angular speed的单位是弧度。可以运行动画,在上面拖动红点查看人物运动
7,接下来创建Shooting层使敌人看到玩家开始射击,创建avatar mask,命名为EnemyShootingMask,禁用下半身,在Shooting层中使用,并且勾选IK Pass,
8,创建默认状态为empty,添加humanoid_weapon_rasie举枪动画,速度为3,添加开枪动画[b]humanoid_weapon_shoot,添加放下动画[b]humanoid_weapon_lower[/b][/b]
9,这四个状态之间的转换,empty->weaponraise(PlayerInSight为true)->weaponshoot(exit time)->weaponlower(PlayerInSight为false)->empty(exti time)
如图021
10,创建一个Gun层添加握枪动画,添加modles->char_robotGuard下的Gripped,创建一个avatar mask,命名为EnemyGunMask,拖入Gun层
除右手外其他都禁用
11,最后将这个Animator拖入敌人中
相关文章推荐
- unity官方demo学习之Stealth(十八)敌人初步设定
- unity官方demo学习之Stealth(十七)电梯移动设定
- unity官方demo学习之Stealth(十六)双层门
- unity官方demo学习之Stealth(十五)单开门动画
- unity官方demo学习之Stealth(十四)钥匙卡设定
- unity官方demo学习之Stealth(十三)摄像机跟踪
- unity官方demo学习之Stealth(十二)角色生命值
- unity官方demo学习之Stealth(十一)角色移动
- unity官方demo学习之Stealth(十)散列ID
- unity官方demo学习之Stealth(九)角色动画控制器
- unity官方demo学习之Stealth(八)角色初步设定
- Unity 围住神经猫
- unity官方demo学习之Stealth(七)激光门
- unity官方demo学习之Stealth(五)游戏控制器
- unity官方demo学习之Stealth(四)屏幕渐变效果
- unity官方demo学习之Stealth(三)标签管理
- unity官方demo学习之Stealth(二)警报灯设定
- Unity之Navigation导航系统
- Unity3D 搭建优雅的UI框架
- unity3d Mecanim animator系统