Imps grabbing moveable objects in Early Access was problematic for both Motion Controllers and DS4. We have decided to change this as we want players to explore more gameplay opportunities, the high bar for which will be future VR experiences.
This is how it behaved in Early Access - note the jittery stay upright behaviour of lighter objects.
This is how it now works#
If the mass is greater than 25 kg, it runs the existing code that is a bit squidgy and force limited (which is useful for heavy objects). The "angular force" that it was applying has been removed.
If the mass is less than 25kg but greater than 10.5kg, or the grabbed object is jointed in some way, it runs some entirely new code that makes the imp act somewhat like a "ball joint". Though the grabbed object may be free to swing about a bit, there should be no wobbliness and the imp is still very strong.
If the mass is less than 10.5kg, the imp acts a bit like the grabbed object is glued to it and has no wobbliness. It should feel a lot like moving things in the editor, but a tiny bit laggy by comparison.
See the same weighted object test case. Note the objects move in a more reliable way.
Changing this code has caused some backwards compatibility issues, in particular with lighter objects which the imp can now move very forcefully/rigidly.
The object is light and the imp can hold it and move it with some force. This means the player can actually knock the puppet with the held object. To fix, filter out puppet collision and tweak the camera imp min distance.
The objects that are light can now be moved so strongly by the imp it can push them through the walls which are quite thin. To fix increase the weight to 25kg so the imp moves them in a more spongy way and cannot force them through.
Untitled Imp Game#
It's rare in this doc but I thought it might be fun to call out a creation that is actually improved by these changes. In this game, picking up moving objects should now be less erratic. That isn't to say that the user might not still want to do some tweaking of weights.
How it was#
How it now is:#