Unity3D中两段玩家跳跃Velocity设置代码的差异是什么?
两段Unity跳跃代码的区别分析
代码对比
// 第一段代码 rb.velocity = new Vector3 (rb.velocity.x, 5f,rb.velocity.z); // 第二段代码 rb.velocity = new Vector3 (0, 5f,0);
核心区别
- 第一段代码:仅把Y轴速度设为5f,保留刚体原本的X、Z轴速度分量。角色跳跃时会维持之前的水平移动状态(比如跑步、转向的速度),能实现“边跑边跳”的自然运动效果。
- 第二段代码:直接将X、Z轴速度清零,只设置Y轴为5f。角色跳跃瞬间会立刻停止所有水平方向的运动,只能原地垂直起跳,适合不需要水平移动叠加跳跃的场景。
内容的提问来源于stack exchange,提问作者yoyochan
相关产品推荐
相关产品推荐

