I am currently working on a VR project that uses Physics Handles in conjunction with motion controllers to allow the player to pick up objects and move them around. However, while this system works great for objects that exist when the level loads, picking up objects spawned dynamically at runtime causes the physics handle to feel loose and sloppy, as though they’re handling the object at the end of a thick string.
While there’s a lot of targeting that happens beforehand, the basic grab looks like this:
The input to Component is the object I have targeted to grab, and the input into Grab Location is the closest point on the object’s collision (drawn from the controller).
Then, on Update, I move and turn the object with the controller using the following:
This creates a system that maintains the location and rotational offset between the object and the controller as the player picks it up and moves it around, allowing them to examine it from all sides. My problem is that objects (blueprint objects, mostly) spawned during gameplay work differently, and I can’t figure out why. As previously mentioned, they feel like the grab is too loose, and they tend to drift down and away from the controller and lag behind its movements. This makes them very difficult to throw or move around at all. I suspect it’s something to do with the spawning (I’m using Spawn Actor from Class) rather than the object itself, as I use other instances of the exact same blueprint placed in the editor that work fine.
For reference, my spawn looks like this:
How can I make these spawned objects behave with the same tight responsiveness to the physics handle as those placed in the editor?