以下均为自由落体,刚体质量设置为60kg(其实最终实验数据与重量无关),Time的Fixed Timestep运行前设置为0.02,运行时显示为0.01111111。
测试1
- drag系数为0.1
- 重力采用默认-9.81
- 经过长时间自由落体,速读稳定在97.99046
测试2
- drag系数为0.1
- 重力采用-0.981
- 经过长时间自由落体,速度稳定在9.799030
测试3
- drag系数为1
- 重力采用默认-9.81
- 经过长时间自由落体,速度稳定在9.700951
结论
drag、加速度、物体最终稳定速度存在以下近似关系:
[物体最终稳定速度]x[drag] 约等于 [加速度]
(注:仅考虑绝对值,忽略正负号)
参考资料
- 从官网论坛找到的关于drag的资料(https://forum.unity.com/threads/how-to-calculate-drag-force.628570/#post-4216378)(https://forum.unity.com/threads/how-to-calculate-drag-force.628570/#post-4216378)
From one of those posts: Vmax = (F/drag - deltaT * F) / mass
Which gives us: F = (Vmax * mass) / (1/drag - deltaT)
- 以上根据加速度f=ma的公式,还可以转换成 Vmax/(1/drag - deltaT)=Acc,
即:[稳定速度]/[1/drag - deltaT] = [加速度],与实验得出的近似关系式相近。- 以上资料表明最终速度还与deltaT有关,也就是Time属性中的Fixed Timestep。经过测试,上述公式相当接近测试结果。
- 要求精度不高时,当drag为0.1或更小时,可以忽略deltaT的存在。
- 当drag为1或更大时,deltaT的作用就很明显了。
网友评论