根据对象的水平移动速度设置动画师浮动



嘿,我目前正在制作一个非常简单的 3D 无尽亚军游戏,我正在尝试让动画师在角色速度增加时增加浮动。 我正在使用一个非常简单的代码来使字符移动:

void Update () { transform.Translate(Vector3.forward*speed);

然后我累了这样匹配动画师的漂浮物:

m_Anim.SetFloat("H_Speed", m_Rigidbody.velocity.z);

m_Anim指的是动画师,m_Rigidbody指的是物体 刚体

Transform.Translate

不会影响刚体的速度。这就像传送一样。因此,如果您想坚持使用Translate则应根据以下行中的speed设置动画速度:

transform.Translate(Vector3.forward*speed);

我没有声誉来添加评论以澄清您的问题(例如,为什么您需要在动画器中设置浮动? 但这是我的回复。 翻译中的速度将是固定速度,因此除非您有代码更改它,否则将始终保持不变。例如,按下向上箭头时增加它,按下向下箭头时增加它。

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--;}
}

相关内容

  • 没有找到相关文章

最新更新