GreenCrowDev / hoodie

Hoodie is a plugin for Godot Engine 4 that offers a visual scripting interface for generating procedural geometry.
MIT License
223 stars 5 forks source link

Implement attribute system #72

Closed GreenCrowDev closed 3 weeks ago

GreenCrowDev commented 3 weeks ago

Most of the changes have been made to accomplish behavior in the Curvature.tscn demo.

HoodieData, HoodieArrayMesh and HoodieGeo are the most notable class introductions.

HoodieData has been introduced to pack data you want to pass between nodes in only one object (e.g. now to pass the arrays necessary to create a Godot ArrayMesh you want to use HoodieArrayMesh). This also simplifies introducing custom data tabs in the inspector to debug the data returned by the nodes (e.g. now you can inspect mesh data through sub-tabs).

HoodieGeo is a mesh representation that takes Houdini geometry data as a reference:

From this merge HoodieGeo will probably become the main data type for nodes, since it enables more complex behaviours.

Outputs for nodes are now stored in a Array defined in the HoodieNode class, as this seems a cleaner solution to the previous one, where a new variable was needed for each new node class.

Most of the guards in HoodieNode _process() have been deleted since they were almost useless: more crashes are now expected, but they will be addressed in the next PRs.