Kri*_*sen 2 c# unity-game-engine
我最近更新了我的 Unity(从 5.4.1f1 更新到 5.5.0f3),现在我的一款游戏中的 Rigidbody2D 似乎出现了一些问题。
所以基本上我曾经使用这段代码来使我的游戏对象(玩家)变得不易处理并脱离物理控制:
Player.GetComponent<Rigidbody2D>().isKinematic = true;
Run Code Online (Sandbox Code Playgroud)
在 Unity 更新后,此功能无法正常工作,并且在将玩家设置为运动学后,它会继续沿与“动态”时相同的方向移动(但无法控制)。注意:Unity 5.4.1f1 中并非如此。
所以我进入 Rigidbody2D 组件并注意到它发生了变化。 我的旧 RigidBody2D 的外观以及我的新 RigidBody2D 现在的外观
“kinematic”选项已移至“body type”选项中,并且在运行时它确实使用“.isKinematic = true”字符串将主体类型更改为 Kinematic(但如前所述,它无法正常工作)。
因此,我尝试手动将主体类型值更改为“静态”,并发现效果非常好!
所以我的问题是:如何在代码中将主体类型更改为静态?(如“isKinematic”),以及 Rigidbody2D(和运动学?)的变化发生了什么?
Rigidbody 上的bodyType属性可能就是您正在寻找的:
Player.GetComponent<Rigidbody2D>().bodyType = RigidbodyType2D.Static;
Run Code Online (Sandbox Code Playgroud)
值得一提的是,如果 Unity 的次要版本之间的更新破坏了它,则可能会出现其他问题,但如果没有看到更多项目,我无法确定。
| 归档时间: |
|
| 查看次数: |
15976 次 |
| 最近记录: |