19-03-2020, 09:59 AM
(This post was last modified: 19-03-2020, 10:04 AM by josemendez.)
(19-03-2020, 09:33 AM)MarcPilgaard Wrote: After a bit more fiddling with it, I see some hiccups in my implementation. So the large element is hoisted by four cables and each cable can be moved around in a crane-like system. What this means is that each cable does not necessarily lift the load vertically, like you described in the example above. For me to calculate the load, wouldn't I need the ImpulseMagnitude to be a Vector3 instead? Or do I need to calculate the direction of the Impulse myself?
An image of a similar crane like system:
[img] https://omis.net/upl/medium/6-Jibs%20and...System.jpg[/img]
Hi,
If you're interested only in the vertical component, you need to:
- Multiply the impulse direction (accesible as cablejoint.Jacobian) by the impulse magnitude.
- Project it onto the gravity vector (a simple dot product).
- Use the magnitude of the projection as your new impulse magnitude.
If you're after the full force regardless of directionality, you need to:
- Project the gravity vector onto the jacobian (again a dot product, since the jacobian has unit length)
- Use the length of the projected gravity vector as your new acceleration.