我查看了 cannon.js 示例,它们似乎主要使用 -10 到 -40 之间的重力和 1 到 10 之间的物体质量(或称为 CANNON.RigidBody),这些演示具有这些值的对象“表现良好”,因为它们只是“重”到足以克服重力,而不是“重”到使地平面看起来很假……我的意思是我已经尝试增加下落的质量物体和它们的质量越大,当它们着陆时,它们就越会使地板看起来像是由棉花糖(即海绵状)制成的。(顺便说一句:是的,我知道质量和重量不是一回事;-)
数学中的重力通常为 9.8 m/s/s,那么如何在 CANNON.World.gravity 中实现呢?
我在互联网上发现石头的质量是 2515 公斤/立方米,所以如果我想放下一个 1x1x1 米的石块,这将如何转化为质量:
var block = new CANNON.RigidBody(mass, shape, material);
然后是这个material
参数..我需要2种材料(1种用于地板,1种用于石块)然后我将如何设置摩擦系数和恢复值以使材料在碰撞时做出反应?
我知道这似乎是很多问题,我的目标不是绝对准确,只是需要指导,因为 a)我缺乏物理知识,b)对于我们这些试图使用 cannon.js 的人来说没有太多文档物理学教授;-)
我猜真正的问题是“如何近似现实主义”。
cannon.js 很棒,工作得非常好,我非常感谢 Stefan Hedman ( schteppe ) 迄今为止所做的所有努力。