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.
OVERVIEW VIDEO -- also -- Skeletal Mesh Edits Video (Experimental)
NEW - Community Discord (for sharing, support, requests, experimental builds, and info)
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.
News - 5.3 ADDED!
Known Issue with 4.26 - Incompatible with GeometryProcessing plugin, 4.27+ doesn't have this issue. Email for a custom build if you need that plugin and can't upgrade.
Youtube We may provide tutorials in the future, stay tuned.
Questions / Special Requests - [email protected]
Documentation (Auto Generated)
PDF version https://vyrulent.com/MeshOps/MeshOpsDoc.pdf
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
C++ GETTING STARTED
Dependencies
Move the Folder from Engine/Plugins/Marketplace/ to Your Project/Plugins/ if you have issues
Raw Functions List
Too many to list here (9000 character cap), see here instead.
DOCUMENTATION - https://vyrulent.com/MeshOps/Documentation/MeshOpsPluginBPLibrary/MeshOpsPluginBPLibrary.html
PDF https://vyrulent.com/MeshOps/MeshOpsDoc.pdf
And find the READ_ME blueprint in the MeshOpsPlugin Content folder (Show Plugin/Engine Content)
Built-in UE4 Booleans, etc. C++ doc - https://docs.unrealengine.com/4.27/en-US/API/Plugins/DynamicMesh/
C++ files for built-in plugin MeshOps uses - Program Files\Epic Games\UE_4.27\ Engine\Plugins\Experimental\GeometryProcessing\Source\
Features:
Code Modules:
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
Auto-Generated Documentation: https://vyrulent.com/MeshOps/Documentation/MeshOpsPluginBPLibrary/MeshOpsPluginBPLibrary.html
Example Project: N/A
Important/Additional Notes: