Blender Geometry Node to Unreal Geometry Script Translation
Included in this pack is an extension to the existing Geometry Script feature in Unreal. This adds in several new nodes and functions that mimic some of the nodes seen in Blender's Geometry Nodes.
Also included is a rudimentary "export" python script that will export any node group to a text file which is later read by the Unreal Editor Utility Widget "importer". The importer will create a new dynamic mesh file.
Features:
- Extended Unreal Geometry Script Node list
- Import/Export from Blender's Geometry Nodes to Unreal Geometry Script
Code Modules:
- GeoNodesToGeoScript Utility Editor Widget
- MakeBlueprintNode Editor
Supported Development Platforms:
Tested On Unreal 5.2
Untested on earlier versions, but it must support Geometry scripting to work
Tested on Blender 3.5, 3.6, 4.0, 4.2. It should work for all versions 3.0+
Usage:
Open Geometry node group
Open python script "\Plugins\GeoNodesToGeoScript\Content\GeoNodesExportScript.py"
Change
output_file_name
blender_file_directory
to whatever name and directory you like.
Run script
Note the directory and file name and make sure they were created
In Unreal, Go to Plugins -> GeoNodesToGeoScript
R-click "Converter" and click "Run Editor Utility Widget"
***NOTE*** This is NOT the same thing as running the game. The widget is just for you, the editor.
Change the Source and Destination text boxes as appropriate
Click convert.
NOTE If the destination file exists, it will fail without warning/errors.
NOTE The newly create file must not be edited until the widget is closed.
Important/Additional Notes:
While the "Index" node is translated, the "index numbering" changes multiple times between different versions of Blender. If you use index numbers extensively, you'll have to re-do the index numbers after imported.
Not all nodes have been translated. More will be added as time permits.
All connections should automatically populate for all working nodes.
Supported nodes:
Group Input
Group Output
Sub-group nodes
Connection ReRoute nodes
Attribute-AttributeStatistic
Attribute-CaptureAttribute
Attribute-StoreNamedAttribute
Curve-Primative-CurveLine
Curve-Primative-CurveCircle
Curve-Operations-CurveToMesh
Geometry-Sample-Raycast
Geometry-Operations-MergeByDistance
Geometry-Operations-SeperateGeometry
Geometry-Operations-TransformGeometry
Geometry-JoinGeometry
Geometry-Read-Index (With a lot of caveats)
Geometry-Read-NamedAttribute
Geometry-Read-Position
Geometry-Write-SetPosition
Material-SetMaterial
Material-SetMaterialIndex
Mesh-Operations-DeleteGeometry
Mesh-Operations-ExtrudeMesh
Mesh-Operations-ScaleElements
Utilities-Color-CombineColor
Utilities-Color-SeperateColor
Utilities-Math-Compare
Utilities-Math-BooleanMath
Utilities-Vector-CombineXYZ
Utilities-Vector-SeperateXYZ
Follow this project at: https://www.patreon.com/BAMStudios501
Video Demo of pre-alpha testing: https://youtu.be/0EdR-YOZM4s