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 formal plugin system for mesh generation #2

Open
LogicalError opened this issue Oct 5, 2024 · 0 comments
Open

Create a formal plugin system for mesh generation #2

LogicalError opened this issue Oct 5, 2024 · 0 comments
Assignees
Labels
task A task that needs to be done

Comments

@LogicalError
Copy link
Member

At the end of the CSG algorithm the meshes are generated, and currently this is hardcoded.
Since there are a lot of different ways meshes are (optionally) manipulated and created, it would make sense to have a more formal plugin structure that can be chained. This would make it easier for people to understand how it works, and would make it easier for people to contribute.

Types of things we need to support

  • Generation of colliders per physicMaterial. For either built-in or unity physics.
  • Generation of renderable meshes per Material / Cast Shadows Flags etc. For either MeshRenderers or hybrid rendering (dots)
  • Brush outlines/wireframe geometry
  • List per triangle brush InstanceID's so we can use HandleUtility.RenderPickingCallback for selection
  • Filtered meshes that only contain visible brushes (with some brushes made invisible in hierarchy)
  • Helper meshes for debug rendering (all invisible surfaces, all invisible shadow casting surfaces etc.)
  • normal smoothing
  • compute tangents
  • compute lightmap uvs
  • support for optionally remove texture from lightmap (for self illuminated surfaces)
  • support for optionally double sided surfaces
  • support for skybox surfaces that will automatically swap material with current environment skybox material
  • support for surfaces with extra vertices for vertex painting
  • Navmesh support?
  • Collider layer support?
@LogicalError LogicalError self-assigned this Oct 5, 2024
@LogicalError LogicalError added the task A task that needs to be done label Oct 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
task A task that needs to be done
Projects
None yet
Development

No branches or pull requests

1 participant