Fat Demigod (Priest)

Fat Demigod (Priest)
Priest character rendered w fancy lighting. Created model, textures, materials and rendering. Design by Steve Snoey

Spirit

Spirit
created character design, model, textures, materials and rendering

Torchbearer

Torchbearer
character design by Nate Simpson

Vampire Lord

Vampire Lord
character design by Nate Simpson and Steve Snoey

Saturday, June 5, 2010

softparticles10_directx10_sample

Post Mortem

Direct3D 10 Sample: Soft Particles 10
Date: 6_13_06
(above: softparticle10 sample image. -3d/volumetric particle smoke).


Objectives:
Create an art presentation to help illustrate the Direct3D10 soft particle technique.
The SoftParticle10 sample was created to showcase depth tested/sorted particles in order to remove noticeable particle intersections (between particles and geometry).


Team members:
Art Director:           Cyrus Kanga
Developer:              Shanon Drone
Lead Artist:             Matt Dudley

Duration of Project: 4 weeks


Technology used:
D3D10 reference rasterizer (software emulation)


Concept Process:
The team identified key areas that the sample would need to address:

The main requirement for the art was to create a compelling context for a subtle technical improvement to the way particles are drawn and interact in D3D10.

A basic amount of complexity was needed in terms of surfaces for the particles to intersect (or not) with. There needed to be a source for the particles to emanate from as well as surface(s) for the particles to pass through.

After some brainstorming a direction for the sample was set. A destroyed tank would be the setting for the sample. A blasted hole in the tank would be the source of the particle smoke, which in turn would pass through other parts of the destroyed tank as well as the ground plane.

The concept process started with the requirement of having a recognizable battle tank. For fun it was decided to design a tank that would be recognizable, but not taken from history or completely conventional.


Pre Production:
Pre production time was spent up front researching various tank designs and histories for interesting forms and details that would help make for an interesting scene. Thick smoke or steam was a focus for the sample, as open flame effects were to be avoided in order to keep things simple.

The focus on thick smoke led to research on early steam engines and boiler powered tractors etc. This led to a tractor derived tank design.

The details of the concept evolved and were refined during production.




(above: early color & value concept)



Production Process:

Requirements and Limitations:

The shader/material attributes and textures were limited to the following: diffuse color, specular mask and normal map.

Textures were created at 2k and 4k resolutions per map, with a plan to reduce resolution as needed.

Poly limit was capped at ~36k (tri) for the tank and scene geometry.

Tools and Techniques:

How the technique works:
The SoftParticles10 technique uses the Pixel Shader (PS) to do a depth test on each particle per frame, testing the distance between the particles and nearby surfaces (geometry). At a determined threshold/distance the particle is faded out to avoid drawing the intersection between the particle and the surface it is passing through.

(above: diagram illustrating the “soft” intersection result of the softparticle10 technique.)
             
(above: example images showing the difference between hard and soft intersections with 2d and 3d particles).

Smoke Particles:
              Dev chose to show examples of both 2d and 3d particles for the sample. The 3d (volume) particles were created by Dev using Perlin noise as a basis for the volume effect. Smoke/particle behavior was planned in advanced and created by Dev.

In order to reduce distraction between the 2d and 3d techniques, the 2d particle textures were created by rendering out frames of the 3d particles in motion. These frames were then saved to a volume texture (one larger texture containing sequential images) and applied to the 2d particles.

The end result was a clear distinction between the volume effect and the more traditional flat particles.

Tank Geometry:
              Software used: Maya for geometry, Photoshop for textures.

The build process for the tank geometry was pretty strait forward. Most shapes started out as cylinder primitives, with beveled edges and other details added after the overall silhouette was complete.


UV’s:
In an effort to the most texture detail several revisions to the UV coordinates were needed.

UV’s were created in maya using planar projections based on camera view. Projections were stitched together, leaving seams where they were least likely to be seen.




Scene Geometry:
The landscape that the tank sits on started out as a poly plane primitive in maya. The plane was subdivided in the area closest to the tank in order to add details like pushed sand and tracks in the ground.
              The barricades were added last to add more interest to the scene and composition.



Textures:
With geometry complete, the next step was to create final textures.
(above: example shot of scene in maya; untextured and flat shaded vs. fully textured, lit and smooth shaded).

Early in production a plan formed around using ambient occlusion (AO) to help tie together the lighting and texture detail within the scene.

The main advantage AO brought to this project was the consistency across all the different elements being textured. The most common disadvantage to using AO is that in order to generate usable results it requires non overlapping UV’s. Since non overlapping UV’s were already planned to make use of a normal map for the tank there was really no drawback to using AO as well.
(ambient occlusion pass)




(diffuse color, specular mask, normal map for tank)

(diffuse color map for ground plane).

(skybox texture).

The specular mask consists of the unedited AO texture stored in the alpha channel of diffuse maps. 


The normal maps were generated using nvidia’s normal map generator plugin for photoshop. The rivet details were taken from photo reference while the welded edges, dents and scratches were painted using a custom brush in photoshop.

The diffuse ground plane texture was created by layering images of desert sand on top of rock. The tank and ground plane were rendered together to provide ad AO texture that was the basis for the ground texture detail.
After texturing all of the elements it was clear that the ground plane detail was detracting from the tank and the focus of the scene. The simplest solution turned out to be to blur the edges of the ground texture in photoshop, this helped refocus the detail within the scene.



             
              Summary of key technological requirements and concepts:
This soft particle technique is especially useful for effects that will be intersecting geometry in an obvious way.

The biggest improvements can be found when using the technique with 2d particles.

For this sample all particle effects were created procedurally by the Dev. The 3d particles are based on Perlin noise, and in turn the 2d particles use textures that were rendered from the same 3d noise.



No comments:

Post a Comment