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:
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
@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!
Not a heightmap, just a mesh with a ConcavePolygonShape. Thanks again.
Mono build also behaves properly. 3D Kinematic sliding is fixed.
Most helpful comment
@aurodev can you please confirm the fix #17959 ?