如何用动画索具打孔到目标?



我想让我的角色在我的场景中打不同的目标。我正在使用Mixamo的一个出拳动画。如何让角色在播放动画时击中目标?任何建议都是感激的!

我有点不确定你在问什么,但我认为这是:

你有多个动画,当你按下打孔按钮时,你希望打孔动画不受其他动画的影响而播放。

如果这确实是你所要求的,请纠正我,如果我错了,你必须使用动画混合树混合动画。


编辑

所以在阅读了额外的评论之后,我可以向你解释如何做到这一点。答案确实保持不变-动画混合树。让我解释一下。

每只手臂/手都有两个动画。一种是直接向前打,另一种是直接向侧面打。

混合树本质上是两个动画在不同程度上的混合。在这个例子中,物理度是90度。假设敌人在玩家左边的对角线上(45度),那么你需要计算角度并将其传递给混合树,这将混合两个动画,从而在中间得到一些东西。

所以你需要做的是:

  1. 获得两个动画,其中一个是冲压

  2. 为两个动画设置一个混合树

  3. 当你出拳时,计算你所面对的和敌人所在位置之间的角度。这样的:

    public float max = 90;
    float GetBlendTreeInput() 
    {
    Vector3 forward = new Vector3(transform.forward.x, 0, transform.forward.z);
    Vector3 enemyDirection = enemyTransform.position - transform.position;
    enemyDirection = new Vector3(enemyDirection.x, 0, enemyDirection.y);
    float angle = Vector3.Angle(forward, enemyDirection);
    float clampedAngle = Mathf.Clamp(angle, 0, max);
    return clampedAngle / max;
    }
    
  4. 将其传递给混合树观察的动画变量。

最新更新