Thursday 27 October 2011

Of working and workflows

Okay, so I'm going to do a little writeup on workflows for how I usually do renders.

Basically, the CAD/3D modelling phase is where most of the hard work is at. Mostly.



WARNING! WALL OF TEXT AHEAD. NOT FOR THE FAINT HEARTED.


We'll take the Group BIMserver project as an example. I've been using this basic workflow since last year's Communications course, so I guess it works for me.



So here's the CAD model, all nice and lovely.


First, I take the model and export it into SKP format. SKP is for Sketchup, for those not in the know. ArchiCAD does not naturally export to this format, but there's a free plugin for Windows-based ArchiCAD clients that allow this ability.


Okay, now in Sketchup. AC exports a bit funny in Sketchup, but that's okay, because it's still workable. The sketchup phase is important for a few reasons.

1. I usually assign placeholder materials for things with textures and or mappings. ArchiCAD's built-in material editor is rather lacking in many fields, and it isn't the most user friendly thing in the universe, since half the time, the textures don't show up, and mapping them onto an object can be a real pain.

2. Sketchup is much faster than ArchiCAD when navigating in 3D. I have a relatively underpowered machine (Dual Core, Integrated Graphics), and I can run Sketchup faster than AC in most cases.

3. Sketchup allows for quick editing of elements. I'm going to say this because AC is more into really accurate stuff, like where walls intersect, wall thicknesses and whatnot. But the populate a room with furnishings and little doodads can be quite a hassle, because you have to manually calculate the elevation and position of each individual object. Sketchup is more 3D GUI based, so it's easier to manipulate elements in 3D than AC.

4. Sketchup library objects are 20% cooler than AC library objects. It helps that I'm used to modelling in Sketchup, so I can custom install furnishings and objects in details that can never be done in AC. Go render a beanbag chair from the AC default library and see for yourself.

5. As with the above, Sketchup has a free model depository called the 3D warehouse. If you need a library object of nearly any configuration, it's easy to get and download. I usually have my own library of components after so many years of Sketchup use, but I do frequent the warehouse for modelling tips.

After this, we take the model and export it to an xml for Kerkythea. Again, exporting in this format is not avaliable for vanilla Sketchup, but there's another free plugin from the Kerkythea website.

You'd be surprised how little information is lost after exporting so many times. I'm as amazed as you are.

Okay, so in Kerkythea. The thing to know with this is that most render engines like Kerky and Artlantis is that they export "materials" as "models". Basically, a model in the engine is perceived as anything that is made of the same material.


So the bottom line is, time to define some materials.

I have a pretty large material library. There's a master listing of really good stuff on the Kerkythea forum, with user-created libraries and packs ready to download. That said, it isn't all that hard creating a simple material from custom textures and whatnot.

This is the material editor for Kerkythea. Here we change all the fine things about a material, how it reacts to the environment and light. You'll also notice how much more complicated and complex compared to Artlantis. This is what I love about Kerky, that it offers so much more freedom compared to Artlantis.

So we do that for every material. Usually I have pre-made materials in my library folder anyway, so it's only a few clicks away.

It's important to note here why the Sketchup phase is important. Assigning a material a texture directly in Kerky is a bit tricky, with projections and scaling being hard to do (I'm not entirely sure on how to do it myself either). Basically, even without a texture, (say, a bump-mapped leather material), it's important to map the texture/map in Sketchup early on so that Kerkythea has a set of UV coordinates to work in.

Okay, materials done. Save. Saving is good. Save two to double the fun.

Now for the shot. Like I said before, think of it as virtual photography.

This is the bit I dislike most about Kerkythea. Navigating through the model is a pain, mostly due to my slow PC. I have to set to Point Cloud Preview to actually navigate properly (and I can't really see anything in this mode). Kerkythea needs a 2D window like Artlantis, and that's all I'd ask for, really.

So we compose the shot, like so. Save a camera to save the shot.


Now we edit the camera settings. This is the part I love most, since Kerkythea is able to mimic a real life camera. I can now use lenses I don't have money to buy in real life!

But no, seriously, this is cool.

Okay, so we have the camera down. Next we think on how to light the picture. Lighting is easy if you're familiar with basic photography tropes/studio lighting/drawing. I usually use a cross-light format, with two light sources opposite of each other. The strong one is the main light, and the weaker one is a fill light for shadows. Again, this depends on the scene you are lighting, and the effect you want to achieve.


Okay, so that's done. Time to go through some global settings. Here we can set for Volumetric Lighting (which I usually don't have enough processing power to do anyway), Soft-Shadows, Ambiance and whatnot. I can also set the background or have a HDRi map here for great accuracy.

Save again. Backups are extremely important in this line of work.


Now for some test renders.

Select camera, select resolution. Rendering method is a quick and dirty Photon Map with no antialiasing as a preview.

