After a long time away from forums and other mighty horrors I've decided to say "Hi" again with a little present, if you will. A tiny tutorial for all those, who'd like to make a set for their characters.
The project I was working on made me do a good number of elaborate landscapes together with Fred Tepper and even Kursad (Plecxus) Karatas, who participated for a little while. Those had to hold up to an insane resolution (10755 x 1080) and had to be viewable from almost all angles thanks to the outrageous and innovative venue it is for. But that's not the topic of this thread. What makes it interesting for the following is the fact that I got a lot of practice with large environments and designing them in the most efficient way possible, because of very tight circumstances for such a large enterprise. The whole thing was underwater for the most part, but now I decided to play around with something above water instead.
The real reason for this mini tutorial has been of a different nature. On of my best friends, Gary DeVore, is currently exploring set design within messiah and the workflow we developed for the above. The mini project he had chose involved the creation of pine trees, or needle trees for that matter. Although it's been a good idea to use the new hair in messiah I thought I could try an alternative for him to see how well that would work instead. It literally took 15 minutes to make this experiment and inspired me to make a bit of a larger set myself.
The hair, which has been done during last year, was something I didn't get to play with at all for the whole duration of the underwater project. By the time it was done, we already had worked out other ways to plant our ocean gardens, hehe. However, this mini experiment has been a fantastic opportunity for me to do my babysteps with what we have now, so I used the hair for grass (Oooh, the surprise).
Aside from that I also used that fantastic "ivy generator (http://www.sharecg.com/v/3013/software-and-tools/Ivy-Generator-Version-1.3)" that is floating around on the web for a while, I take it. Gary had found it and shared this treasure like discovery with me. How beautiful! It takes a moment to figure out how to make the most efficient objects with it, but even that process is mostly fun. Just watch out that you don't grow too much! With the proper settings and optional object replacements (other types of leaves than the build-in ones) you can generate even some great bushes and the likes with it. Besides what ever else wild thing you might think of, of course.
Alright... let's cut to the chase. This is truely just a tiny-mini-tutorial to inspire you a little! But I thought it was so much fun, I just have to share it with you.
workstation - Mac Pro (8core @ 3Ghz, 8Gb RAM, Nvidia GeForce 7300 GT)
software - messiah:Studio for rendering (dah), LW for modeling, ivy generator for ivy, Photoshop for textures and a little post (bloom, CC)
geometry - 7 objects, 175114 polygons, 10 instances of trees, Hair (5/cm roughly 3.2 million fibers with subdivision level 4)
camera settings - Zoom: 3.2, Type: Lens, Compensation:1.0
rendertime - 1024x640 in 2m41s at AA Level 2
pine tree was 15minute experiment, "leaf"-tree was a 30minute experiment, ivy was a 10 minute joy and playing with it all entertained me for days (late nights that is)! I've done various camera flights through it as well as stereo 3d renders. If anyone still has some anaglyph glasses flying around, I can post an image for you here, too!
Enough dry stuff, here's what this looks like...
This is the origin of the whole thing, they little test to find an easy way for making a decent looking needle tree. Conceptually this is ridiculously simple. The following image shows the model and almost all there is to know about it in one snapshot of the LW modeler's interface.
Initially I just modeled the branch real quick, whereby I use a method which some may want to question. I make a simple quad polygon and then extrude it. I extrude each sub-branch out of the sides and eventually simply keep the top facing polygons. The rest gets deleted. This takes virtually a few seconds to do, if you've modeled 12 years straight, HAHAHA. But even for a beginner it's very easy, honestly. Then I grabbed a uvmap from top (y axis). Afterwards it's just about cloning the branch how ever many times you want and arranging them to look like a pine tree (really, Bob Ross would've loved it, I'm telling you!). Scaling and rotating does the trick, whereby at the top end I was just using tips of the branches to not make them squeezed too much when using the whole branch. The last step of that process was to make a silly stem straigh through the middle. I just added the stem geometry into the existing uv map, which would allow me to just use one set of textures for the texturing of the entire tree. I was not anticipating any closeups of the inside of the tree, therefore it was not relevant to have any coverage of the stem's polygons in the uvmap. Just the whole thing up in the left corner of the uvmap.
In Photoshop then I quickly painted the needles and branches onto the snapshot of the uvmap. First came the opacity and bump map, then color and eventually a glow map, which I so ingeniusly conceived as a little hack to simulate more complicated shading events during rendertime. Let me first show you what all the textures look like (I overlayed the original uv mapped geometry, just so you can see where the stuff sits!):
In the glow map you can see how the tips of the tree would be brighter than the base. This is to simulate how more light reaches the outside than the inside. It's meant to simulate a bit of translucency and radiosity at the same time. I also decided against using radiosity for that render, because I didn't care about it, haha. It was just a tree experiment, nothing else.
You can also see that the stem always got a little something up there, too. I neglected any details, because... there ain't nothin' to see in this case, so why bother.
The most entertaining thing about this tree is the fact that the whole shader system for it simply contained those three maps, that's all. The whole tree only has one single surface. It's extremely efficient and very nice to handle in the scene. It's practically its own proxy. However, the needles did get the opacity map as bump map as well and are not only subdivided but also displaced during rendertime. That really helps to maintain some decent looks, even when the camera comes frightningly close. :argh:
After having put together a little test scene for the pine trees and slapping on the grass I really wanted to put more into it, so I thought of making yet another experiment. An ordinary tree with some ivy on. Of course, I was too lazy to make foliage on the branches, while I must rather enjoying saying that I didn't have the time, but -no really- it wasn't important enough for me at that point and I got scared. Back to the tree itself, I thought of making simply a model using LW's magic bevel at really low levels to not generate too much geometry. They all had a slight twist to make it more natural. Seemed like a good idea at the time, if I weren't thinking of step #2, which involved straighting all the branches back out and along the y axis to create a morph. Painstakingly I've done that...took me many minutes but felt like hours or days... by branch #8 I thought it was winter again... then closed the window. However, swapping base mesh with morph I brought the whole thing into messiah. Here's what that looked like (no, not the freezing and delusional me, the tree morph!):
The straightend out tree would then get proper procedurals (noisette), which had a bit of a stretch along the y axis. After morphing back (using the endomorph, I may add) the noisey bark would run along the branches as if it grew that way! Very simple and effective way to make rather complex looking textures on objects without a single brush stroke or much of a design effort (aside from seasonal confusions!). Along the way I also realized that I could use different levels of morphs on copies of the object and optional texture changes to really make different looking trees out of this one model and setup.
Here's a look at the shaderflow for one of the leaf trees' materials (shader nodes):
This one was only a little bit more complicated, because I played around with moss and old wounds (broken off branches and so forth).
Here now a look at the hair interface first panel and the whole scene for the above rendered frame:
It's the first time I've used our own hair, if you can still remember what I wrote up there, haha. So there's a lot of wild testing in there. The coolest thing, however, was painting and using a distribution map for where the hair should grow. I took a snapshot from above my scene and painted in photoshop a little map for it. Works like a charm! :thumbsup:
The only drawback might be my "lousy" gfx board, compared to the rest of the machine, but with the reduction of visible hair in openGL it was still very enjoyable. Rendertimes don't seem to be to worried about any amount of hair, whereby RAM can hyperventilate at a certain point, hehehe.
To give you an idea of what it looked like to render this, here's a pure render shot with the proper rendertimes underneath. 8 cores do rule, but well... this is now. Tomorrow we'll have 16, 32, 64 or find another word for "core". So while I celebrate 2minutes 41secs now, we'll probably laugh whole-heartedly about it in the near future already.
SO, I think that's it for the little tiny-mini-tutorial on how to bring our fun and games to the outdoors without letting go of the coffee-mug. I sincerely hope you don't mind me ignoring practically everything that had been going on on this forum for the last year and find some fun in having me back. Who knows for how long that lasts, but at least I get to share a little bit with you.
If you all liked the above, I might even give you a little underwater tutorial at some point. Just don't ever ask me about architecture, hahaha! :scream:
All the very Best to you,