Saturday, December 11, 2010

How to use the Ivy Generator with Blender 2.5

Hello, everyone!  In this tutorial, I will be teaching you how to use the Ivy Generator with Blender 2.5.  The Ivy Generator is a separate application, not an add-on in Blender, so here's the link: http://graphics.uni-konstanz.de/~luft/ivy_generator/

This is the final result of this tutorial (with a few tweaks and post-processing):



The installation process is fairly straightforward, but when you're trying to open the application, it might get a little confusing.  Once you've installed it, and extracted the files so they are no longer in a zipped folder, what you need to do is go into the 'bin' directory, and the application is right there.  I recommend creating a desktop or taskbar shortcut so you don't have to relocate it wherever it was that you installed it.

However, there's still one more thing you need to install, and that's this folder of textures located as shown below:


Just scroll to the bottom to find them (don't mind the strange fact that these textures take up more space on your computer than the Ivy Generator did :P)

I'm basically going to re-create a tutorial made by Tim Ellis on the Ivy Generator (you can find it right underneath the textures above), but as there have been some changes between 2.49 and 2.5, that tutorial doesn't work any more (at least, the materials part doesn't).  So I'm going to fix that problem, make your render times 3 times faster than they would have been if you followed the other tutorial, and show you the basics of the generator as well.

So let's get started!

First, open up the scene you want to generate Ivy on.  In this case, I have this pillar here that I will be generating my ivy on.


What we need to do is select the object(s) that we want our ivy to cover (don't mind my lighting setup)


Next, click on File at the top, hover over Export, and select Wavefront (.obj).  You will be confronted with a window that is almost the exact same as when you save a file (so you should be familiar with most of the settings on it).  On the lower left, enable Selection Only, Normals, and Triangulate.


Now choose the location you want to export your object file, and then confirm it.  Now open up the Ivy Generator.


The controls may be a little confusing at first; they are as followed:

Dragging the left mouse button will rotate your view; sort of like what it would be like if you rotated the camera in Blender while in camera view.

Dragging the right mouse button will zoom you in and out.

Holding shift and dragging the left mouse button will rotate your view around the object


Holding control and dragging the left mouse button will pan your view (like it would if you held down shift and dragged the middle mouse button in Blender)

Now click on the option Import obj + mtl, and locate your object file.  At first, you won't see anything, but all you have to do is slightly adjust your view using any of the given controls above and it will refresh the viewport.


The functions are also a little confusing, but after you mess with them for a while, they'll start to make more sense.  For now, the only thing I'm going to tweak is the size.  I'll just raise it a little, as my ivy is a bit too small.  Once you've tweaked all the settings you want, double click anywhere on your object.  This will assign a root point for the ivy to grow from; a little green box will appear where you clicked.


Now click the big Grow button on the right, and you get to watch your ivy grow!  Keep in mind that the more ivy you have, the higher your poly count will be, so don't go too far.  Sometimes, the ivy will stop growing on its own, but most of the time you have to click the Grow button again to stop it.


If you're not happy with your ivy, stop the growth by clicking Grow again, and double clicking somewhere else.  However, if you're happy with your growth, click on Birth to create the actual geometry.


Now all you have to do is export your file by clicking the Export obj+mtl, and choose your file location again.

Just a quick notice, if you've double clicked somewhere, and you've started the growth, but don't see anything, it means the ivy is growing on the inside of your mesh.  To fix this, all you need to do is press the Flip Normals button up at the top (by the import and export options).

Now open up blender again, and load your previous scene (the one you exported into an object file before the ivy generation).  All you need to do now is import the ivy object file, and you should get something like this (in my case, I actually had more ivy than I wanted):


You may be thinking, that doesn't look anything like ivy.  Well, you're right.  That's because the ivy leaves are simply triangulated planes (planes with two triangles on each).  We need to assign them their textures in order to get them to be rendered as actual ivy leaves.  If you rendered now, you'd get this.


It looks terrible.  There are no ivy leaves, just grey planes, as I said above.  What we need to do is use the textures that we downloaded earlier, and insert them into the right materials.

We'll start with the leaf_adult material that you'll find if you go to the materials panel.  Go into the textures panel, and rename the current texture Color_A (A stands for adult, in this case).  Press the button to open an image, and locate the textures you downloaded earlier (created generously by Tim Ellis), and open efeu1.jpg.  Make sure that under the Mapping tab, the coordinates are set to UV.  Now scroll down to the bottom and enable Color under the Specular category.


Now add a new texture, and name it Normal_A.  Make it an image texture with UV coordinates, and open the image efeu1_Norm.jpg.  Under Diffuse, turn off Color, and under Geometry, enable Normal.  Then, under Image Sampling, enable Normal Map and set the type to Tangent.


Now add another texture, and name it Specular_A.  Set the type to image, and the coordinates to UV.  Load the texture efeu1_rough.jpg.  Disable Color under the Diffuse category, and enable Intensity under the Specular category.  Set the value to -1.


Now add another texture, and name it Mask_A.  Set the type to image, load the image efeu1_trans.jpg, and set the coordinates to UV.  Under Diffuse, disable Color and enable Alpha.  Set the Alpha value to -1, and enable RGB to Intensity.


Now add one more texture, and name it Bump_A.  Change the type to Image, load the image efeu1_Bump.jpg, and set the coordinates to UV.  Disable Color under the Diffuse section, and enable Normal under the Geometry tab.


Now go back to the Materials tab, change the diffuse type to Oren-Nayar, lower the Specularity to 0.057, and set the Hardness to 100.


Under the Shadow panel, enable Resieve Transp, so the leaf texture will cast a shadow, and not the whole plain.  And last but not least, enable transparency, and lower the alpha to 0.  The rendertime saver was here, as Tim Ellis had enabled RayTransparency in his tutorial.  It probably would have worked in 2.49, but it doesn't in 2.5, and you get really bad results and a longer rendertime if you change the type to RayTransparency.  That's why we kept it on ZTransparency.

Now simply repeat these steps for the other two materials (leaving out the transparency stuff on the branch material), and render it!  That's it, and I hope you enjoyed this tutorial!

If you rendered now, you should get a result like this:


If you have any questions, comments, or you encountered any problems while following this tutorial, post them in the comments below, or email me at ben.amend@gmail.com.  Thanks for reading!

8 comments:

  1. Cool! That ivy thing is something I've wanted to know about for a while. If I take this and your doughnut tutiorial, then you have to take my next tutorial, no matter how horrible it may be. (It will be in parts.)

    P.S. I already took your roller coaster tutorial, as you well know.

    ReplyDelete
  2. Okay; sorry I haven't been looking at your site lately. I will now, though :D

    ReplyDelete
  3. Okay, here is my result for this: http://dl.dropbox.com/u/5904620/vasays.jpg

    ReplyDelete
  4. sry, wrong link... :D
    http://dl.dropbox.com/u/5904620/rapellys1.jpg

    ReplyDelete
  5. Arman, wow! Better than mine, that's for sure! :D

    ReplyDelete
  6. haha, thanks. But in fact without this tutorial i would not have any sense of how to make that complicated materials to my models. So big thanks about this.
    I did do this tutorial, because i have been fighted by myself with the ivies about few months now for one of my scene and now i think that i know how to make enough realistic ivies to it.

    One more test:
    http://dl.dropbox.com/u/5904620/testiskene.jpg

    ReplyDelete
  7. Cool again! I noticed you used a subsurf modifier on it; I forgot to mention that, as the ivy branches can look really ugly without one. But it seems as though you've figured it out anyway. Great job! :D

    ReplyDelete