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

Add "Create boundary cube collision sibling" option for mesh #5868

Open
krazyjakee opened this issue Nov 29, 2022 · 4 comments
Open

Add "Create boundary cube collision sibling" option for mesh #5868

krazyjakee opened this issue Nov 29, 2022 · 4 comments

Comments

@krazyjakee
Copy link

krazyjakee commented Nov 29, 2022

Describe the project you are working on

A 3D space game with many large and small collidable meshes.

Describe the problem or limitation you are having in your project

Describe the feature / enhancement and how it helps to overcome the problem or limitation

Having an option in the mesh drop down to create a boundary box collision sibling would very easily allow the developer to quickly create safe and performant colliders around their objects.

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

image
image

I imagine the code would find the most distant points and create a cube that encapsulate those points.

If this enhancement will not be used often, can it be worked around with a few lines of script?

I propose that for a heavy number of use cases, a simple box collider would be more beneficial for mesh objects, especially static ones. I think that this feature will be used very often.

Is there a reason why this should be core and not an add-on in the asset library?

The reason I feel this should be in the core is that it deals with the fundamentals of 3D interaction via colliders. I propose that many developers are using the collider generators as a means to speed up the development of simple game fundamentals and this tool would give them a free performance and safety boost.

@Calinou
Copy link
Member

Calinou commented Nov 29, 2022

The Advanced Import Settings dialog already allows you to create primitive collision shapes for various meshes in a 3D scene. See also #3155.

While a new option to do this in existing scenes makes sense, I feel it's not flexible enough as you may want to have a capsule, cylinder or sphere shape instead. The difficulty here is providing this kind of flexibility without making the dropdown too complex.

@Zireael07
Copy link

I fail to see how adding a new option, or three, makes the dropdown too complex. If it grows, it can be made into a submenu instead

@Ali32bit
Copy link

Ali32bit commented Dec 3, 2022

i like this idea because many times when i setup scenes i have to do a bunch of work setting up colliders for simple objects. it would be nice to have a much simpler one click solution

@WickedInsignia
Copy link

WickedInsignia commented Oct 3, 2023

The Advanced Import Settings dialog already allows you to create primitive collision shapes for various meshes in a 3D scene. See also #3155.

It is still very tedious to add collision upon import since you must manually edit a box collider (or any other primitive) to fit every single mesh being imported. This would be easier (or not at all necessary) if the bounding box was assumed instead when a box collider is desired.
This is the primary use case of a box collider and the way that other major packages function.

Some other major papercuts in the collision import workflow right now:

  • Not being able to generate box colliders for all meshes in an imported scene at once.
  • Not being able to select multiple mesh instances and apply settings to them all at once (ties into first point).
  • Mesh instances are not isolated in view, which makes editing collision tricky when they're presented in an ortho view among all other scene elements.
  • Editing collision meshes in the Advanced Import Settings is not optimal. There's no "reset" for each parameter and numbers must be input manually since dragging doesn't work as expected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants