# Differential Growth Addon

**URL:** <https://blenderartists.org/t/differential-growth-addon/1364087>\
**Category:** Released Add-ons and Extensions\
**Tags:** modeling, simulation, animation\
**Created:** [February 25, 2022, 12:46pm UTC](https://blenderartists.org/t/differential-growth-addon/1364087 "2022-02-25T12:46:04Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Boris\_Okunskiy](https://blenderartists.org/user_avatar/blenderartists.org/boris_okunskiy/32/608938_2.png) [@Boris\_Okunskiy](https://blenderartists.org/u/Boris_Okunskiy)\
**Post date:** [February 25, 2022, 12:46pm UTC](https://blenderartists.org/t/differential-growth-addon/1364087/1 "2022-02-25T12:46:04Z")

</div>

Hello everyone 👋

I’m excited to add my humble contribution to the community. Meet [Differential Growth Addon](https://boris.okunskiy.name/posts/blender-differential-growth) — a procedural mesh generator that produces nice curly organic shapes.

A couple of examples:

If you like what you see please check out [the tutorial video](https://www.youtube.com/watch?v=Q-nu3SOcvOg) and let me know what you think.

---

<div class="post-metadata">

**Author:** ![KAUSTIK](https://blenderartists.org/user_avatar/blenderartists.org/kaustik/32/1215462_2.png) [@KAUSTIK](https://blenderartists.org/u/KAUSTIK)\
**Post date:** [February 25, 2022, 1:08pm UTC](https://blenderartists.org/t/differential-growth-addon/1364087/2 "2022-02-25T13:08:45Z")

</div>

Ermahgerd YES

this is all the right kinds of weird

 ![Bildschirmfoto 2022-02-25 um 14.07.47](https://blenderartists.org/uploads/default/original/4X/8/8/7/8871b7d9c370c6384976a0cd7f661c7f341db630.jpeg)

---

<div class="post-metadata">

**Author:** ![Boris\_Okunskiy](https://blenderartists.org/user_avatar/blenderartists.org/boris_okunskiy/32/608938_2.png) [@Boris\_Okunskiy](https://blenderartists.org/u/Boris_Okunskiy)\
**Post date:** [February 25, 2022, 1:37pm UTC](https://blenderartists.org/t/differential-growth-addon/1364087/3 "2022-02-25T13:37:20Z")

</div>

It also doesn’t have to be a flat shape. Just to give you folks some ideas, here are some 3D-printed pendant lamp shades which I created with this very addon:

 ![IMG_6800](https://blenderartists.org/uploads/default/original/4X/a/8/c/a8ce0cc537b786817efd3da06bac37b4a56a509b.jpeg)

 ![IMG_6802](https://blenderartists.org/uploads/default/original/4X/d/3/2/d32f1c664921cf9fca56e50f091680bae481b5d1.jpeg)

---

<div class="post-metadata">

**Author:** ![KAUSTIK](https://blenderartists.org/user_avatar/blenderartists.org/kaustik/32/1215462_2.png) [@KAUSTIK](https://blenderartists.org/u/KAUSTIK)\
**Post date:** [February 25, 2022, 3:08pm UTC](https://blenderartists.org/t/differential-growth-addon/1364087/4 "2022-02-25T15:08:55Z")

</div>

HEEEEEELLA slow for me with solid objects tho.

it would be really cool if it could automatically convert the weight paint to vertex color for use in shading

there’s a script for that but i don’t know any python myself or how to work with these things at all even.

[https://bitbucket.org/kursad/blender\_addons\_weight2vertcolortransfer/src/42070d95e0063df441b4f2d617492669b690592c/src/vertex\_color\_weight\_transfer.py?at=master](https://bitbucket.org/kursad/blender_addons_weight2vertcolortransfer/src/42070d95e0063df441b4f2d617492669b690592c/src/vertex_color_weight_transfer.py?at=master)

---

<div class="post-metadata">

**Author:** ![Boris\_Okunskiy](https://blenderartists.org/user_avatar/blenderartists.org/boris_okunskiy/32/608938_2.png) [@Boris\_Okunskiy](https://blenderartists.org/u/Boris_Okunskiy)\
**Post date:** [February 25, 2022, 4:02pm UTC](https://blenderartists.org/t/differential-growth-addon/1364087/5 "2022-02-25T16:02:03Z")

</div>

Yep, it can be slow (or even hang as per [my note here](https://github.com/inca/blender-differential-growth#important-notes)), especially if:

- the repulsion radius is too high with very high resolution (means more vertices are processed for calculating a single vector — O(N^2) + k-d tree performance cost)
- the number of vertices is generally high; on my machine it becomes sluggish at 50-60K vertices and outright slow when above 200k vertices or so, and applying subdivision surface on top can take a few minutes)

I currently don’t know of any reasonable workarounds, but lmk if there are some things to try.

---

<div class="post-metadata">

**Author:** ![AlphaChannel](https://blenderartists.org/user_avatar/blenderartists.org/alphachannel/32/1432111_2.png) [@AlphaChannel](https://blenderartists.org/u/AlphaChannel)\
**Post date:** [February 27, 2022, 12:18am UTC](https://blenderartists.org/t/differential-growth-addon/1364087/6 "2022-02-27T00:18:15Z")

</div>

@Boris_Okunskiy

Thanks!

Great fun to play with, found it last night over on r/blender

 ![image](https://blenderartists.org/uploads/default/original/4X/6/e/4/6e4f7c7a405ffcba0c64b73c7de0d780d8c73e80.jpeg)

Any chance you have any plans for better control of animating it?

I can obviously run bpy.ops.object.diff\_growth\_step()

but controlling via Geonodes with #frame would be great!

---

<div class="post-metadata">

**Author:** ![Boris\_Okunskiy](https://blenderartists.org/user_avatar/blenderartists.org/boris_okunskiy/32/608938_2.png) [@Boris\_Okunskiy](https://blenderartists.org/u/Boris_Okunskiy)\
**Post date:** [February 28, 2022, 7:39am UTC](https://blenderartists.org/t/differential-growth-addon/1364087/7 "2022-02-28T07:39:27Z")

</div>

Yep, still watching the development of geonodes; at the time of writing I can’t see how to fit the simulation based algorithm (i.e. each step depending on the result of a previous step) into a node model (i.e. a function executing right-to-left); plus the tools for working with topology aren’t nearly as powerful as Python’s BMesh. But I keep looking.

---

<div class="post-metadata">

**Author:** ![AlphaChannel](https://blenderartists.org/user_avatar/blenderartists.org/alphachannel/32/1432111_2.png) [@AlphaChannel](https://blenderartists.org/u/AlphaChannel)\
**Post date:** [February 28, 2022, 1:03pm UTC](https://blenderartists.org/t/differential-growth-addon/1364087/8 "2022-02-28T13:03:07Z")

</div>

Yes, I realise the problem, until we get loops in geonodes, not possible yet,

But how about some sort of hybrid?

a kind of one way animation tied to the frames and an initial state, much like baking?

Baked mesh anim save every model (since vertex count is gonna change)

Or animating by shape keys until the vertex count changes, then load next mesh on frame x.

Maybe I should just rip each model at each frame, and save to Alembic.

Thoughts?

---

<div class="post-metadata">

**Author:** ![mik01aj](https://blenderartists.org/user_avatar/blenderartists.org/mik01aj/32/3474_2.png) [@mik01aj](https://blenderartists.org/u/mik01aj)\
**Post date:** [March 6, 2023, 9:04am UTC](https://blenderartists.org/t/differential-growth-addon/1364087/9 "2023-03-06T09:04:13Z")

</div>

Hey @Boris_Okunskiy, I just discovered the addon and I love it! I was thinking, this plugin would fit perfectly into the simulation nodes framework that’s coming with Blender 3.5. Do you have any plans of extending this addon in the future?

---

<div class="post-metadata">

**Author:** ![Boris\_Okunskiy](https://blenderartists.org/user_avatar/blenderartists.org/boris_okunskiy/32/608938_2.png) [@Boris\_Okunskiy](https://blenderartists.org/u/Boris_Okunskiy)\
**Post date:** [March 19, 2023, 4:54am UTC](https://blenderartists.org/t/differential-growth-addon/1364087/10 "2023-03-19T04:54:56Z")

</div>

Hey 👋 Simulation nodes is a definite game changer. It feels like everyone could do something similar to what my addon is doing by simply putting together a few nodes.

That being said, one potential blocker is the adaptive edge subdivision; the algorithm relies on being able to insert new nodes (analogous to cellular mitosis from where the whole “growth” part emerges), and the results you see are largely possible due to a nice topology created by the addon. This functionality definitely exists in Python APIs, but I haven’t seen anything similar in the nodes just yet.

On that note, does anyone by any chance know whether there’s any development planned for adding selective edge/face subdivision nodes?

---

<div class="post-metadata">

**Author:** ![Kranos](https://blenderartists.org/user_avatar/blenderartists.org/kranos/32/567877_2.png) [@Kranos](https://blenderartists.org/u/Kranos)\
**Post date:** [December 12, 2023, 7:19pm UTC](https://blenderartists.org/t/differential-growth-addon/1364087/11 "2023-12-12T19:19:41Z")

</div>

still working with 4.0?

---

<div class="post-metadata">

**Author:** ![ge5](https://blenderartists.org/user_avatar/blenderartists.org/ge5/32/1341256_2.png) [@ge5](https://blenderartists.org/u/ge5)\
**Post date:** [January 29, 2025, 4:30pm UTC](https://blenderartists.org/t/differential-growth-addon/1364087/12 "2025-01-29T16:30:22Z")

</div>

I am wondering how you “screen-captured” then animations in your demos?(since the growth add-on can’t be animated).  
Thank you.

---

<div class="post-metadata">

**Author:** ![melvi](https://blenderartists.org/letter_avatar_proxy/v4/letter/m/ecb155/32.png) [@melvi](https://blenderartists.org/u/melvi)\
**Post date:** [January 30, 2025, 11:00am UTC](https://blenderartists.org/t/differential-growth-addon/1364087/13 "2025-01-30T11:00:10Z")

</div>

Beautiful work, mate 👍
