[MeshVox V1.0]
MeshVox is free 3D smooth terrain importing and stamping tool for artists that allows you to import a terrain mesh(local .obj file or a selected meshpart) on to any selected stamper part.
MeshVox is my attempt at solving some of the infamous terrain workflow problems on Roblox
MeshVox Features:
Stamping any mesh on to any part or region!
Here's me stamping a mountain mesh on to an existing landscape !
-
Detailed mode in Stamp Settings will draw a preview of the generated terrain over your selected region
- If this is disabled, it’ll instead draw a much faster bounding box overlay
-
Stamp preview will update as your stamper part moves and resizes
-
You can alternative make your stamper preview based around the source mesh rather than a selected part
Caves and Overhangs!
MeshVox fills up terrain with 3 dimensions in mind, avoiding the infamous problem heightmap-based generation tools have.
- Note - The terrain is still filled solid where it should be! It doesn’t produce hollow results
Complete Region Control! - Rotation included
Rotate/Move/Resize a selected part as you would normally!
Your generated mesh will adhere to it and your stamper will preview that if it's enabled
-
Effectively no max size, if your stamper part hits the part size cap you can turn on scale multipliers!
Texture importing
-
You can import color/albdo maps from your pc or a meshpart. They must conform to the UVs of the mesh for expected results
-
Fun tidbit - the tool will build your mesh - painting each triangle to an average color of the 3 connecting vertices, and the tool will use these triangle colors as a guestimate for the surface material when generating your terrain!
-
You can specify material → closest color pairs or use terrain material colors
-
Note - this may not always work perfectly and require some tinkering
-
I’d still recommend using my terrain painting plugin for most painting work!
[FIXED] TerrainPainter - Fast terrain painting tool with perlin noise
Interactive 3D and 2D Viewports for picking material colors
- Note - the 3D preview in the viewport is only supposed to show what the mesh looks like, it does not apply scale transforms to show what the generated result will be like the Detailed Stamper does
Limitations and known issues
I worked hard on this plugin but there might be bugs or issues I’m unaware of. If so please be patient
I don’t know of any bugs, but here are some limitations
-
UseTexture mode + surface materials may not always be accurate, it does its best job to match your color dictionary but sometimes this will take lots of tinkering with the values to get a good result
-
500,000 triangles is the theoretical limit I’ve found for loading and generating a mesh. Much more than that and my studio crashed due to not enough memory
-
65,000 triangles is the theoretical limit I’ve found for previewing a mesh, so MeshVox disables 3D viewport previews(2D texture preview is kept) if you hit that cap. If you hit half of that cap, it will disable you from being able to use the Detailed Stamping mode
If you find any critical issues please DM me here
Here it is!
I didn’t have time to make a more comprehensive guide/tutorial(others feel free to )
But the plugin should hopefully be intuitive enough anyways
It's my hope that this tool can empower small and large developers alike , and I couldn't have done it without some wonderful contributions:
Updates
- April 19th, 2024
-
For those who want to just generate terrain from meshparts instantly without loading them and choosing different stamper parts, I added a new button to the bottom
-
Select meshparts and click this to instantly start generating, the custom texturing stuff doesn’t work with this , it will just use your chosen fill/surface materials. It will generate all of the selected mesh parts.
-
You can turn “Concurrent” off to stop it from generating it all at once in parallel. This might be helpful if you have intersecting meshes and want the results from one to affect the other in a specific order
-
-
Special thanks:
- @Quasiduck for his smooth fillwedge function
- @Quenty for his help with ViewportFrame math
- @Maximum_ADHD for his PNG and mesh parser module
- @AntiBoomz0r for the heavywork with the terrain generation and some math
-
@Elttob for Fusion
- This plugin isn’t necessarily neatly coded , but a heck of a lot more than I would’ve been able to make before thanks to Fusion!
- @Fractality_alt for his CIELUV Colorspace implementation
- @MrChickenRocket and @CJ_Oyer help with some logic and testing
- @Lord_BradyRocks for help with testing