Godot: 3D Kinematic body in Platformer 3D has extreme jitter on GridMap surface in 3.1.dev

Created on 31 Mar 2018  路  15Comments  路  Source: godotengine/godot

The KinematicBody player in the 3D platformer demo has extreme jitter on the GridMap surface in 3.1.dev
Behavior is normal between the 3D KinematicBody and a box mesh + BoxShape collider in 3.1 dev.

Same project on 3.02.stable.mono.official exhibits normal collider behavior between the player's KinematicBody and the GridMap.

Godot version:
3.1.dev.mono.custom_build.b49ca94

OS/device including version:
Windows 8.1 64bit, 8GB AMD FX 6350 6 core

Graphics Chipset
AMD Radeon HD 7700 Series
Memory Size 1024 MB
Radeon Software Version 17.4.4

Issue description:
The kinematic player in the 3D platformer demo has extreme jitter on the GridMap surface.
Player collides normally with a box mesh + BoxShape collider in 3.1 dev.
Same project on 3.02 works fine on the GridMap surface.

Have observed similar behavior on 3.1dev between a 3D KinematicBody and a ConcavePolygonShape

Steps to reproduce:
Load the 3D platformer demo in 3.1dev and _try_ to walk around.
Added the blue cube with a BoxShape collider and collision is fine.

Minimal reproduction project:

3DPlatformer-3.1dev-Jitter.zip

bug physics

Most helpful comment

@aurodev can you please confirm the fix #17959 ?

All 15 comments

getting a ton of

0:00:05:0025 - Condition ' v_x.length() == 0 ' is true.
C Error: Condition ' v_x.length() == 0 ' is true.
C Source: core\math\transform.cpp:104
C Function: Transform::set_look_at

errors
in your example. which points to look_at_from_position(pos, target, up)

could this be the cause of the jitter? w10, gtx 960, 3.0.2 build

@girng Possibly, but other than adding the blue cube+box collision it's the 3D Platformer template.
I've observed the same behavior with Kinematic Body and ConcavePolygonShape though.
My 3.02 stable runs it just fine with no jitter. I'm a noob with Godot so take this all with a grain of salt.

mono build issue only then? since me and you can't replicate jitter on normal build

This might be related to look_at, @AndreaCatania mentioned something like that as a game project I'm working on has "vibration" issues with Bullet physics.

@girng Tried it with 3.02.stable.mono.official and behaved normally so probably not just mono :D

if it doesn't changed from my last check the platformer 3D use a rigid body and doesn't rotate the rigidbody, it rotates only the mesh that is inside the rigidbody

In the template I installed from the project manager it shows a KinematicBody, maybe someone changed the template. :D
image

@AndreaCatania It uses a Kinematicbody and has been using it since before 3.0 was released. I would give it a check on your end.

@girng look_at_from_pos results in error spamming, but works fine for a camera in all vehicle body demos (3.1.dev linux)

Debugger also shows about a dozen copies of:
"0:00:01:0811 - Condition ' !is_inside_tree() ' is true. returned: Transform()
Type:Error
Description:
Time: 0:00:01:0811
C Error: Condition ' !is_inside_tree() ' is true. returned: Transform()
C Source: scene\3d\spatial.cpp:268
C Function: Spatial::get_global_transform"

@aurodev can you please confirm the fix #17959 ?

@AndreaCatania will give it a go today.

3D Kinematic sliding is fixed... works on my end. (64 bit, non-mono )
Sliding also fixed between the 3D KinematicBody and a ConcavePolygonShape that I was testing. Works!

Thanks for the hard work on Godot @reduz @AndreaCatania and everyone else!

3dkfix

Not a heightmap, just a mesh with a ConcavePolygonShape. Thanks again.
3dkfix2

Mono build also behaves properly. 3D Kinematic sliding is fixed.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

testman42 picture testman42  路  3Comments

blurymind picture blurymind  路  3Comments

SleepProgger picture SleepProgger  路  3Comments

kirilledelman picture kirilledelman  路  3Comments

Spooner picture Spooner  路  3Comments