Friday, August 22, 2008

Baking Cakes

First of all wanted to share that I finished uvmapping and rendering out all the Ambient Occlusion (except for wheels). Now that that's done I can move onto the nice part: sculpting and texturing :) Here are my labours:

Could have used more sampling but i think this will be enough.

Secondly I thought I'd share exactly the method I used to do it as it isnt that straight forward. This is a little step-by-step tutorial to help people improve their models and textures. N.B.: The object that receives the baked occlusion texture has to be ALREADY UVMapped so that the UV face coordinates DO NOT intersect. So the cube in this tutorial has a UVWUnwrap modifier on it and its uvw coordinates have been manipulated. Also this tutorial is for 3dsmax with MentalRay.
Here is the layout:


I usually like to assign a grey standard materials and change the wireframe color to black. Just personal preference. just make sure that the cube has a seperate material from the other objects:

Open up the Environment... dialog by pressing 8 on the keyboard or Render>Environment... . Change the "Ambient" Color to white:

Close the window and select the cube. Now open the "Render To Texture" dialog by pressing 0 (zero) or in the Render menu. Scroll down a little and click the "Add" button. A popup should ask you what you want to bake so choose "Ambient Occlusion (MR)". Probably a goot time to mention that you have to have MentalRay assigned as your primary renderer. Press "Add Element".


Choose a folder to save the file to and press "Render" and voila:


To get the picture exactly like my previous one, go back to the cube material and assign the texture you just saved to the diffuse map slot and turn its viewport visibility (blue/white box in the Material Editor).

But hang on there's more! You can tweak how the AO looks like in your bake...to a certain extent. You can choose the texture size. But more useful are the AO controls. In the next screengrab I increased the spread value to show what it does:

CLICK TO MAKE BIGGER

Essentially what it did was take the calculated shadow (or more correctly the samples) and started stretching them over the specified spread. A note on samples: the higher the sample value, the higher the cuality of the AO pass, but be ware...render times will suffer above 256 for large textures.

In the below screengrab you can see the effects of Max Distance value:

CLICK TO MAKE BIGGER

Basically it is the distance at which it will stop calculating the shadow from the contact edge. So the smaller the value the smaller the shadow (BUT not 0.0!! a value of null will mean there is no cutoff!). Basically you should tweak these values for best results according to your needs.

I hope that was clear :).

Cheers!

Thursday, August 21, 2008

Ambient Oclussion amongst other things...

A little progress report. After a bit of tweaking with topology I think I got it a bit better then it was before, in terms of useability in ZBrush. The mesh is a bit cleaner but between optimization and all there are still quite a few triangles in the mesh (ZBrush hates triangles) but I think I will work out. Next I devided the mesh into seperate logical texture groups (see different colours on the figure below).


This gives you a head start on planning how many textures you going to have and how large. Here 3 texture sheets will be used + wheels. Then came the UVWMapping. In my opinion its the most unenjoyable thing out of the whole project but once it comes together you have a strange sence of satisfaction :). So far I just managed to unwrap the chasis (pink) and since it was the biggest one i think the bulk of the work is done. Tommorow the rest will be done too. Once I unwrapped it I just couldnt resist a little test:

As you can see the Ambient Occlusion baking went ok (pic shows viewport view with applied AO pass as texture, this is not a render). For those wondering: Ambient Occlusion refers to the fenomenon of omnidirectional light hitting the object and illuminating it evenly producing soft "contact" shadows. This effect is still not possible in games real-time so for now we just "bake" it into the texture. The pass comes out as a monochrome image overlayed over the UVs of the mesh. As illustrated below, if you then put it on top of your base colour or texture in Multiply mode it will create the illusion that there is a shadow there. Opacity is used to control it. The Texture Baking feature of 3dsmax is by nomeans perfect and seam errors will be corrected in post-production in photoshop.


By no means does this mean the texture is finished but it gives that extra push to photo realism. AO is one thing that alot of modders miss.
Will show complete AO pass by Saturday hopefully.

Tuesday, August 19, 2008

The Flow

Here wanted to outline the planned project pipeline so that you could understand how I intend to work. Having worked on many commercial projects I know that having a plan is always useful. This workflow is for modeling/texturing only for now:



Hope it's clear.


Monday, August 18, 2008

BMD-1

I always wanted to return to game modding as I always beleived it was the purest form of CG art as it allows you to share your work on a completely different level then say just renders which I have spent the last two years being busy with. A couple of days this came to mind. I decided to make a series of addons for ArmA connected with the VDV (Russian Airborne troops). For now I will focus only on armour and then who knows maybe the air transports and support stuff. For the first batch I'm planning to make the BMD series: 1, 2,3 and 4 and some modifications like the BTRD.

At first I was thinking of keeping this quiet until release, however keeping a dev journal seemed like a much better idea as it allows people to follow the progress and allows me to share some of my techniques. I hope to share some tips and tricks along the way. Well for now have a look:




I have thought of this for quite some time and then 2 days ago finally decided to sit down and do something about it. So here it is: the beginning of the first chapter of ArmA VDV. The BMD-1. LOD 0 exterior model completed with the exception of tracks and wheel finalization which will be done in Oxygen. So far pretty happy with it. After all, after a year of only high-poly modeling it was quite challenging working on game content again with polys in mind.

Next up the unwrapping and then off to normal mapping on the menu. Hopefully I can take it over into ZBrush as that would make it a hell of a lot easier, however it is yet to be seen how it will handle smoothing. In eaither case, as this is a dev blog I will try to make sure I update it as soon as I have some developments.

MODELING DETAILS

The model was done using the simplest poly-modeling techniques, with some details added as splines and primitives. Basically alot of cutting/extruding. To make my life easier I first modeled one half of the body and then flipped the symetry to start modeling the details that make this one of the most interesting personel carrier.

Alot of details have been left for textures and normal maps but there were alot of things I wanted to represnt by geometry.