General Hovering Drone: Toon shader and Ao Baked 🙂
Thanks to our buddy Avi for pointing me in the direction of a GENIUS free online storage and gallery for 3d models. The site allows you to upload all your models with textures for all to view, like a simple online real-time view-port. Im loving this site: http://p3d.in/
Check out my models:
After i baked lil Jorge with an AO and Toon shader process, i decided to use an Ocean Shader to illuminate the glow of the robots. Fitting with the new aesthetic of the game, less Diesel punk more neo Tron 😀
here are the results:
My last post was all text, so here is a visual representation of the process.
Stage 1: The Toon shader in Maya. The problem; No black outline when imported into unity and no depth of texture.
Stage 2: Create a quick and usable UV, nothing amazing, but must be separated and not overlap. The seams must be placed in a desirable place, otherwise it creates a black outline when it comes to rendering AO (this may be a desired effect). Using Mental Ray (Render tab – Lighting and Shading/Batch Bake (mental ray)) Bake the Toon shader colour information without the Toon outlines, essentially extracting the colour information.
Stage 3: In a similar method to stage 2, extract the AO information into a baked texture. Change the output method to “occlusion”
Stage 4: Merge the 2 texture outputs in Photoshop, and apply to a Labert or Blinn shader. Above; realtime toon shader with AO.
Here is a new production process I have just learned for the advancement of our lovely game “the humans are dead”. The project is coming to an important impasse. Were around the half way mark, and the project is starting to take shape. As such, we are starting to develop new ways of processing ideas. Aesthetically, I wanted to use Cel shading, as it will fit the game play style and it will cut down a lot of unnecessary UV and texturing work. Cel shader (or toon shading in Maya) looks great when rendered in Maya without Mental Ray, and rendering times are so quick and clean. However, there are issues to be observed. Here is the old process:
- Model in Maya
- Apply Toon Shader to individual Faces
- Apply Toon Boarder
- Export to OBJ file
- Import into Unity
The problem here: You can’t import the toon boarder to Unity, Only the toon shader will export, which leaves a fairly boring model. I’m sure there is a way to properly apply the toon shader border, perhaps with an internal ramp shader hand-made. But at this stage, there is a different way to produce cool results.
New Process: Internal Baking
I love ambient occlusion. AO just makes everything look better. I have used AO a lot on my projects, as it is a staple of realistic rendering. However, AO is usually rendered in on frame processes. I.e. you will render for animation in numerous frames, each frame an individual render. The AO will usually be a pass that is calculated from the angle of the viewport when rendering, and you will apply it later, but in this case, a game is not rendering in the same way. We can’t use the information of a single viewport, we need the AO to be applied directly to the models texture, this may the AO will always be applied, and doesn’t need to continuously render. So how do we do this?? With Baking
Here is the process:
- Model in Maya
- Apply Toon Shader
- Apply simple UV process, Attached edges only, no overlaps
- Rendering Tab/Lighting and Shading/Batch Bake
- Export Both lighting and Colour information Bake as single texture
- Export Occlusion Bake as single texture
- Combine the two texture maps in Photoshop using Multiply layer present
- Re-apply texture to Model using Lambert or Blinn shader
- Replace the colour information with file/”Saved Bake map” (whatever it may be called)
This process is longer, but the results are quite cool.