GrowthNodes

GrowthNodes是一个Blender插件,用于创建和模拟多边形表面上的有机生长过程。(A Blender plugin for generative content creation and simulation of organic growth processes on polygonal surfaces.)

Github星跟蹤圖

GrowthNodes

An Iterative Approach to Simulation of Organic Growth on Surfaces Using Displacement and Procedural Textures

Compilation

GrowthNodes is a Blender plugin for generative content creation and simulation of organic growth processes on polygonal surfaces. It can be utilized for both destructive and non-destructive content generation.

Simulation is stored as a series of shapekeys which allows fine grain control over the baked data and enables easy transferring of blend files from one user to another.

Video Overview

Background

I was inspired by Computational Growth by Deskriptiv and Wanderers by Mediated Matter and fortunately was assisted to create a fully functional growth simulation toolkit as part of a 3 months development project. However the codebase is larger than what I can maintain alone and is available in a separate branch.

Created with master branch

Branches & Features

The master branch contains only the features that I was responsible for since their maintenance and future development proves to be easier. An exception to this are excerpts of code borrowed for nodetree management from Animation Nodes developed by Jacques Lucke whose addon was inspirational in how we approach user interactivity with GrowthNodes.

The master branch includes the following nodes and features:

  • Mesh objects
  • Procedural Textures (Blender Internal Textures)
  • Image Textures
  • Vertex Groups
  • Shapekeys
  • Animation
  • Geometry Displacement
  • Geometry Dissolve
  • Geometry Subdivide
  • Slope Detection
  • Crease Detection
  • Integer, Float, and Boolean Operations

Created with master branch

The experimental branch (UMOG) has many additional features that require compilation, external python modules and are not fully tested and are often hacky. However this branch deserves much attention as it offers many advanced and optimized features beyond what Blender could provide. These are:

  • GPU computed Gray-Scott Reaction Diffusion
  • Support for both 2D and 3D (solid) textures.
  • Cython optimizations
  • An experimental engine implemented in Cython without calling Blender's Mesh API with up to 50x performance boost for select operations.

Created with experimental RD

Usage

GrowthNodes uses Blender's PyNodes API to facilitate user interaction. Functions and data blocks are represented as self-contained nodes. Such an approach allows for scalable and customized node systems that surpass all static GUI implementation.
enter image description here

Targeted Geometry

GrowthNodes can behave intelligently with regards to existing geometry. User is able to select specific regions based on geometric attributes such face slopes or the angle of crevices. Furthermore one can introduce additional detail by subdividing specific regions on the fly and apply growth only to selected regions. Essentially these are simplified yet powerful utilities to obtain dynamic topology.

Coral growth simulation on text

Future Plans

  • Intersection prevention
  • Correct texture preview
  • Additional parameters fo targeting geometry
  • Persistent vertex groups
  • Mesh sequence export

If you have any suggestions feel free to contact me @hiradsab on twitter.

主要指標

概覽
名稱與所有者hsab/GrowthNodes
主編程語言Python
編程語言Python (語言數: 1)
平台Linux, Mac, Windows
許可證GNU General Public License v3.0
所有者活动
創建於2017-02-02 04:15:25
推送於2023-07-13 04:47:32
最后一次提交2020-11-20 11:43:19
發布數1
最新版本名稱v0.3.0 (發布於 )
第一版名稱v0.3.0 (發布於 )
用户参与
星數335
關注者數40
派生數22
提交數412
已啟用問題?
問題數18
打開的問題數7
拉請求數3
打開的拉請求數0
關閉的拉請求數1
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?