Godot: Create a Quad shape? (just sets a tiny concave polygon maybe)

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

Gogot 3.0.2 Windows

Hi there,

A kinematic Body using move_and_slide won't move on top of a plane mesh collider.

Steps to reproduce:

  • Create a staticBody, set it's friction to 0.5
  • Create a plane mesh as floor in Godot and add a collision plane to it
  • drag those as child of staticBody
  • a character won't move on top of the plane mesh using move_and_slide

Solution :
Use a collision box instead to the plane mesh collision
The character will move using the same script with move_and_slide

discussion enhancement physics

Most helpful comment

This is not a bug, plane shape is infinite in Godot. Use something else instead (maybe we could add a Quad shape?). Changing to enhancement.

All 23 comments

If you mean primitive plane shape, it's a correct behaviour. The plane shape is not meant to walk on.

Try to use a primitive box shape or create a static body from a mesh plane

There is other 3D engines games with levels made of planes for floor and walls with physics working as intended. Godot should try to get it working.

This is not possible in Godot because the plane shape has infinite size. This mean that if you create a walls with plane shape you will not be able anymore to make doors or rooms... Probably in that engine the plane shape is meant to be used in another way or it just use a box with a thin side

Plane shape is mostly meant to be world ground/bottom, so that you don't get stuff falling infinitely.

This is not possible in Godot because the plane shape has infinite size. This mean that if you create a walls with plane shape you will not be able anymore to make doors or rooms... Probably in that engine the plane shape is meant to be used in another way or it just use a box with a thin side

Try unity, any plane will work with physics, many games have planes for walls and floors.
Is this Bullet physics limitation compared to Physx ? If it's not possible because of Buller physics i'm ok with that.

Does unity plane shape have infinite size? I'm not sure...

No need for infinite plane in Unity.

You can create a small plane, a capsule will collide on top of it and will fall down when it leaves the plane surface area. Collisions work great on walls that are planes only also.
Nvidia Physix must work differently.

Could Bullet work the same way and work with collisions against planes ?

@DevMagicLord: That means unity's plane shape is a quad, not a plane.

This is not a bug, plane shape is infinite in Godot. Use something else instead (maybe we could add a Quad shape?). Changing to enhancement.

Quad shape please...

3.1 or 3.2?

What is the purpose having a collision plane in the editor menu when physics doesn't work on it ?

Perhaps rename "collision plane" to "infinite collision plane" or "non physics collision plane", this way we won't be confused about collision.

Won't hurt to have a quad shape on 3.1, is just a new resource on the list.

@DevMagicLord Planes have infinite extents by definition, like lines.

@eon-s: wouldn't hurt to have it stated explicitly, some engines/devs use plane to refer to a quad.

@Zireael07 the thing is that the meaning of Plane is that, you cannot be more explicit https://en.wikipedia.org/wiki/Plane_(geometry)

I don't think lot of games will use infinite planes, add "Plane quad" is a good solution.

Put "infinite plane" in last position because nobody will use it for games, perhaps it could have some uses for some testing.

@DevMagicLord Is useful with Area

Useful with Area ? Any example ?

Plane shape is useful to define infinite collision, no wander if used with area or static body the use cases are not listable.
Also is good a thing define world margin (that prevent physical objects to fall forever) and the plane shape is perfect for this task.
Add quad shape is an enhancement, and prevents people to expect from the plane to be finite.

Moving to 3.2 since it's a new feature

I'm confused by this issue... planes work fine for me with rigidbodies, they collide with it correctly as a floor (seen here https://youtu.be/WQn_lpQkjd8?t=38, I used a plane shape for the ground), so I can imagine it should be perfectly fine to walk on it. Read the first post again: if KinematicBody can't handle it I would call that a bug. Unless there is something else I didnt grasp here?

On the other hand a quad shape is indeed missing and that would be a new feature, but it doesn't look like the same problem as stated in the first post, and so a new issue should be created instead of renaming and kicking this one for 3.2 IMO. The title is also misleading because it turns the issue as a feature request while it initially describes a bug (a repro project would be nice as well).

Isn't this use case covered well enough by a very thin BoxShape? (Note that if you get tunnelling, you may have to make it thicker if possible.)

Feature and improvement proposals for the Godot Engine are now being discussed and reviewed in a dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker. The GIP tracker has a detailed issue template designed so that proposals include all the relevant information to start a productive discussion and help the community assess the validity of the proposal for the engine.

The main (godotengine/godot) tracker is now solely dedicated to bug reports and Pull Requests, enabling contributors to have a better focus on bug fixing work. Therefore, we are now closing all older feature proposals on the main issue tracker.

If you are interested in this feature proposal, please open a new proposal on the GIP tracker following the given issue template (after checking that it doesn't exist already). Be sure to reference this closed issue if it includes any relevant discussion (which you are also encouraged to summarize in the new proposal). Thanks in advance!

Was this page helpful?
0 / 5 - 0 ratings