我有麻烦的手IK的-recoil拍摄动画-这是在一个覆盖层在动画。我有它的设置,以便当我瞄准(左扳机),它允许我用另一个按钮(右扳机)。我有它,所以重量(手IK)增加到1(在钻机层)当我瞄准和减少到0当我放开瞄准按钮。
问题是,如果我开枪(使用后坐力枪动画),然后立即放开目标按钮,动画将继续播放,但IK将到0,手将看起来一团糟。
我试着把IK手枪的重量设定为1当他开火时,所以他仍然会抓住它,但是它不起作用,因为只有当目标被按住时,射击才是真的。
所以总的来说,我开枪,他做了一个后坐力动画,当你过早放弃瞄准,动画看起来一团糟,就像他从背后向你挥手。就像它会中止动画之类的。
private void HandleMovementInput()
{
horizontalMovementInput = movementInput.x;
verticalMovementInput = movementInput.y;
animatorManager.HandleAnimatorValues(horizontalMovementInput, verticalMovementInput, runInput);
if (verticalMovementInput != 0 || horizontalMovementInput !=0) //running
{
if (aimingInput)
{
if (animatorManager.isAimingGunn == false)
{
shootInput = false;
}
}
}
if (animatorManager.isAimingGunn)
{
animatorManager.leftHandIK.weight = 1; // IK weight
animatorManager.rightHandIK.weight = 1;
horizontalMovementInput = 0f; // joystick
verticalMovementInput = 0f;
}
else if(animatorManager.isAimingGunn == false)
{
if(verticalMovementInput != 0 || horizontalMovementInput !=0) //running
{
animatorManager.leftHandIK.weight = 0;
}
animatorManager.leftHandIK.weight = 0; // IK weight
animatorManager.rightHandIK.weight = 0;
}
}
private void HandleShoot()
{
if (aimingInput) // must aim otherwise shootInput(right trigger on controller) wont work
{
if (shootInput)
{
shootInput = false;
playerManager.UseCurrentWeapon();
}
}
}发布于 2022-05-29 19:07:16
我能修好它。我使用这段代码告诉角色继续瞄准,如果仍然在当前的animation.This允许动画完成之前,您将手IK设置为0。
if(animator.GetCurrentAnimatorStateInfo(1).IsName("Pistol_Shoot"))
{
aimingInput = true;
}另外,由于它变得过于复杂,我将“目标取消”按钮更改为控制器上的左上角触发器(而aim位于左下角触发器)。
https://stackoverflow.com/questions/72412338
复制相似问题