unity3d - Unity:玩家跳得很好,但下落非常慢
问题描述
我目前正在构建一个带有可以跳跃角色的小型 2D 平台游戏。这是跳跃的样子(FixedUpdate):
if (jump)
{
if (isGrounded)
{
isGrounded = false;
rb.AddForce(Vector2.up * (jumpHeight * counterForJumpHeight) * Time.deltaTime, ForceMode2D.Impulse);
jump = false;
anim.SetBool("bool_anim_isJumping", true);
}
if (timer != null)
timer.Stop();
counterForJumpHeight = jumpMulitMin;
jumpAlreadCharging = false;
}
看起来非常适合每次跳跃然后回落。
但是:当玩家没有跳跃就直接跌落(就像从悬崖上掉下来一样),看起来他有一片叶子的质量。极慢地航行到地面。根本没有加速。就像慢动作一样坠落。当然我可以增加重力,但这也会影响我跳跃后的跌落,让他看起来像一块石头。好像下落速度加快了什么的。但这没有意义。他在跳跃后摔倒,而他刚刚从某物上摔下来应该看起来一样,对吧?但它没有。
这些是我对 RB 的价值观:
解决方案
可能是 的问题animator
,如果动画包含对 的更改Rigidbody
,如果您在动画中设置了 Make Default,它会做一些奇怪的事情。
推荐阅读
- java - jsonarray 到字符串的转换
- python - 我总是用我的模型预测负值
- ruby-on-rails - 在传递给部分的集合成员上执行的块正在执行两次,ruby on rails
- c# - 如何使用 Fluent API 定义带约束的一对零关系
- c# - MVVM WPF 的主要结构
- ms-access - 带有百分比总和的 Microsoft Access 数据库表
- php - 将 select count() MySQL 查询转换为 Codeigniter 查询
- c++ - 防止并发使用和释放
- android - 奥利奥没有调用定位服务
- sql - 来自多个 csv 文件的 Laravel 种子表