如果他还瞄准武器,我如何在混合树中制作玩家将继续行走?

时间:2017-09-03 07:56:13

标签: c# unity3d unity5

现在,当玩家瞄准他无法行走时。我需要让它停止瞄准能够继续行走。我使用鼠标右键瞄准瞄准参数false / true。

我在Walk和Idle之间创建了一个混合树。 但现在我也想在Walk和Aiming之间混合。

Controller

当我双击运动时,混合树:

Controller001

所以现在我可以走路,当我停止用钥匙走路时,它会空转。 我也可以使用鼠标右键瞄准鼠标右键单击将保持瞄准再次点击将停止瞄准。

但是当我处于瞄准状态时,我无法行走。

问题是我如何将Walk与Aiming混合(我称之为瞄准动画:Rifle_Aiming_Idle还有称为Rifle_Aiming_Walk_F的动画)?

这个动画不是我自己的。但我想知道我是否应该将aiming_Idle与Walk混合(HumanoidWalk我已经在混合树中,或者仅以某种方式使用Rifle_Aiming_Walk_F)。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Soldier : MonoBehaviour
{
    private Animator anim;

    private void Start()
    {
        anim = GetComponent<Animator>();
    }

    void Update()
    {
        var inputVelx = Input.GetAxis("Horizontal");
        var inputVely = Input.GetAxis("Vertical");

        transform.Rotate(0, inputVelx, 0);

        anim.SetFloat("VelX", inputVelx);
        anim.SetFloat("VelY", inputVely);

        if (Input.GetMouseButtonDown(1))
        {
            anim.SetBool("Aiming", !anim.GetBool("Aiming"));
        }
    }
}

youtube中有一个简短的视频片段,他所做的这个包的所有者也展示了瞄准/ s的动作。我不确定如何让角色同时走路和瞄准:

Sci Fi Space Soldier - PolygonR

2 个答案:

答案 0 :(得分:2)

您需要在动画制作控制器中创建多个图层 然后添加头像面具。请看这里:
http://www.theappguruz.com/blog/how-to-animate-specific-body-parts-using-avatar-mask-in-unity

答案 1 :(得分:1)

作为一种解决方案,您可以复制拍摄动画并将其重命名为shoot_walking然后为其制作动画。

同时检查: https://docs.unity3d.com/ScriptReference/AnimationState.AddMixingTransform.html