Traversing a large moving object and avoiding jitter?

brl0000

New member
My characters need to traverse large moving "ground" objects, and often these objects are also rotating on any given axis. So far, I've been unable to implement this in UCC without having significant visible jitter. This jitter disappears whenever the ground object is still, even if at resting at a random angle. So it seems obvious that I'm running into some sort of transform update sync issue between the UCC components and my moving/rotating ground objects.

My ground objects update position/rotation in the "update" loop, and the update location for my UCC-controlled character is also set to "update". The scripts transforming my ground objects are executed before any of the Opsive scripts as defined in the Script Execution Order window. I have a custom ability that sets the UCC gravity direction based on the orientation of the ground object, and I have "Align to Ground" active on the character, which both seem to work fine. But of course those don't address the jitter issue.

Using the "move with object" ability only partially seems to alleviate the jitter, and doesn't seem to want to keep the ground object in the "target" field. It reverts to "none" upon entering play mode, and I have to reassign it manually.

I've also tried setting both my Character and my ground objects to update in the fixed update loop. I've also tried adding the Kinematic Object component to my ground object in attempts to have the Kinematic Object Manager track its transformations while using "move with object," and all it seemed to do was to stop my ground object from moving.

Given the nature of the ground object I'm moving, the "moving platform" component isn't really an option. Would I need to implement IKinematicObject in the classes responsible for moving that?

So far the best result I get is from simply parenting the character to the moving object. Having "Auto Sync Transforms" active in the Kinematic Object Manager also appeared to help. But given the performance warnings about that, I'd rather avoid it.

Does anyone have a sense of what a best practice might be for accomplishing this? Thanks for any advice!
 
Last edited:
For this I do recommend using The Move With Object. If the target is being reset when you start it doesn't sound like the object has the Kinematic Object component:

 
Top