unity-game-engine - Unity 中的物理对象在低速时无法正确弹跳

标签 unity-game-engine game-physics

我遇到了一个问题,当启用物理功能的球缓慢移动时,它无法正确地从物体上弹开。我制作了一个视频来说明问题

https://youtu.be/9T1hkir7sCo

基本上,球应该撞到静止的球,而静止的球应该弹开。当速度足够快时,这种方法有效,但低于阈值时,它们都开始一起移动,这看起来很奇怪。

这是怎么回事,我怎样才能让它做出正确的 react ?

实验详细信息(两个对象相同):

刚体

  • 质量:1
  • 拖动:0
  • 角阻力:0
  • 使用重力:false

物理 Material :

  • 动摩擦力:0
  • 静摩擦力:0
  • 弹力:1

最佳答案

Unity的默认值 Bounce Threshold用于识别反弹的是速度 > 2

Set a velocity value. If two colliding objects have a relative velocity below this value, they do not bounce off each other. This value also reduces jitter, so it is not recommended to set it to a very low value.

<小时/>

您可以在 PhysicsManager 中更改此弹跳阈值(编辑->项目设置->物理):

enter image description here

或通过运行时脚本(参见 Physics.bounceThreshold )

Physics.bounceThreshold = 1;
<小时/>

根据需要将其设置得尽可能小...但请注意

This value also reduces jitter, so it is not recommended to set it to a very low value.

enter image description here

关于unity-game-engine - Unity 中的物理对象在低速时无法正确弹跳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54656220/

相关文章:

java - 尝试从 Unity 4.6 中的 Java 插件设置纹理

java - Unity 的 GCM 插件,找不到方法 GCMRegistrar.checkDevice

android - 查找 admob 的电话哈希设备 ID

unity-game-engine - 使用 Firebase 实时数据库进行统一时,物理效果无法按预期工作

javascript - 与 Phaser Arcade 物理引擎的碰撞

ios - Swift Spritekit 接触位掩码和分数标签

android - 为什么我不能发布游戏?

java - 当角度接近 90 时,子弹会变得 super 快

ios - 如何在 SpriteKit 中制作响应式 Controller ?

ios - 从 SCNPhysicsBallSocketJoint 中移除弹性