Make Ivy’s in 3ds max

vy’s are designed to grow in scenes with real-world scale !!
ivy’s don’t look that nice on a 500m tree…  so, try to use this max-feature…
growing an ivy is actually as easy as writing a plugin :))
it’s even more easy if you read what’s written below…

1) plant an IvyRoot
2) hit the “Grow” button
3) watch it growing in your viewport
4) stop growing by hitting the “Grow” button again
5) a Multi/Sub-Object Material is already assigned for mapping your ivy
6) want a grow-animation ? – set keyframes for the ivy age

version 0.76b changes:
– increased ranges for spinners (request)
– 3ds Max 7/8 version (request)
– better leaf-orientation algo, i think…

version 0.8b changes:
– load/save presets (requested)
– variable vertex colors by leaf-age (requested)
– fixed: when changing cs-distance branches were too thin

version 0.81b changes:
– increased ranges for spinners again (request)

version 0.82b changes:
– fixed: when using backburner ivys were moved to world center
– fixed: crash when deleting a growing ivy

version 0.9b changes:
– fixed: non-visible deselected ivy at age=0 (since 3ds max 2009)
– fixed: bug in preset-loader (leaf-size was never read)
– fixed: bug in root-mesh creation (diameter of crossections was wrong for last 3 nodes of a branch)
– fixed: branches had flipped uv’s
– removed: “visible edges” option (produced too much confusion)
– new: age can be adjusted beyond iterations of growth, age is shown in bold if above iterations
– new: pickable leaf geometry (any geom. object, helpers or linked geometry with materials and multiple map-channels)
– new: transform override for referenced leaves

version 0.91b changes:
– fixed: crash when clicking in viewport while ivy is growing

version 0.92b changes:
– fixed: when a leafmesh is crated before an ivy which is using it, 3ds max crashed on exit

version 0.93b changes:
– new: aspect for branch crossection
– fixed: bad multithreading bug, now it should realy use all your cores, and should be faster too
– no more support for 3ds max 7 and 8 !!

ok, lets grow one…

first you need to place an ivy-root into your scene, but where to find this thing ?
go to “Create” panel  –

choose “Geometry”  –

select “Guruware” from the list  –

check “AutoGrid”  –

select the “gwIvy” object  –
add the object somewhere in your scene, the ground is a good place for an Ivy-Root,
but you can put it anywhere you want, only make sure its not below a face (it won’t grow through backside of faces)
you can move an exiting ivy in your scene, rotate and scale won’t work (as designed)
if it should grow up, you need to place it near a wall, or it will mostly creep around on the ground (if there is one)

if you have a real-world scaled scene, you don’t have to change any parameters in the “Grow-Params” Rollout
this bunch of spinners are only for fine-tuning the grow-process – should be obvious what they do…
if your scene is not scaled correct (real-world), you will have a hard time figuring out working values

– max. grow-size per iteration

– amount of growing up

– amount of last grow-direction

– random influence

– gravity influence – usually down:)

– adhesion strength (attraction to mesh)

– max. distance to mesh where adhension will influence growth

– branching probability

– max. floating length of a branch before it will die

– variation of max. length

– max. number of parents (0 = just one branch without child-branches)

– some seed for the randomizers

– number of threads to use when growing – up to cpu’s/cores of your system

– start/stop grow process

– age of grown ivy (used iterations), the one and only aniamteable parameter

– stop grow at specified age (when enabled), so you can go for a coffee while it grows

– live branches of ivy, only live branches are growing

– nice to see how long it took…
now hit the “Grow” button and watch magic at work
while it’s growing you can still navigate in your viewport (as long as you don’t deselect the growing ivy),
or setup your materials, or whatever…
after growing you might want to adjust some mesh parameters to give it the look you want

size of an ivy branch (radius) –

random seed –
(for leaf distribution/orientation)

size of leaves –

– number of branch-sides

– aspect for crossection

– distance of crossections
(to reduce face-count)

– add some chaos to the leaf-orientation

– density of leaves on a branch

here you set visibility of ivy-branches and leaves for viewport AND rendering

– Main Branch: the first branch having no parents

– Old Branches: branches with parent- and child-branches

– Young Branches: branches with parent-branches only

– smooth branch-mesh

when you create an ivy a Multi/Sub-Object Material is already assigned to it
gwIvy01 has material IvyMaterial01 asigned, gwIvy02 has material IvyMaterial02, etc…

open the material-editor and pick the material from the ivy using the eye-dropper

ivy-textures can be found at Thomas Luft’s Ivy Generator page
the used images for such leaves are “pointing down”, most textures for leaves are pointing up
for me leaves are hanging down from plants… and Z is up – but that’s another story 🙂

you get a material with one slot for the branches and 12 slots for leaves (you don’t need to use all of them)
each leaf-material got a RGB Multiply map, with the diffuse leaf texture and a Vertex Color map
on creation of an ivy 2 maps are generated for you (_ivy_d.tga and _ivy_o.tga)
this textures are put into the first foud map directory (usually maxRoot/maps), they will be your standard textures
for each new created ivy
this 2 maps are not overwritten when they are already available, so you can exchange them with your own
default leaf textures

