嘿,我目前正在制作一款非常简单的3D无尽跑步者游戏,我正试图在角色速度增加时让动画师的浮动增加。我使用了一个非常简单的代码来让角色移动:
void Update () { transform.Translate(Vector3.forward*speed)
;
然后我试着像这样匹配动画师的浮动:
m_Anim.SetFloat("H_Speed", m_Rigidbody.velocity.z);
m_Anim指的是动画师,而m_Rigidbody指的是对象刚体
发布于 2018-08-14 20:58:25
Transform.Translate
不会影响刚体的速度。就像传送一样。因此,如果你想坚持使用Translate
,你应该根据下面这行中的speed
来设置动画的速度:
transform.Translate(Vector3.forward*speed);
发布于 2018-08-14 21:45:50
我没有为你的问题添加注释来澄清的名声(例如,为什么你需要在Animator中设置一个浮动?)但这是我的回答。翻译中的速度将是固定的速度,因此将始终保持不变,除非您有更改它的代码。例如,当按下向上键时增加它,当按下向下键时增加向下键。
void Update () {
transform.Translate(Vector3.forward*speed*Time.deltaTime);
m_Anim.SetFloat("H_Speed", speed);
if (Input.GetKeyDown(KeyCode.UpArrow)){
speed++;}
if (Input.GetKeyDown(KeyCode.DownArrow)){
speed--;}
}
https://stackoverflow.com/questions/51840908
复制相似问题