Godot: Bullet PR: Ray shape logic is different than in Godot

Created on 16 Oct 2017  Â·  11Comments  Â·  Source: godotengine/godot

Operating system or device, Godot version, GPU Model and driver (if graphics related):
Ubuntu 17.04, This issue is related to bullet pr, it's present in: e6655f4
tested on release_debug build

Issue description:
As far as I know ray shapes in Godot are a special kind of shapes ~that propagate/receives forces only along the ray normal~ (might be wrong, hope @reduz will clarify). Those are very handful in dynamic controller scenario, to deal with slopes or create hovers in a very easy way.
Quick Video: https://www.youtube.com/watch?v=Ff0qlG55t_E&feature=youtu.be

Steps to reproduce:

  1. Download sample project
  2. Run RayShapeTest.tscn

Link to minimal example project:
BulletRayShapeSlopes.zip

bug physics

Most helpful comment

Ah yeah, it should not slide downhill

On Tue, Oct 17, 2017 at 3:59 AM, Andrea Catania notifications@github.com
wrote:

In bullet it does the same thing, with the exception that it reacts to the
floor shape that in this case slide along the downhill. I should implement
narrowphase algorithms to change this behavior.
I'll ask to Erwien if this is possible in an easier way.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/12156#issuecomment-337136549,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2wbILFGL7N7znvSe6MQHyzAIyXtnks5stFA3gaJpZM4P6_dt
.

All 11 comments

@reduz can you give some details on how ray shape should exactly behave?
cc @AndreaCatania

Rayshape just pushes away the object in the ray direction

On Oct 16, 2017 2:46 PM, "kubecz3k" notifications@github.com wrote:

@reduz https://github.com/reduz can you give some details on how ray
shape should exactly behave?
cc @AndreaCatania https://github.com/andreacatania

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/12156#issuecomment-336967363,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z26zqFbpp2gE6en4CFZkEp_Kn1PG5ks5ss5Z8gaJpZM4P6_dt
.

I can change it. @reduz the ray shape should receive forces only along its axis?

The ray shape just generates a contact pair between the cast intersection
and the endpoint. That needs to be fed to the manifold

On Oct 16, 2017 2:58 PM, "Andrea Catania" notifications@github.com wrote:

I can change it. @reduz https://github.com/reduz the ray shape should
receive forces only along its axis?

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/12156#issuecomment-336972644,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2xAibmb4ouGuBZS_eT-EbKpVsumhks5ss5ljgaJpZM4P6_dt
.

@reduz So in this moment the shape behaviour is wrong and must be addressed?

@AndreaCatania I have no idea, as @kubecz3k mentions it doesn't work for him.
I was just explaining how it's implemented in the Godot physics. Basically it uses a custom narrowphase where it shoots a ray towrds the opposite shape. If a ray hits into somehting, it puts both the hit position and the ray endpoint (position + direction * length) as a contact pair and adds it to the manifold between both shapes.

In bullet it does the same thing, with the exception that it reacts to the floor shape that in this case slide along the downhill. I should implement narrowphase algorithms to change this behavior.
I'll ask to Erwien if this is possible in an easier way.

Ah yeah, it should not slide downhill

On Tue, Oct 17, 2017 at 3:59 AM, Andrea Catania notifications@github.com
wrote:

In bullet it does the same thing, with the exception that it reacts to the
floor shape that in this case slide along the downhill. I should implement
narrowphase algorithms to change this behavior.
I'll ask to Erwien if this is possible in an easier way.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/12156#issuecomment-337136549,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2wbILFGL7N7znvSe6MQHyzAIyXtnks5stFA3gaJpZM4P6_dt
.

Fixed: ce367016f4d1d97d998049287e70fe694377c061

Wow, amazing work

On Mon, Oct 30, 2017 at 10:37 AM, Andrea Catania notifications@github.com
wrote:

Fixed: ce36701
https://github.com/godotengine/godot/commit/ce367016f4d1d97d998049287e70fe694377c061

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/12156#issuecomment-340445670,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2w8audMP3QWKZMfgLwMd_92m40WVks5sxdEQgaJpZM4P6_dt
.

Just tested! It works so beautifully now! You are truly awesome!!

Was this page helpful?
0 / 5 - 0 ratings