我试图让我的角色走进一个animation
并停留在另一个Animator
。
在float
中,我创建了一个#pragma strict
var speed : float;
var personagem : GameObject;
var animacao : Animator;
function Start () {
speed = 2;
}
function Update () {
transform.position.x += Input.GetAxis("Horizontal") * speed * Time.deltaTime;
//THE ERROR OCCURS IN "andar"!!!!!_________________________________________
animacao.SetFloat("andar",Mathf.Abs(Input.GetAxis("Horizontal")));
//________________________________________________________________
if(Input.GetAxis("Horizontal") < 0){
personagem.gameObject.transform.eulerAngles = Vector2(0,180);
}
else if(Input.GetAxis("Horizontal") > 0){
personagem.gameObject.transform.eulerAngles = Vector2(0,0);
}
}
andar 类型的参数来控制动画之间的交换,如下图所示。
并为箭头指定以下条件:
* andar&gt; 0.1 =人物;
* andar&lt; 0.1 = personagemStop;
其中一个箭头的示例:
我的javascript代码:
var foo = Activator.CreateInstance(assName, "Bar.Baz.Foo");
也许它可能与 Unity版
相关我正在学习本教程 https://www.youtube.com/watch?v=PDuqGIB8j7E
我的Unity版本= 5.3.1f1
Unity教程版本= 4.3.2f1
错误:
UnassignedReferenceException:Controles的变量animacao 没有被分配。您可能需要分配animacao变量 检查员中的Controles脚本。 UnityEngine.Animator.SetFloat(System.String name,Single value) Controles.Update()(在Assets / Assets / Scripts / Controles.js:17)
答案 0 :(得分:1)
答案很简单,你需要拖拽和放大将包含动画制作者的对象放入检查器中的脚本的animacao
字段中。否则,您的脚本不知道要使用哪个动画师。
事实上,它没有在视频中显示,它是在5:28左右的黑屏中完成的。