Go back to fix anything you don't like. Could be lights, could be a missed material.

Now, back to the rendering buttons. I'd like to add that render times can be somewhat long with Kerkythea, especially on the high settings/progressive settings. I usually send my render file using a private VPN (Virtual Private Network) back home to my home in Kuala Lumpur. My brother has a quad-core machine there, so I can take advantage of the extra processing power. I use Window's built in Remote Desktop to initiate a hostile takeover of his device. *evil laugh here*

So its time for the final renders. Usually for indoors I use MLT, or Metropolis Light Transport, an unbiased progressive render method, with antialiasing on. Usually I get it to about 100 passes to be useful. MLT usually underexposes things, but I boost that in post I guess. (Noisy, I know, but it beats speckly-speculars/reflections). Outdoors are usually Medium/High Photonmaps with AA, because I don't mind hard shadows in wide shots. Also there usually isn't anything really reflective (or at least perceivable) in wide shots.

Render times are dependent on model complexity. I usually let them cook overnight anyway.

Once done, it's a simple save. Save both the working file and as a HDR and PNG. The HDR would be useful for extreme closeup renders, while the PNG is for the final export.


Whew, almost there. I'm tired of typing myself.


Bonus step: Usually after every render, I select all the materials visible and make a mask render. Simple five second process, but with hours of time saving benefits. Basically, it generates a perfect mask of the materials selected. The mask can be applied in Photoshop or any graphics editing program, and you can use it to cut out the background/mask out elements when necessary.

So here, I open up Photoshop for post processing. I usually shop in figures/context where necessary, but I like to keep shops to a minimum, because I like renders and how they look like, shops tend to degrade from their beauty. I usually apply a light fliter and faux-HDR glow for realism when necessary, after all, we all know brown is the new real, amirite?

Ok, save a PSD, and a JPEG for submission.

And we're done!

Whew. That took a while.

-Saunder

Tuesday 18 October 2011

Renders and Render things

Okay, today's rant is about Renders and 3D renderings.

From last year's Communications 2 Assignment. Still one of my favourite renders.



So, why am I the render monkey?

Simple, I love making cool things.
Also, I'm experienced with rendery things. Rendery things are cool.

I've been working on 3D stuff for a while now, I think I started back a few years ago in High School. I wanted an outlet for my creativity, but with the accuracy and repetability of computers and computer graphics.

My first foray into 3D modelling was in Form 5, about when I was 16 I think. Sketchup was a free and easy tool to use. Had fun with it. Crashed the computer a few times. All in good fun.

Making something in 3D is only half the journey. As I found out, it is possible to create really pretty pictures from even the simplest 3D model.


I think this is the second render I've ever made. Ah the good times. Nearly five years ago though. :P



I soon found Kerkythea, an open-source, 3D rendering engine free to use online. I didn't find it that much fun, believe it or not, because of the complexities surrounding renders and imaging at the time. (Also, I couldn't get the anti-aliasing to work. Huh.) Didn't think much of it for a while, so I continued my self-taught learning curve in Sketchup.

I picked up Photography a year later, and the things I've learned in that field led me back to Kerkythea and 3D rendering. It's funny, yet unsurprising that the two fields have so much in common, after all, 3D rendering is basically photography in a simulated, virtual environment, for lack of a better term.

My first render after figuring out the antialiasing feature (and sealed my permanent fate in this field). I still remember the user who helped me out was named Ozylot from the Kerkythea forums, and he has my eternal gratitude.

The cool thing with Kerkythea is that it has a large and helpful userbase. One can just pop in in the forums if you're lost or have questions. (And I finally resolved that anti-aliasing issue that way)


First attempts were confined to playing with lighting, as per the photographer's agenda. It was all fun and games until a point, where you realize that your renders are bland, repetitive. Missing that certain "oomph" that we try all so hard to achieve.

Okay, I still love this render, even if it's so flawed.

Alas, I've dug dig enough that the only way to go was down deeper. It became apparent, that materials and material quality is probably the most important thing in a 3D render. Materiality defines what an object is made of, how it reacts and modifies light in a certain way, and how it contributes to the overall sense and tactility of the image.

From there, I learned about cool things. Specularities, Reflections, Bump Mapping, and how these basic elements define how a material behaves under different lighting conditions.

Over time, I got better and smarter I guess. Rendering is a fun thing if you're into digital imaging, and have an interest on the mechanics of light and how its captured. How light is simulated in a digital environment, and how you can make your renders nicer, and more efficient. I love Kerkythea and still do, but that's another story for another time.

And this is where I stand.



I also got a new PC. My first multicore machine. THE EFFICIENCY HAS BEEN DOUBLED.


And then, I began to study architecture.

The rest is history.


:D


All in all, I love what I do, and I do what I love, and that's why I'm the render monkey for the group.

:D


Okay, I need to stop geeking out like this.

-Saunder