Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create a Quad shape? (just sets a tiny concave polygon maybe) #17893

Closed
DevMagicLord opened this issue Mar 31, 2018 · 23 comments
Closed

Create a Quad shape? (just sets a tiny concave polygon maybe) #17893

DevMagicLord opened this issue Mar 31, 2018 · 23 comments

Comments

@DevMagicLord
Copy link

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

@ghost ghost added this to the 3.1 milestone Apr 3, 2018
@AndreaCatania
Copy link
Contributor

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

@DevMagicLord
Copy link
Author

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.

@AndreaCatania
Copy link
Contributor

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

@Zireael07
Copy link
Contributor

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

@DevMagicLord
Copy link
Author

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.

@Zireael07
Copy link
Contributor

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

@DevMagicLord
Copy link
Author

DevMagicLord commented Aug 30, 2018

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 ?

@Zireael07
Copy link
Contributor

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

@reduz
Copy link
Member

reduz commented Sep 7, 2018

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.

@reduz reduz added enhancement and removed bug labels Sep 7, 2018
@reduz reduz changed the title Kinematic body can't move on plane collision mesh EDIT: Create a Quad shape? (just sets a tiny concave polygon maybe) Sep 7, 2018
@Zireael07
Copy link
Contributor

Quad shape please...

@AndreaCatania
Copy link
Contributor

3.1 or 3.2?

@DevMagicLord
Copy link
Author

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.

@eon-s
Copy link
Contributor

eon-s commented Sep 8, 2018

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.

@Zireael07
Copy link
Contributor

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

@eon-s
Copy link
Contributor

eon-s commented Sep 9, 2018

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

@akien-mga akien-mga changed the title EDIT: Create a Quad shape? (just sets a tiny concave polygon maybe) Create a Quad shape? (just sets a tiny concave polygon maybe) Sep 10, 2018
@DevMagicLord
Copy link
Author

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.

@eon-s
Copy link
Contributor

eon-s commented Sep 11, 2018

@DevMagicLord Is useful with Area

@DevMagicLord
Copy link
Author

Useful with Area ? Any example ?

@AndreaCatania
Copy link
Contributor

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.

@AndreaCatania
Copy link
Contributor

Moving to 3.2 since it's a new feature

@AndreaCatania AndreaCatania modified the milestones: 3.1, 3.2 Sep 22, 2018
@Zylann
Copy link
Contributor

Zylann commented Feb 19, 2019

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).

@Calinou
Copy link
Member

Calinou commented Mar 18, 2020

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.)

@madmiraal
Copy link
Contributor

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!

@KoBeWi KoBeWi added the archived label Oct 1, 2021
@KoBeWi KoBeWi removed this from the 4.0 milestone Oct 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

10 participants