MeshVox V1.1 - A powerful 3D mesh-terrain converter

image [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
    image

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

aNaDUMuwLR
DjmDjmcL39

  • 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 :slight_smile: )
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
      image

      • 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:

  • @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
198 Likes

the images dont show up
image

16 Likes

They do for me
Screenshot_20230902-162245

13 Likes

This looks amazing. I will definitely try this when i get back into building

16 Likes

Excellent job on this!

I tried it out and it is sweet!

Thanks for making it!

15 Likes

Surprised this plugin is free considering what it does and how many features it has.

17 Likes

I’m not into locking helpful tools behind a paywall. I like inspiring people to create cool things

30 Likes

Good job for actually making such a good plugin. I am really looking forward and use this all the time. Keep it up! :+1:

13 Likes

Why are people making bushes using your plugin?


I’ve never seen a plugin able to import meshes to terrain. This is very neat!

10 Likes

I think that’s just an automated spam comment for plugins. Plugin comments are kind of doomed with bots lol

3 Likes

As somebody who always exports terrain this looks beyond useful Thanks Tyridge! The only thing I would request is for textures to to exportable if not already

2 Likes

Not sure what you mean by exporting textures

2 Likes

this plugin imports terrain it doesnt export terrain

3 Likes

Forgot to credit @Quasiduck for his better fillwedge but that was the basis for a good amount of the generation here

3 Likes

Hi! I was using the previous iteration of this plugin and I liked the feature to convert my meshpart to wedgeparts so I can import a mesh and use the wedgeparts as collision, This version can convert a meshpart to wedge-meshes, But that doesn’t fix the collision issue
Could you possibly re-integrate this? (or provide the previous iteration of the plugin)

2 Likes

You can just download the earlier version of the plugin from Roblox asset delivery.

3 Likes

Hi! I love your work, but please can you add a setting where we can custom the length for our meshes because if we keep wedges with a size of 0.001 for the x axis, people can go through the wall and the ground if something bad happens with velocity and speed

2 Likes

When I try using the plugin to convert a meshpart to terrain I receive the following error “Can’t parse JSON” and the screen gets stuck on Loading Mesh. This issue only started happening recently, is it working for anyone else?

3 Likes

Does it happen with all meshes? Did you make sure to allow HTTP requests?

2 Likes

Yep seems to happen with all meshes (even meshes that worked in the past). I checked and both HTTP and API are turned on in the game settings

2 Likes