Scaling for animated collision shapes is applied twice
Here is the screenshot from Abot's Boats. What happens here:
- Many shapes in the ship mesh have scale, different from 1.0
- We read these shapes with scales inside BulletNifLoader::handleNiTriShape()
- Then we treat these scaled shapes as new shapes with scale 1.0
- Since the scale is 1 now, we apply scale again, what gives us weird result. Even more, this "if" statement is incorrect because of rounding errors, so we need to use the epsilon here.
Can anyone tell how this thing is supposed to work? Why even use the btScaledBvhTriangleMeshShape?
There is an old bug #1683 (closed), but I can not tell what kind of issue was here.
Edited by Andrei Kortunov