IllustrativeIllustrative RenderingRendering inin TeamTeam FortressFortress 22
Jason Mitchell Moby Francke Dhabih Eng
© 2007 Valve Corporation. All Rights Reserved. OutlineOutline • Motivations and related work • Environments • Characters and interactive shading • Future work
© 2007 Valve Corporation. All Rights Reserved. TeamTeam FortressFortress 22 • Class-based multiplayer combat game which will be released this fall • Unique visual style • Differentiation - multiplayer combat games tend to embrace a contemporary photorealistic look • Gameplay -Team Fortress has always featured cartoonish, over-the-top situations • Readability - Class differentiation is the core of Team Fortress 2, hence we needed to be able to clearly differentiate classes visually
© 2007 Valve Corporation. All Rights Reserved. EnvironmentEnvironment DesignDesign PrinciplesPrinciples • Value contrast • Simple forms • No unnecessarily off-kilter shapes • Minimize visual noise • Texture and geometric • Minimize repetition
© 2007 Valve Corporation. All Rights Reserved. ContrastingContrasting TeamTeam PropertiesProperties • Red • Warm colors • Natural materials • Angular geometry • Blue • Cool colors • Industrial materials • Orthogonal forms
© 2007 Valve Corporation. All Rights Reserved. Blue base in 2fort map
© 2007 Valve Corporation. All Rights Reserved. Red base in 2fort map
© 2007 Valve Corporation. All Rights Reserved. WorldWorld RenderingRendering • Photorealistic techniques from our other games • Radiosity-generated light maps • Special effects such as reflection and refraction • Hand-painted textures with minimal noise, applied directly to 3D geometry • Loose details with visible brush strokes • Inherent solidity and frame-to-frame coherence • Hold up under magnification better than photoreference • Brush strokes appear in perspective, not in the Color Palette 2D image plane [Miyazaki02] • High frequency detail in photorealistic games can overpower design
© 2007 Valve Corporation. All Rights Reserved. MiyazakiMiyazaki –– BrushBrush WidthWidth ForeshortenedForeshortened
• Can easily imagine a 3D camera move between these 2D views of the same space
BackgroundBackground platesplates fromfrom SpiritedSpirited AwayAway © 2007 Valve Corporation. All Rights Reserved. NeutralNeutral EntitiesEntities • Variations in hue and saturation are used to differentiate neutral entities in the game world • A hue other than red or blue creates disassociation from either team color • Increased saturation makes these important entities stand out in the desaturated environment • Equally beneficial or dangerous to either team • Beneficial green / cyan health pickups • Dangerous yellow train yard gates
© 2007 Valve Corporation. All Rights Reserved. © 2007 Valve Corporation. All Rights Reserved. CharacterCharacter DesignDesign GoalsGoals • Easily visible against environment • Characters must be readable quickly by other players • Communicate shape via shading and silhouette under all lighting conditions
© 2007 Valve Corporation. All Rights Reserved. Gooch,Gooch, 19981998
Conventional Gooch • Hue and luminance shifts indicate surface Shading Shading orientation relative to light • Blend between warm and cool based upon unclamped Lambertian term, underlying albedo and some free parametersα • Extreme lights and darks are reserved for edge lines and highlights
1 1 1 1 ˆ ˆ ˆ ˆ ()n⋅l + ()kblue + kd + 1− (n⋅l )+ ()k yellow + βkd 2 2 2 2
© 2007 Valve Corporation. All Rights Reserved. Lake,Lake, 20002000 • Lake used a 1D texture lookup based upon the Lambertian term to simulate the limited color palette cartoonists use for painting cels • Also allows for the inclusion of a view-independent pseudo specular highlight by including a small number of bright texels at N·L the “lit” end of the 1D texture map
© 2007 Valve Corporation. All Rights Reserved. Barla,Barla, 20062006 • Barla has extended this technique by using a 2D texture lookup to incorporate view-dependent and level-of-detail effects. • Fresnel-like creates a hard “virtual backlight” which is essentially a rim-lighting term, though this term is not designed to correspond to any particular lighting environment.
|N·V|r |N·V|r
N·L N·L
© 2007 Valve Corporation. All Rights Reserved. Early 20th Century Commercial Illustration
• Chose to adopt specific conventions of the commercial illustrator J. C. Leyendecker: • Shading obeys a warm-to-cool hue shift. Shadows go to cool, not black • Saturation increases at the terminator with respect to a given light source. The terminator is often reddened. • On characters, interior details such as clothing folds are chosen to echo silhouette shapes • Silhouettes are often emphasized with rim highlights rather than dark outlines
© 2007 Valve Corporation. All Rights Reserved. Rim Highlights
Red Terminator
J.C. Leyendecker J.C. Leyendecker Arrow collar advertisement, 1929 Swimmin’ Hole, 1935 © 2007 Valve Corporation. All Rights Reserved. Clothing Folds
J.C. Leyendecker J.C. Leyendecker Thanksgiving 1628-1928 Tally-Ho, 1930 © 2007 Valve Corporation. All Rights Reserved. EngineerEngineer ConceptConcept
© 2007 Valve Corporation. All Rights Reserved. RimRim Highlighting:Highlighting: BeforeBefore
© 2007 Valve Corporation. All Rights Reserved. RimRim Highlighting:Highlighting: AfterAfter
© 2007 Valve Corporation. All Rights Reserved. • Players must be able to quickly identify other players by team, class and selected weapon at a variety of distances and viewpoints • We think of this in terms of a visual “read hierarchy” • Design Goals • Team – Friend or Foe? • Color • Class – Run or Attack? • Distinctive silhouettes • Body proportions • Weapons • Shoes, hats and clothing folds Selected weapon – What’s he packin’? • Color Palette • Highest contrast at chest level, where weapon is held • Gradient from dark feet to light chest
© 2007 Valve Corporation. All Rights Reserved. CharacterCharacter LightingLighting EquationEquation ViewView independentindependent α L γ ˆ ˆ ˆ kd a()n + ∑ci w( (n⋅li )+ β ) + i=1
L ˆ ˆ kspec ˆ ˆ krim ˆ ˆ ˆ ∑[]ciksmax()fs ()v ⋅ri , fr kr v ⋅ri ()+ ()n ⋅u fr kr a v () i=1 ViewView--dependentdependent
© 2007 Valve Corporation. All Rights Reserved. ViewView IndependentIndependent TermsTerms α L γ ˆ ˆ ˆ kd a()n + ∑ci w( (n⋅li )+ β ) i=1 • Spatially-varying directional ambient
© 2007 Valve Corporation. All Rights Reserved. ViewView IndependentIndependent TermsTerms α L γ ˆ ˆ ˆ kd a()n + ∑ci w( (n⋅li )+ β ) i=1 • Spatially-varying directional ambient • Modified Lambertian terms
© 2007 Valve Corporation. All Rights Reserved. ViewView IndependentIndependent TermsTerms α L γ ˆ ˆ ˆ kd a()n + ∑ci w( (n⋅li )+ β ) i=1 • Spatially-varying directional ambient • Modified Lambertian terms • Unclamped Lambertian term
© 2007 Valve Corporation. All Rights Reserved. ViewView IndependentIndependent TermsTerms α L γ ˆ ˆ ˆ kd a()n + ∑ci w( (n⋅li )+ β ) i=1 • Spatially-varying directional ambient • Modified Lambertian terms • Unclamped Lambertian term • Scale, bias and exponent
© 2007 Valve Corporation. All Rights Reserved. ViewView IndependentIndependent TermsTerms α L γ ˆ ˆ ˆ kd a()n + ∑ci w( (n⋅li )+ β ) i=1 • Spatially-varying directional ambient • Modified Lambertian terms • Unclamped Lambertian term • Scale, bias and exponent • Warping function • Albedo 1 1 ()nˆ ⋅lˆ + 2 2 © 2007 Valve Corporation. All Rights Reserved. ViewView IndependentIndependent TermsTerms α L γ ˆ ˆ ˆ kd a()n + ∑ci w( (n⋅li )+ β ) i=1 • Spatially-varying directional ambient • Modified Lambertian terms • Unclamped Lambertian term • Scale, bias and exponent • Warping function
© 2007 Valve Corporation. All Rights Reserved. ViewView IndependentIndependent TermsTerms α L γ ˆ ˆ ˆ kd a()n + ∑ci w( (n⋅li )+ β ) i=1 • Spatially-varying directional ambient • Modified Lambertian terms • Unclamped Lambertian term • Scale, bias and exponent • Warping function • Albedo
© 2007 Valve Corporation. All Rights Reserved. ViewView IndependentIndependent TermsTerms α L γ ˆ ˆ ˆ kd a()n + ∑ci w( (n⋅li )+ β ) i=1 • Spatially-varying directional ambient • Modified Lambertian terms • Unclamped Lambertian term • Scale, bias and exponent • Warping function • Albedo
© 2007 Valve Corporation. All Rights Reserved. AmbientAmbient CubeCube
• Grounds characters in game worlds • Pre-compute irradiance samples throughout the environment • Variable density irradiance volume [Greger98] where each sample defines an irradiance environment map [Ramamoorthi01] Directional Ambient Constant Ambient • Directional ambient term which Directional Ambient Constant Ambient includes only indirect light • Lights beyond the first four can be added to the ambient cube • Used in a novel way in rim lighting, which we’ll discuss in a moment
© 2007 Valve Corporation. All Rights Reserved. ViewView--dependentdependent TermsTerms L ˆ ˆ kspec ˆ ˆ krim ˆ ˆ ˆ ∑[]ciksmax()fs ()v ⋅ri , fr kr v ⋅ri ()+ ()n ⋅u fr kr a v () i=1
© 2007 Valve Corporation. All Rights Reserved. ViewView--dependentdependent TermsTerms L ˆ ˆ kspec ˆ ˆ krim ˆ ˆ ˆ ∑[]ciksmax()fs ()v ⋅ri , fr kr v ⋅ri ()+ ()n ⋅u fr kr a v () i=1 • Multiple Phong terms per light
© 2007 Valve Corporation. All Rights Reserved. ViewView--dependentdependent TermsTerms L ˆ ˆ kspec ˆ ˆ krim ˆ ˆ ˆ ∑[]ciksmax()fs ()v ⋅ri , fr kr v ⋅ri ()+ ()n ⋅u fr kr a v () i=1 • Multiple Phong terms per light
• krim broad, constant exponent
© 2007 Valve Corporation. All Rights Reserved. ViewView--dependentdependent TermsTerms L ˆ ˆ kspec ˆ ˆ krim ˆ ˆ ˆ ∑[]ciksmax()fs ()v ⋅ri , fr kr v ⋅ri ()+ ()n ⋅u fr kr a v () i=1 • Multiple Phong terms per light
• krim broad, constant exponent
• kspec exponent (constant or texture)
© 2007 Valve Corporation. All Rights Reserved. ViewView--dependentdependent TermsTerms L ˆ ˆ kspec ˆ ˆ krim ˆ ˆ ˆ ∑[]ciksmax()fs ()v ⋅ri , fr kr v ⋅ri ()+ ()n ⋅u fr kr a v () i=1 • Multiple Phong terms per light
• krim broad, constant exponent
• kspec exponent (constant or texture)
• fs artist tuned Fresnel term
© 2007 Valve Corporation. All Rights Reserved. ViewView--dependentdependent TermsTerms L ˆ ˆ kspec ˆ ˆ krim ˆ ˆ ˆ ∑[]ciksmax()fs ()v ⋅ri , fr kr v ⋅ri ()+ ()n ⋅u fr kr a v () i=1 • Multiple Phong terms per light
• krim broad, constant exponent
• kspec exponent (constant or texture)
• fs artist tuned Fresnel term 4 • fr rim Fresnel term, (1-(n·v))
© 2007 Valve Corporation. All Rights Reserved. ViewView--dependentdependent TermsTerms L ˆ ˆ kspec ˆ ˆ krim ˆ ˆ ˆ ∑[]ciksmax()fs ()v ⋅ri , fr kr v ⋅ri ()+ ()n ⋅u fr kr a v () i=1 • Multiple Phong terms per light
• krim broad, constant exponent
• kspec exponent (constant or texture)
• fs artist tuned Fresnel term 4 • fr rim Fresnel term, (1-(n·v))
• kr rim mask texture
© 2007 Valve Corporation. All Rights Reserved. ViewView--dependentdependent TermsTerms L ˆ ˆ kspec ˆ ˆ krim ˆ ˆ ˆ ∑[]ciksmax()fs ()v ⋅ri , fr kr v ⋅ri ()+ ()n ⋅u fr kr a v () i=1 • Multiple Phong terms per light
• krim broad, constant exponent
• kspec exponent (constant or texture)
• fs artist tuned Fresnel term 4 • fr rim Fresnel term, (1-(n·v))
• kr rim mask texture
• ks specular mask texture
© 2007 Valve Corporation. All Rights Reserved. ViewView--dependentdependent TermsTerms L ˆ ˆ kspec ˆ ˆ krim ˆ ˆ ˆ ∑[]ciksmax()fs ()v ⋅ri , fr kr v ⋅ri ()+ ()n ⋅u fr kr a v () i=1 • Multiple Phong terms per light
• krim broad, constant exponent
• kspec exponent (constant or texture)
• fs artist tuned Fresnel term 4 • fr rim Fresnel term, (1-(n·v))
• kr rim mask texture
• ks specular mask texture
© 2007 Valve Corporation. All Rights Reserved. ViewView--dependentdependent TermsTerms L ˆ ˆ kspec ˆ ˆ krim ˆ ˆ ˆ ∑[]ciksmax()fs ()v ⋅ri , fr kr v ⋅ri ()+ ()n ⋅u fr kr a v () i=1 • Multiple Phong terms per light
• krim broad, constant exponent
• kspec exponent (constant or texture)
• fs artist tuned Fresnel term 4 • fr rim Fresnel term, (1-(n·v))
• kr rim mask texture
• ks specular mask texture
© 2007 Valve Corporation. All Rights Reserved. ViewView--dependentdependent TermsTerms L ˆ ˆ kspec ˆ ˆ krim ˆ ˆ ˆ ∑[]ciksmax()fs ()v ⋅ri , fr kr v ⋅ri ()+ ()n ⋅u fr kr a v () i=1 • Multiple Phong terms per light
• krim broad, constant exponent
• kspec exponent (constant or texture)
• fs artist tuned Fresnel term 4 • fr rim Fresnel term, (1-(n·v))
• kr rim mask texture
• ks specular mask texture
© 2007 Valve Corporation. All Rights Reserved. ViewView--dependentdependent TermsTerms L ˆ ˆ kspec ˆ ˆ krim ˆ ˆ ˆ ∑[]ciksmax()fs ()v ⋅ri , fr kr v ⋅ri ()+ ()n ⋅u fr kr a v () i=1 • Multiple Phong terms per light
• krim broad, constant exponent • kspec exponent (constant or texture) • fs artist tuned Fresnel term 4 • fr rim Fresnel term, (1-(n·v)) • kr rim mask texture • ks specular mask texture • Dedicated rim lighting • a(v) Directional ambient evaluated with v
© 2007 Valve Corporation. All Rights Reserved. ViewView--dependentdependent TermsTerms L ˆ ˆ kspec ˆ ˆ krim ˆ ˆ ˆ ∑[]ciksmax()fs ()v ⋅ri , fr kr v ⋅ri ()+ ()n ⋅u fr kr a v () i=1 • Multiple Phong terms per light
• krim broad, constant exponent
• kspec exponent (constant or texture)
• fs artist tuned Fresnel term 4 • fr rim Fresnel term, (1-(n·v))
• kr rim mask texture
• ks specular mask texture • Dedicated rim lighting • a(v) Directional ambient evaluated with v
• kr same rim mask
© 2007 Valve Corporation. All Rights Reserved. ViewView--dependentdependent TermsTerms L ˆ ˆ kspec ˆ ˆ krim ˆ ˆ ˆ ∑[]ciksmax()fs ()v ⋅ri , fr kr v ⋅ri ()+ ()n ⋅u fr kr a v () i=1 • Multiple Phong terms per light
• krim broad, constant exponent • kspec exponent (constant or texture) • fs artist tuned Fresnel term 4 • fr rim Fresnel term, (1-(n·v)) • kr rim mask texture • ks specular mask texture • Dedicated rim lighting • a(v) Directional ambient evaluated with v
• kr same rim mask • fr same rim Fresnel
© 2007 Valve Corporation. All Rights Reserved. ViewView--dependentdependent TermsTerms L ˆ ˆ kspec ˆ ˆ krim ˆ ˆ ˆ ∑[]ciksmax()fs ()v ⋅ri , fr kr v ⋅ri ()+ ()n ⋅u fr kr a v () i=1 • Multiple Phong terms per light
• krim broad, constant exponent • kspec exponent (constant or texture) • fs artist tuned Fresnel term 4 • fr rim Fresnel term, (1-(n·v)) • kr rim mask texture • ks specular mask texture • Dedicated rim lighting • a(v) Directional ambient evaluated with v
• kr same rim mask • fr same rim Fresnel • n·u term that makes rim highlights tend to come from above (u is up vector)
© 2007 Valve Corporation. All Rights Reserved. ViewView--dependentdependent TermsTerms L ˆ ˆ kspec ˆ ˆ krim ˆ ˆ ˆ ∑[]ciksmax()fs ()v ⋅ri , fr kr v ⋅ri ()+ ()n ⋅u fr kr a v () i=1 • Multiple Phong terms per light
• krim broad, constant exponent • kspec exponent (constant or texture) • fs artist tuned Fresnel term 4 • fr rim Fresnel term, (1-(n·v)) • kr rim mask texture • ks specular mask texture • Dedicated rim lighting • a(v) Directional ambient evaluated with v
• kr same rim mask • fr same rim Fresnel • n·u term that makes rim highlights tend to come from above (u is up vector)
© 2007 Valve Corporation. All Rights Reserved. ViewView--dependentdependent TermsTerms L ˆ ˆ kspec ˆ ˆ krim ˆ ˆ ˆ ∑[]ciksmax()fs ()v ⋅ri , fr kr v ⋅ri ()+ ()n ⋅u fr kr a v () i=1 • Multiple Phong terms per light
• krim broad, constant exponent • kspec exponent (constant or texture) • fs artist tuned Fresnel term 4 • fr rim Fresnel term, (1-(n·v)) • kr rim mask texture • ks specular mask texture • Dedicated rim lighting • a(v) Directional ambient evaluated with v
• kr same rim mask • fr same rim Fresnel • n·u term that makes rim highlights tend to come from above (u is up vector)
© 2007 Valve Corporation. All Rights Reserved. ViewView--dependentdependent TermsTerms L ˆ ˆ kspec ˆ ˆ krim ˆ ˆ ˆ ∑[]ciksmax()fs ()v ⋅ri , fr kr v ⋅ri ()+ ()n ⋅u fr kr a v () i=1 • Multiple Phong terms per light
• krim broad, constant exponent • kspec exponent (constant or texture) • fs artist tuned Fresnel term 4 • fr rim Fresnel term, (1-(n·v)) • kr rim mask texture • ks specular mask texture • Dedicated rim lighting • a(v) Directional ambient evaluated with v
• kr same rim mask • fr same rim Fresnel • n·u term that makes rim highlights tend to come from above (u is up vector)
© 2007 Valve Corporation. All Rights Reserved. FutureFuture WorkWork
• More flexible specular • Anisotropic highlights [Heidrich98] [Gooch98]
[Heidrich98] © 2007 Valve Corporation. All Rights Reserved. FutureFuture WorkWork
• More flexible specular • Anisotropic highlights [Heidrich98] [Gooch98]
[Gooch98] © 2007 Valve Corporation. All Rights Reserved. FutureFuture WorkWork
• More flexible specular • Anisotropic highlights [Heidrich98] [Gooch98] • Shaping highlights [Anjyo03]
[Anjyo03]
© 2007 Valve Corporation. All Rights Reserved. FutureFuture WorkWork
• More flexible specular • Anisotropic highlights [Heidrich98] [Gooch98] • Shaping highlights [Anjyo03] • More reliable rim term
© 2007 Valve Corporation. All Rights Reserved. FutureFuture WorkWork
• More flexible specular • Anisotropic highlights [Heidrich98] [Gooch98] • Shaping highlights [Anjyo03] • More reliable rim term • Image-space contrast enhancement [Luft06]
[Luft06] © 2007 Valve Corporation. All Rights Reserved. FutureFuture WorkWork
• More flexible specular • Anisotropic highlights [Heidrich98] [Gooch98] • Shaping highlights [Anjyo03] • More reliable rim term • Image-space contrast enhancement [Luft06] • Abstracted shadows [DeCoro07]
[DeCoro07]
© 2007 Valve Corporation. All Rights Reserved. ConclusionConclusion • Motivations and related work • Environments • Characters and interactive shading • Future work
© 2007 Valve Corporation. All Rights Reserved.