<<

IllustrativeIllustrative RenderingRendering inin TeamTeam FortressFortress 22

Jason Mitchell Moby Francke Dhabih Eng

© 2007 . 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 , 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 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 -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 . 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.