in the ivy’s texture-rollout you set how to apply the branch texture, number of the leaf-materials,
the amount of each leaf-material to use, and vertex colors for each leaf material

– usage of vertexcolors on/off

– defines the height of the used texture, tiled along a branch

– rotation of branchtexture (in degrees)

– number of texture-twists along a branch

– random seed for leaf-material distribution

– number of leaf-materials to use

– amount of leaf-material #1 and vertex colors

– amount of leaf-material #2 and vertex colors

– amount of leaf-material #3 (last used leaf-material is calculated) and vertex colors

– amounts for old branches and vertex colors

– amounts for young branches and vertex colors

– update leaves after adjustments
uncheck auto-update below if you have a heavy ivy-mesh and things get slow

– auto-update leaves when adjusting spinners

you can copy vertex color settings between leaf materials by drag/drop from one vertex-color button to another
or swap settings by holding down CTRL while doing this drag/drop (without an annoying dialog asking you what to do)

this dialog appears when clicking on one of the vertex-color buttons next to the ammount spinners

– tells you which leaf-material you are working on

– Color variation (different for each color below)

– Color space where variation takes place (RGB or HSV)

– R or H – variation

– G or S – variation

– B or V – variation

– Color setting by leaf-age, again… leaf-age, NOT ivy age !!!
this way you can have the leaves change color while the ivy grows older
the possibilities are…
… not endless, but there are some 🙂

– on: tuns usage of this color setting on/off

– age: the leaf-age when this color is to be used
the color is interpolated between the prev. color and this one

– color: well… the color

– pL: use this color per leaf
when off, each vertex of a leaf will get a different color

some notes on usage:

to make this work, turn on “Use Vertex Colors” in Texture-Rollout
open material-editor and disable all maps in viewport (can be found in mat-edits menu)
now you should see the colors change on the leaf quads

if you want to see you leaf with opacity in viewports, you have to uncheck the corresponding diffuse-map
in material-editor – a “global-diffuse-off-switch” in texture-roolout would turn off all diffuse-maps in your scene,
that’s why there is no such switch in the ivy-rollouts

variations and colorspace for each color can be different (except for Hue)
try to avoid using Hue-variations when animating
when turning off the pL-switch for a vertex color, do this for all used colors

make sure “Redraw Scene On Window Expose” is ON, or you get no viewport-response when changing colors

here it is, the highly demanded custom leaf geometry… happy now ?

– on/off using this geometry (if not, internal leafquad is used again)

– pick-button to pick your custom leaf geometry

– on/off transform override – double-click opens “transform dialog”

pick any geometry object or helper in your scene to use as leaves (including linked children), nurbs also if you wish…
the current ivy-material is updated, including all used map-channels on references
this references can be animated, eq. you can add growing bananas onto your ivy, or bipeds…
or add some animated noise to a leaf geometry to simulate wind…

leaf-size in mesh-rollout will have no effect on leaf-references, also vertexcolors from texture-rollout are not used,
vertexcolors have to be set on the used reference (if needed)

you can copy transform settings between references by drag/drop from one transform button to another
or swap settings by holding down CTRL while doing this drag/drop (without an annoying dialog asking you what to do)

take care what you do… using a 10.000 poly mesh as a leaf for 50.000 leaves on the ivy is not working so good 🙂

this dialog appears when double-clicking on one of the tranform buttons in LeafMeshes rollout 

– tells you which leaf-reference you are working on

– tanslation and variations for a reference

– use local leaf-space or word space

– rotation and variations for a reference

– relative or absolute rotation

– scale and variations for a reference

– use local leaf-space or word space

should be obvious what this one does…

– Load and Save of Presets

each and every value is stored in such a preset, including vertexcolor settings and transform overrides

additional notes:

ivy’s shouldn’t grow on windows, correct ?
to inform the ivy of such situations you have to freeze your window-meshes
this way such a frozen mesh will still be used for collision-detection,
but the branches will die there faster than on unfrozen meshes
if you have a modifier applied to an ivy you won’t see it growing in viewports (no mesh is generated while growing)

to speed-up growing:

– turn off “Use Selection Brackets”
– hide all objects where it won’t grow anyway, too much faces in your scene will slow down the grow-process
– whenever possible split big meshes into some smaler ones, but having 10.000 objects also doesn’t help much 🙂
– disable all modifiers you might have on top of an ivy-object

if the ivy isn’t growing the way you want, you can stop growing any time,
adjust age and/or grow-params and start growing again

having any questions ? – feel free to ask (you will see my e-mail addr. when clicking on the donate-button)
you don’t have to donate at this point, it just keeps me from geting spamed…

and now… have fun!

Copy from


Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập: Logo

Bạn đang bình luận bằng tài khoản Đăng xuất /  Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất /  Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )


Connecting to %s

%d bloggers like this: