Skip to content

Skeleton's deferred update process should be performed after physics interpolation #103025

@JoshuaWeissTBS

Description

@JoshuaWeissTBS

Tested versions

  • Reproduced in v4.4.beta4.official [93d2706]

System information

Godot v4.4.beta4 - Windows 10 (build 19045) - Multi-window, 2 monitors - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3070 Ti (NVIDIA; 32.0.15.6636) - 12th Gen Intel(R) Core(TM) i9-12900K (24 threads)

Issue description

Enabling physics interpolation in project settings and following procedures to manually implement interpolation for camera movement (trying to follow this) results in the SkeletonIK3D failing to have physics interpolation while moving and looking around, while everything else is smooth:

7bfe8833ddf561c2ae6730d7d8fad2ef.mp4

It is noteworthy that disabling physics interpolation globally but keeping the manual implementation on the camera results in smooth ik movement when looking around but NOT while walking:

b1d059b6e12bebff10261c6772ddc431.mp4

It's entirely possible I am implementing this incorrectly, in which case, better documentation/information would be really helpful, as currently it seems unclear how to properly implement first person camera mouse movement with physics interpolation on high refresh monitors and inverse kinematics.

Steps to reproduce

  1. Enable physics interpolation globally and turn down the physics tick rate to 10 (so the effect is more clear)
  2. Create a first person player with a camera child that is top level and has it's interpolation turned off, and manually implemented (see camera_3d.gd)
  3. Using a rigged model (provided in the MRP) attach a skeletonIK3D node and put its target to a Marker3D node that is a child of the camera
  4. Play the project and walk/look around

Minimal reproduction project (MRP)

firstpersontest.zip

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Done

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions