功能:利用现有模型和武器实现枪口瞄准物体
创建动画
现在创建动画的步骤应该很熟吧:
先创建Animation文件夹,在PolygonHeist下的RifleAnimsetPro动画拖入文件夹,在创建一个动画状态机
将需要的站立动画,拖到Animator窗口,然后双击站立状态,在Inspector窗口中的Animation下将Loop time勾选,就是重复播放动画,apply即可,如下
最后将动画状态机拖进人物的Animator中的Controller就好了
这里提一下:因为播放动画要点击开始游戏在game才能看到动画,在Scene中看不到动画效果,所以我们在game视图中调完武器的位置,直接复制人物,然后退出游戏,将原来的人物删除,在粘贴上去,这样还没进入游戏,就可以看到动画初始情况,不然你在Game调的东西,你退出游戏就全白弄了
再提一下:Inspector中的加锁作用,就让当前所选中物体的Inspector界面一直固定住,切换其它物体时,也不会改变
完成持枪动作
下面开始:
1.挂载full body biped ik和aim ik组件
2.然后将weapons文件夹下的武器拖到然后人物右手节点的物体下
先调整武器至正确位置,一般左手还没到位,在weapon下新建空物体,移至左手握住枪的适当位置,
然后在人物的full body biped ik下的left arm的left hand effector的target替换成刚刚创建的空物体,Position weight调至1,就会生效
效果:
使武器瞄准物体
在场景中创建一个球
aim ik组件,先讲操作
fix transform:防止没有动画骨骼和animator的剔除的问题
Target:瞄准的物体(球)
Pole target:在人物下新建一个空物体拖入,
aim transform:在武器物体新建空物体调整到枪口的位置后拖入
在bones下,拖入身体的3处骨骼
效果:
3处红点就是当物体移动时,枪口将自动瞄准物体,身体这3处也会变化,权重为1,则变化较大,0的身体的不会变化,权重越大变化越大,当然你也可以添加更多骨骼,来实现更细微的变化
最后说一下参数:
Target:瞄准的目标
Pole target:使Aim Transform的另一个轴(poleAxis)朝向该坐标.polePosition
aim target:通常是枪口的位置,(粉红色箭头)
Axis:将aim target的轴指向目标,默认为z轴,一般不修改
Pole axis:保持面向IKSolverAim.polePosition的Aim Transform的局部坐标的轴,默认为y轴
weight - 混合IK效果的权重,与clampWeight 配合使用
clampWeight - solver的旋转取值。 0是自由旋转,1是完全固定到没有效果。
一般weight为1,clampWeight为0.5左右
pole weight:修改时.使Aim Transform的另一个轴(poleAxis)朝向该坐标.polePosition将会生效
poleWeight - 保持AimTransform的poleAxis朝向polePosition的权重
tolerance - 距离最后到达角度的最小偏移量。如果与先前达到的角度的差异小于容差,则将停止求解。如果容差为零,将迭代直到maxIterations。