Home  ▪  Forum  ▪  RunTime-Indie for UE4  ▪  1 Frame lag when moving character. Affects all positional constraints

Theme: 1 Frame lag when moving character. Affects all positional constraints

Read: 102 times
Benjamin Swinbanks
Posts: 3

Hello,I have this problem that I cant seem to get around - I know there must be a result as Farpoint is Unreal + Ikinema and does not have this issue.When I add movement input to my character BP, there is an update discrepency of 1 frame on the IK.note:I have set the anim bp mesh to a later tick group than the rest of the BP - this makes the motion smoother but the 1 frame lag remains.I have also tried enabling *disable late update* on both controllers, this does not fix the issue.Please any information would be greatly appreciated.Swin

Simon W
Posts: 375

Hi Benjamin,

Could you give us a little more information about your setup. Is it a typical solve from three trackers for VR?

Which version of the engine/plugin are you using?

We updated our demo project for VR which can be downloaded here: https://www.dropbox.com/s/qu4c6uyj2nu44f0/humanoidVR_RTI4.21.zip?dl=0

Maybe that is of use to you.

Benjamin Swinbanks
Posts: 3

Oculus Rift, 2 hand, 1 HMD setup.

I Setup according to the Humanoid VR setup in the documents - what I found was that when I had my  Ikinema tasks in AnimBP set to WorldSpace, the position was correct, but when I moved the character BP  - there was an ovious 1 frame lag in the position of the hands and head.

 

The way around it was by turning the task to local space. I think its worth noting, in Ikinema docs you claim that local space tasks are in the space of the parent Ikinema rig bone. It took me a while to figure out its actually the original rig root (thankfully) - the docs should be updated to reflect this.So now I have things in corrct space, and they dont move - I have a new problem. There is an obvious offset on all tasks of something like 18 cm. Rotation and Scale is fine.So the question is - with WorldSpace enabled for tasks - how do I update the anim BP late (changing tick group did not fix the problem) so as tonot have the 1 frame latency issue?

OR with local space tasks - how to get rid of the offset. The root bone of the skeletal mesh is at 0,0,0 - and the mesh is at 0,0,0 on the actor - so I dont understand where this offset is coming from?Thankyou

Simon W
Posts: 375
Answer №3 [19.05.2019 13:48]
Edited: [19.05.2019 15:07]
Quote of: from 19.05.2019 11:18

Oculus Rift, 2 hand, 1 HMD setup.

I Setup according to the Humanoid VR setup in the documents - what I found was that when I had my  Ikinema tasks in AnimBP set to WorldSpace, the position was correct, but when I moved the character BP  - there was an ovious 1 frame lag in the position of the hands and head.

 

The way around it was by turning the task to local space. I think its worth noting, in Ikinema docs you claim that local space tasks are in the space of the parent Ikinema rig bone. It took me a while to figure out its actually the original rig root (thankfully) - the docs should be updated to reflect this.So now I have things in corrct space, and they dont move - I have a new problem. There is an obvious offset on all tasks of something like 18 cm. Rotation and Scale is fine.So the question is - with WorldSpace enabled for tasks - how do I update the anim BP late (changing tick group did not fix the problem) so as tonot have the 1 frame latency issue?

OR with local space tasks - how to get rid of the offset. The root bone of the skeletal mesh is at 0,0,0 - and the mesh is at 0,0,0 on the actor - so I dont understand where this offset is coming from?Thankyou

Hey Benjamin, 

Are you getting a reference to the motion controllers directly into your animation blueprint and accesing their world transforms? This is better than caching their transforms else where and then piping them into the animation blueprint. The latter method is usually a source of frame lag.

 

The best way to test what is going on is to enable 'draw debug' on the node. It will visualise the tasks as the solver sees them. It might help to see if there is a lag in the task targets. 

 

Using solver space tasks, do you untick the 'use world space' bool in the node? Do you have an offset on the motion controller meshes in the IKINEMA Rig editor? Those offsets are used for matching and are added with default values.

 

Just to clarify, the 'solver space' is actually the space of the parent of the first bone that is included in IKINEMA Rig. So for most rigs (with hips as the first bone in the IKINEMA Rig), the solver space is the space of the root bone of the character. That isn't always the case as we work on any rig. 

 
Simon W
Posts: 375

Hi Ben, one more quick point that could help you if you are still seeing the frame lag. 

Make sure there is not 'task target filtering enabled on the hand tasks'. The filtering could lead to some input lag as the target is blended from the previous frame to the current. 

https://imgur.com/a/ijTX9YA


You must also choose either Action for Maya or Action for MotionBuilder as a part of the package.


Your email address was not recognized as an academic email!

For more information, please contact support
Chat with us now!
Chat with us now!

Please, introduce yourself:

Studio Size*: