【发布时间】:2026-02-04 12:55:01
【问题描述】:
我正在研究一个方形物体在被玩家推动后的摩擦力。块的运动完全通过脚本使用 transform.Translate(velocity) 每帧和一个 boxcollider2D 来控制。我推测因为我手动控制每个帧的块运动是我似乎无法让 boxcolliders2D 的物理材料 2D 摩擦工作的原因。
基本上,我试图通过使用 transform.translate 重新创建类似于刚体的内置物理,或者如果可能的话使用内置物理。到目前为止,我已经找到了类似的东西
newVelocity.x -= ( 1 / (newVelocity.x * newVelocity.x));
试图降低每帧的velocity.x,直到它达到0并短路。显然,当velocity.x 变为十进制数时,这将分崩离析。我很困惑我应该做些什么来实现类似于刚体的摩擦,刚开始它会减慢一点,然后在停止时快得多。任何和所有帮助表示赞赏,在此先感谢!
【问题讨论】:
-
既然您手动使用速度,为什么不使用
Rigidbody2D并修改它的速度?这会给你带来摩擦力、重力等等。