#pragma strict
var anim : Animator;
function Start () {
anim = GetComponent("Animator");
}
function Update () {
if (Input.GetButtonDown("Fire1"))
{
anim.SetFloat("hit",1);
}
}
我已设置'点击'浮点参数'攻击'如果'值为' > 0.1,然后过渡到攻击'处于“空闲状态”状态。
现在的问题是,当我点击鼠标左键时,转换从空闲状态转移到“攻击”状态。并且模型执行所需的任务,然后转换从“攻击”进入“空闲”状态。然后又转换为“空闲”攻击'然后进入循环。
我在animationClip中设置了LoopTime,Loop poseto未选中,但仍然会发生同样的情况。
据我所知,上面的内容是循环播放的,因为'击中'参数永远不会变成< 0.1因此,每当条件成立并且转换发生在攻击状态时。
如果我将以下行添加到上述Update()
函数中,则转换永远不会发生。
anim.SetFloat("hit",0);
我不知道问题出在哪里,我该怎么办?,我想当我点击鼠标左键,然后模型应该点击一次然后再回到空闲状态,然后再次点击鼠标左键单击,然后只有它应该.. ..
任何帮助?请
提前致谢
答案 0 :(得分:0)
你可以使用trigger来发生一次,然后他们应该回到他们来自的状态,如击中或跳跃等等
anim.SetTrigger("hit");
答案 1 :(得分:0)
单次攻击动画控制参数应该是触发器而不是浮动。这样动画师就会闲着。
如果要使用浮动而不是完成动画,则必须将浮动值设置为 0 。这种方式参数不会保持大于0.1,这是浮动保持默认动画所必需的。