Aim boxing (AimIK)"/>
Aim boxing (AimIK)
AimIK有利于物体稳定地瞄准目标。有时这些对象在动画中有很多摆动动作,比如挥剑,使用AimIK在摆动过程中将剑保持朝向某个位置是不好的。
它将通过弯曲脊椎层次结构的其余部分来固定剑的方向,并且以不自然的方式干扰动画。
仍然可以使用AimIK来重定向摇摆动画,如剑术或拳击。为此,我们必须告诉AimIK每帧无论当前动画姿态是什么,它都是默认的前向瞄准姿态。
这可以通过在AimIK解决之前将AimIK的aim Tranform朝向目标旋转或通过调整AimIK轴(Aixs)来实现。
并在打击目标球上加Aim Boxing脚本
namespace RootMotion.Demos {/// <summary>/// Boxing with Aim IK./// AIM拳击/// Changing character facing direction with Aim IK to follow the target./// 改变角色面对方向相对于AIM IK跟随的目标/// </summary>public class AimBoxing : MonoBehaviour {public AimIK aimIK; // Reference to the AimIK component//引用AIMIK组件public Transform pin;// The hitting point as in the animation//动画中的击球点void LateUpdate() {// Rotate the aim Transform to look at the point, where the fist hits it's target in the animation.//旋转aim Transform以查看点,拳头在动画中击中目标。// This will set the animated hit direction as the default starting point for Aim IK (direction for which Aim IK has to do nothing).//这将将动画命中方向设置为AIM IK的默认起始点(AIM IK没有默认方向)。aimIK.solver.transform.LookAt(pin.position);//LookAT :旋转物体使z轴指向目标物体//当人物 AIM IK 设置了LookAt并指定了目标物体(pin.position)时,该物体的z轴将始终指向目标物体 是世界坐标// Set myself as IK target//把自己设定为IK目标aimIK.solver.IKPosition = transform.position;}}
}
效果如下:
Aim Transform -你想要瞄准目标的Transform ,必须成为骨骼等级(层次)权重的直系后代,举个例子,如果你想瞄准一把枪,就把枪放入Aim Transform,或是Aim Transform 的子物体或者是手的骨骼
更多推荐
Aim boxing (AimIK)
发布评论