首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >根据对象的水平移动速度设置动画浮动

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

Stack Overflow用户
提问于 2018-08-14 19:59:01
回答 2查看 376关注 0票数 0

嘿,我目前正在制作一款非常简单的3D无尽跑步者游戏,我正试图在角色速度增加时让动画师的浮动增加。我使用了一个非常简单的代码来让角色移动:

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

然后我试着像这样匹配动画师的浮动:

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

m_Anim指的是动画师,而m_Rigidbody指的是对象刚体

EN

回答 2

Stack Overflow用户

发布于 2018-08-14 20:58:25

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

transform.Translate(Vector3.forward*speed);

票数 0
EN

Stack Overflow用户

发布于 2018-08-14 21:45:50

我没有为你的问题添加注释来澄清的名声(例如,为什么你需要在Animator中设置一个浮动?)但这是我的回答。翻译中的速度将是固定的速度,因此将始终保持不变,除非您有更改它的代码。例如,当按下向上键时增加它,当按下向下键时增加向下键。

代码语言:javascript
运行
复制
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--;}
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51840908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档