godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
88.72k stars 20.12k forks source link

Physics behaving differently across platforms depending on FPS #7247

Closed Linny3D closed 7 years ago

Linny3D commented 7 years ago

OS: X11 & Android Godot-Version: 2.1.1 official build

If a RigidBody gets tossed up in the air by another RigidBody (in 3D) the linear velocity in y-direction seems to be depending on the FPS the device reaches. In my example the desktop version is running at a constant 60 FPS while the Android version was tested on a (sort of) low-end device, which is capable of playing the scene at ~40 FPS. The Desktop version behaves as expected and the object which gets tossed up makes a (little) jump, while in the same scene on Android the object (most of the time) gets tossed up that high, that it leaves the game-platform (3-4 times higher).

If i limit the FPS to 40 with OS.set_target_fps AND limit the physics engine to 40 via fixed_fps in the physics section of the settings, the scene behaves equally on desktop and android.

In my opinion that shouldn't be the case, because (obviously) as a developer i don't know which device a gamer will run the game on. And droppings in the framerate can occur on any device depending on the scene-complexity.

Not shure if this is some sort of bug, but it is not the behaviour i'm expecting.

tamkcr commented 7 years ago

how are you tossing the bodies?

Linny3D commented 7 years ago

The body gets tossed via an animation of the object that gets played if the ball hits the obstacle. I.e. a platform moving upwards via keyframed animation (translation in Y direction) I can provide you with a demoscene as soon as i am back this evening.

bojidar-bg commented 7 years ago

Try setting the animationPlayer's mode to "fixed"

Linny3D commented 7 years ago

Ok. That "fixed" fixed the problem. :) Never mind. Can't believe i didn't notice that one.......... facepalm

bojidar-bg commented 7 years ago

Closing as archived, though we might as well have some warning about this (somehow...)

Sslaxx commented 7 years ago

This needs to be a documentation issue, then?

bojidar-bg commented 7 years ago

@Sslaxx You have an idea under which part of the docs it can be placed?