尽管未选中循环时间,但动画循环
Animation looping although Loop Time is unchecked
#pragma strict
var anim : Animator;
function Start () {
anim = GetComponent("Animator");
}
function Update () {
if (Input.GetButtonDown("Fire1"))
{
anim.SetFloat("hit",1);
}
}
我已将 'hit' 浮点参数设置为 'attack' 状态,如果 'hit' > 0.1 的值,则从 'Idle state' 转换到 'attack' 状态.
现在的问题是,当我单击鼠标左键时,过渡从空闲变为 'attack' 并且模型执行所需的任务,然后从 'attack to Idle' 过渡然后再次过渡 'Idle to attack' 并进入循环。
我已经在animationClip中取消勾选LoopTime, Loop poseto,但是还是一样。
我明白了,上面是循环的,因为 'hit' 参数永远不会变成 < 0.1,所以每次条件为真并且转换恰好攻击状态。
如果我将下面的行添加到上面的 Update()
函数,那么转换永远不会发生。
anim.SetFloat("hit",0);
我不知道问题出在哪里,我该怎么办??,我想当我点击鼠标左键时,模型应该点击一次然后回到空闲状态,然后如果我点击鼠标左键再次点击, 那么只有它应该..
有什么帮助吗??请
提前致谢
你可以对发生一次的事情使用 trigger,然后他们应该回到他们来自的状态,比如 hitting 或 jumping 或等等
anim.SetTrigger("hit");
单次攻击动画控制参数应该是Trigger而不是float。这样动画师就可以闲着了。
如果你想在完成动画后使用浮动,你必须将浮动值设置为 0。这样参数不会保持大于 0.1,这是浮动保持默认动画所必需的。
#pragma strict
var anim : Animator;
function Start () {
anim = GetComponent("Animator");
}
function Update () {
if (Input.GetButtonDown("Fire1"))
{
anim.SetFloat("hit",1);
}
}
我已将 'hit' 浮点参数设置为 'attack' 状态,如果 'hit' > 0.1 的值,则从 'Idle state' 转换到 'attack' 状态.
现在的问题是,当我单击鼠标左键时,过渡从空闲变为 'attack' 并且模型执行所需的任务,然后从 'attack to Idle' 过渡然后再次过渡 'Idle to attack' 并进入循环。
我已经在animationClip中取消勾选LoopTime, Loop poseto,但是还是一样。
我明白了,上面是循环的,因为 'hit' 参数永远不会变成 < 0.1,所以每次条件为真并且转换恰好攻击状态。
如果我将下面的行添加到上面的 Update()
函数,那么转换永远不会发生。
anim.SetFloat("hit",0);
我不知道问题出在哪里,我该怎么办??,我想当我点击鼠标左键时,模型应该点击一次然后回到空闲状态,然后如果我点击鼠标左键再次点击, 那么只有它应该..
有什么帮助吗??请
提前致谢
你可以对发生一次的事情使用 trigger,然后他们应该回到他们来自的状态,比如 hitting 或 jumping 或等等
anim.SetTrigger("hit");
单次攻击动画控制参数应该是Trigger而不是float。这样动画师就可以闲着了。
如果你想在完成动画后使用浮动,你必须将浮动值设置为 0。这样参数不会保持大于 0.1,这是浮动保持默认动画所必需的。