Mesh Ops - Mesh Operations Plugin
https://www.unrealengine.com/marketplace/en-US/product/mesh-ops-mesh-operations-plugin
Mesh Ops is a collection of 300+ Blueprint nodes written in C++ enabling many advanced Procedural Mesh edits, including Mesh Booleans, Mesh Generation, Extrusions, + much more! Over 6,000 lines of code! You can use any mesh + everything works at runtime.
Mesh Ops is a collection of 200 300+ Blueprint Nodes written in C++. Over 6,000 lines of code! Mesh Ops allows for a wide variety of advanced Procedural Mesh edits and generation at runtime. Use any mesh! Included are several example blueprints of how to chain together these nodes to accomplish many different things. Most functions are construction script tested/safe (when used as intended, please backup your work.) Full C++ source is included. No external dependencies or libraries to worry about! Mesh Ops is updated regularly, and we provide access to several experimental features currently in development like skeletal mesh editing and cpu-based mesh icon rendering. 5.2 is currently the main branch and will generally receive updates first.
The Mesh Data structure is completely decoupled from Procedural meshes, meaning any Procedural Mesh replacement that uses arrays for their vertexes and triangles is compatible.
INCLUDED DEMO GAME
'Cut Game' is included as an example of how this plugin could be integrated into gameplay. Roll around and slice into the floor as you go, once you cross back over your path it cuts out a section of the floor for a limited amount of time. The goal is to knock as many point spheres into the holes you make as you can within the time limit, green spheres are worth points, red subtract from your total points, and blue spheres increase the remaining time.
Note: The Mesh Boolean function and some of the related code are from an engine plugin called Geometry Processing, included in Unreal since 4.26, but not exposed to blueprints on its own. Mesh Booleans on simple meshes are very fast - enough to be done in real-time, i.e. every frame, but for more complex meshes it takes much longer, we provide methods to save and load the data so it doesn't have to be generated at runtime, or regenerated.
Most of the functions operate on an entire mesh at once and/or use a loop of vertices - fine mesh 'modeling' type editing is limited/not available at present.
QUICK START
You should be able to right-click in a blueprint and type Mesh Ops, to find all the nodes available. Mesh Data is the structure that holds procedural mesh data. Read on for more.
GETTING STARTED
- Enable Show Plugin Content (and possibly Show Engine Content) in the Content Browser
- Find the MeshOpsPlugin Content folder in the Content Browser
- I'd recommend opening the Content/READ_ME blueprint, it's a good idea to familiarize yourself with the nodes
- Or open the Content/Maps/MeshOpsDemo map and press play
C++ GETTING STARTED
- Add "MeshOpsPlugin" to your .build.cs file under "PublicDependencyModuleNames".
- Add #include "MeshOpsPluginBPLibrary.h" to your .h file.
- You should be able to use the namespace MeshOps:: or UMeshOpsPluginBPLibrary:: to call functions.
- All source code is included, refer to MeshOpsPluginBPLibrary.h for function definitions.
Dependencies
- After installing the plugin and enabling it for your project, ensure the following plugins are enabled as well: Geometry Processing, and Procedural Mesh Component (should be enabled automatically when enabling this plugin) DO NOT enable Geometry Processing in 4.26, there's a compatibility issue for that version.
- C++ users: "ProceduralMeshComponent", "GeometryCore", "DynamicMesh" might be needed in your build.cs file
Move the Folder from Engine/Plugins/Marketplace/ to Your Project/Plugins/ if you have issues
Technical Details
Features:
- Mesh Booleans with any mesh, saving/loading, exporting/importing, generating, uniform random placement on the surface, runtime, and real-time applications, mesh animations not possible by any other means, and much more.
- Possible applications: Cutting meshes dynamically, destruction, cutaway diagrams, meshes from images, real bullet holes (optimizing for a multiplayer shooter game may be challenging though), meshes from splines or 'hand drawn' outlines
- For more, see the Functions List above.
- Functions/nodes are made to be very modular, and easy to understand how they work together.
- Example blueprints for a variety of applications, showing how to chain nodes together to achieve different things.
- Includes a demo game "Cut Game", roll around cutting through the floor and knocking point balls into the holes you make. Demonstrates the fundamentals of retaining data for consecutive mesh operations.
- Full C++ source code included.
Code Modules:
- MeshOpsPlugin
Number of Blueprints: 30 (mostly example blueprints)
Number of C++ Classes: 2
Network Replicated: No
Supported Development Platforms: Windows, etc.
Supported Target Build Platforms: Windows
Documentation: MeshOpsPlugin Content/READ_ME