IvyGen: Generating Ivy in Blender (Updated 2 Aug 2011)


(TrumanBlending) #1

Introduction
Here is an addon for Blender which generates ivy on objects. It is a port of the well known standalone program Ivy Generator (http://graphics.uni-konstanz.de/~luft/ivy_generator/) which has been made with the permission of the original author Thomas Luft. It is also a continuation of the efforts of Blender users testscreenings and PKHG.

Download Location
https://svn.blender.org/svnroot/bf-extensions/trunk/py/scripts/addons/add_curve_ivygen.py
Right click and ‘Save As’

Requirements
In order to use this script a build of Blender after r38676 is required.

Alternatively, a build of Blender after r38855 includes IvyGen by default.

Usage

  • Download the file under “Download Location” and place it in your add on folder.
  • Enable the addon through User Preferences.
  • Place the 3D cursor where the Ivy should start growing.
  • Select the object to grow ivy on.
  • Select Add -> Curve -> Add Ivy in the main menu.
  • Ivy parameters appear in the Tool Shelf (T-KEY).
  • Change any ivy properties.
  • To see your changes take effect, click “Update Ivy”.

Examples



Cheers,
Truman


(Meta-Androcto) #2

Hey truman!
This is an amazing script.
Thank you so much for all the hard work.


(Ulf B.) #3

Many thanks for the adaption - no more imports/exports for generating trees and now for ivy as well!

You rock dude!


(udeystar) #4

Traceback (most recent call last):
File “J:\000.DOCUMENT\Downloads\blender-2.58-windows64\2.58\scripts\addons\add_curve_ivygen.py”, line 534, in execute
IVY.grow(radius, ob)
File “J:\000.DOCUMENT\Downloads\blender-2.58-windows64\2.58\scripts\addons\add_curve_ivygen.py”, line 312, in grow
local_maxAdhesionDistance)
File “J:\000.DOCUMENT\Downloads\blender-2.58-windows64\2.58\scripts\addons\add_curve_ivygen.py”, line 390, in adhesion
nearest_result = ob.closest_point_on_mesh(loc)
AttributeError: ‘Object’ object has no attribute ‘closest_point_on_mesh’

location:<unknown location>:-1

Where dir i put the ivyGenerator.exe ? it still need or not


(Ulf B.) #5

This is an error message I got as well- but hey, it is Beta.

@ TrumanBlending

The python-API documention seems not to have any description about any property “closest_point_on_mesh()”.
Are you using a different built than the standard 2.58a?


(DrBouvierLeduc) #6

TrumanBlending, you’re my hero !
Having ivygenerator directly within blender is really usefull, even more provided the original program doesn’t work anymore (at least for me, on linux).


(Atom) #7

I get that same error mentioned above using 2.58 r38446 32bit Windows XP64.

In a new scene I deleted the cube and added a Text object. I typed the word “Ivy”. I extruded the text and then converted it to a mesh.


(TrumanBlending) #8

Hi All,

Apologies for the confusion, I should have stated that you require a build after r38449 to use this script. closest_point_on_mesh() was added at that revision.

Cheers,
Truman


(Atom) #9

I pulled down the latest build r38533 and the script does run, but using the default settings that pop up seems to produce an infinite loop. It has been running for over an hour and still has produced no results.

What are some “good” settings to use for quick results?

PS: The pop up is annoying feature. So I put my settings in and then go to the bottom of the popup to click the Ok button and I missed with the mouse and the popup disappeared. Sure enough, when I run it again I have to put my settings in all over again. This script would benefit from having all those parameters in the Tools panel like traditional scripts. IMHO.


(aljo) #10

r38492 64 bit
Win7 x64
I also get the infinite loop.

Allen


(PKHG) #11

Me too,
Yes, we are looking for it , so wait some time, will be removed …
Peter


(TrumanBlending) #12

Hi All,

Thanks for the feedback and an update has been made to hopefully fix this. I believe the infinite loop problems were most likely caused by the starting point being too far from the surface or exactly on the surface. Let me know if the update helps. Also please note that “Gravity Weight” should not be set to 0. This will be fixed soon.

Cheers,
Truman


(TrumanBlending) #13

Here’s a fantastic image from mfoxdogg:


Cheers,
Truman


(PKHG) #14

And here with the latest version generated:
http://www.petergragert.info/pmwiki/uploads/Ivy/ivy2.png


(DrBouvierLeduc) #15

Not sure if this is a bug : when I launch this addon via the search panel -> IvyGen, the popup appears, but when I click “ok” nothing happens.
When I use add -> curve -> Ivy, it works fine though.


(Atom) #16

Ah!

The 3D Cursor controls the starting point. I missed that. Now I am getting output.

Presets would be nice. Like how do I make a longer, less dense ivy that will render quickly?

Attachments



(PKHG) #17

Investigating ourself!
The basis is not from truman or pkhg, only ‘adjusted’ to the newest version

Here is ‘my’ test version https://svn.blender.org/svnroot/bf-extensions/branches/ivygen/pkhg_ivy/
With menu panel in the toolshelf of View3D to see effects of changing parameters! (and a time limitation is build in to prevent an infinite loop)
EDIT
Still available but use the link TrumanBlending refers to (22-7-2011), is THE version.


(TrumanBlending) #18

Hi all,

After some extensive changes, version 0.0.2 is now available. See the first post for download link. Changes include:

  • Correct checking for ivy continued growth
  • The addition of a panel to change properties and a button to grow the ivy
  • Notifications in the console of generation progress
  • Faster leaf generation
  • Different defaults for (hopefully) faster generation

Cheers,
Truman


(Atom) #19

Version 0.02 seems to have some problems. I pulled the script down and pasted it into a text window. When I run the script it no longer appears in the View 3D/Add/Curves menu, like the previous version did. So I pressed space bar and typed ‘ivy’ in the search box and it did show up. I assume as an operator because when I clicked on it in the search box it simply ran without offering up any chance to change or set parameters.


(TrumanBlending) #20

Atom,

My apologies for not updating the instructions for using the script. Please see the first post for updated steps.

Cheers,
Truman