Designing the look and feel for Smoke and Neon powers The creation of a new toolset and pipeline for I:SS Pros and cons from our new workflow and

Similar documents
Bringing Hollywood to Real Time. Abe Wiley 3D Artist 3-D Application Research Group

Point based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural

Tutorial: How to create Basic Trail Particles

There are many kinds of surface shaders, from those that affect basic surface color, to ones that apply bitmap textures and displacement.


Dominic Filion, Senior Engineer Blizzard Entertainment. Rob McNaughton, Lead Technical Artist Blizzard Entertainment

CocoVR - Spherical Multiprojection

Optimizing and Profiling Unity Games for Mobile Platforms. Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June

Chapter 17: The Truth about Normals

Surface Tension. Liquid Effects in The Last of Us. Eben Cook Lead Visual Effects Artist, Naughty Dog Inc. Wednesday, March 19, 14

Atmospheric Reentry Geometry Shader

The Vegetation of Horizon Zero Dawn. Gilbert Sanders Principal Artist, Guerrilla Games

Dynamics and Particle Effects, Part 1 By Audri Phillips

Scale Rate by Object Size: Only available when the current Emitter Type is Surface, Curve, or Volume. If you turn on this attribute, the

Chapter 14 Particle Systems & Interactions

Flames in Particle Flow

CS 354R: Computer Game Technology

CGDD 4113 Final Review. Chapter 7: Maya Shading and Texturing

Scalable multi-gpu cloud raytracing with OpenGL

Name: Jonathan Lindquist Occupation: Technical Artist Company: Epic Games Duties: Author shaders Generate art Write scripts Miscellaneous tasks

Computer Graphics (CS 543) Lecture 10: Normal Maps, Parametrization, Tone Mapping

Lecture 16. Introduction to Game Development IAP 2007 MIT

Lightning Strikes. In this tutorial we are going to take a look at a method of creating some electricity zapper effects using Particle Flow.

GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON

Normal Maps and Cube Maps. What are they and what do they mean?

Tutorial: Working with Lighting through Components

CS 4621 PPA3: Animation

9 Dynamics. Getting Started with Maya 491

Dynamics in Maya. Gary Monheit Alias Wavefront PHYSICALLY BASED MODELING SH1 SIGGRAPH 97 COURSE NOTES

Chapter 5- Materials & Textures

Applications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research

Actions and Graphs in Blender - Week 8

Real-Time Hair Simulation and Rendering on the GPU. Louis Bavoil

Flowmap Generator Reference

Adding Spherical Harmonic Lighting to the Sushi Engine. Chris Oat 3D Application Research Group. ATI Research, Inc.

3D Starfields for Unity

2-3. What is Unity? 4-5. Asset Store. Lighting & Rendering Performance. Scripting. Efficient Workflow Mecanim. Pathfinding.

CS GAME PROGRAMMING Question bank

AGDC Per-Pixel Shading. Sim Dietrich

V-RAY 3.6 FOR SKETCHUP KEY FEATURES

LEVEL 1 ANIMATION ACADEMY2010

Voxels. Tech Team - Johnny Mercado, Michael Matonis, Glen Giffey, John Jackson

Topic 10: Scene Management, Particle Systems and Normal Mapping. CITS4242: Game Design and Multimedia

Photoshop PSD Export. Basic Tab. Click here to expand Table of Contents... Basic Tab Additional Shading Tab Material Tab Motion Tab Geometry Tab

Chapter 11. Caustics and Global Illumination

Oso Toon Shader. Step 1: Flat Color

Com S 336 Final Project Ideas

Chapter 4- Blender Render Engines

The Illusion of Motion Making magic with textures in the vertex shader. Mario Palmero Lead Programmer at Tequila Works

Dissolving Models with Particle Flow and Animated Opacity Map

Interactive Light Mapping with PowerVR Ray Tracing

Enhancing Traditional Rasterization Graphics with Ray Tracing. March 2015

Broken Age's Approach to Scalability. Oliver Franzke Lead Programmer, Double Fine Productions

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

DX10, Batching, and Performance Considerations. Bryan Dudash NVIDIA Developer Technology

White Paper. Perlin Fire. February 2007 WP _v01

gltf 2.0: Status and Outlook

Animation Tools THETOPPERSWAY.COM

Realistic and Fast Cloud Rendering in Computer Games. Niniane Wang Software Engineer Microsoft Flight Simulator (now at Google Inc) Intro Video

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models

Synthesis of Textures with Intricate Geometries using BTF and Large Number of Textured Micropolygons. Abstract. 2. Related studies. 1.

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker

Advanced Gemstone Shaders

Interactive Methods in Scientific Visualization

3D Space is one of the most rewarding areas

Advanced Real- Time Cel Shading Techniques in OpenGL Adam Hutchins Sean Kim

Global Illumination. COMP 575/770 Spring 2013

Computer Animation. Animation A broad Brush. Keyframing. Keyframing

Opaque. Flowmap Generator 3

VISIT FOR THE LATEST UPDATES, FORUMS & MORE ASSETS.

TSBK03 Screen-Space Ambient Occlusion

Abstract. Introduction. Kevin Todisco

Unit 68: 3D Environments

Shadows. COMP 575/770 Spring 2013

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

Creating Flood Effects in Uncharted 3. Eben Cook VFX Naughty Dog

Rendering Smoke & Clouds

Course Recap + 3D Graphics on Mobile GPUs

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Texture Mapping. Images from 3D Creative Magazine

Game Graphics Programmers

Introduction to 3D Graphics

A Quick Guide to Normal Mapping in 3ds max 7

Lighting & 3D Graphics. Images from 3D Creative Magazine

An Introduction to Maya. Maya. Used in industrial design, CAD, computer games and motion picture effects. The ambition is what get

User's Guide Low Poly OBJ Importer v1.0

Additional Material (electronic only)

global light baking software

John Hsu Nate Koenig ROSCon 2012

CSE 167: Introduction to Computer Graphics Lecture #19: Wrapping Up. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017

Game Development for

diffuse diffuse reflection refraction diffuse mapping diffuse reflection reflection filter mapping mapping reflection

Cinema 4D R20 (SP2) Change List Cinema 4D / BodyPaint 3D Service Release

Index FEATURES LIST 2

Adobe After Effects level 1 beginner course outline (3-day)

5.3 Apply computer file management techniques 5.5 Select the format for digital delivery 5.6 Use and care for equipment and related accessories

Computer Graphics. Shadows

Michal Valient Lead Tech Guerrilla Games

Ambien Occlusion. Lighting: Ambient Light Sources. Lighting: Ambient Light Sources. Summary

Deferred Rendering Due: Wednesday November 15 at 10pm

Transcription:

Designing the look and feel for Smoke and Neon powers The creation of a new toolset and pipeline for I:SS Pros and cons from our new workflow and lessons learned attempting to make something new

Defining the visual language of Smoke The parameters of the game design Powers, from concept to completion Smoke Dash Vent Travel

Lots of pre-production concepts What qualities make smoke feel real or more importantly, believable Reference pointed us towards these pillars Wind and turbulence Lighting and compositing in the scene Experimentation with third party pre-rendered visuals led to our creation of a real-time curl noise implementation

Problems: Early tests had difficulty in feeling powerful It was problematic to track the powers as they moved through space or see them during dark times of day and shadowed areas Result: Smoke needed to be the contrail but not the impacting force Add ash and lights to aid in visual tracking

Dematerialize hero into smoke and ash using the hero s mesh The hero s particle mesh has positional, UV, normal and color data essentially a low-res version of the hero The same particles that leave from where the hero dematerialized reform into the hero on the dash exit Smoke ribbons spawned off the surface of the hero mesh help carry directionality of motion

Mesh Emitter OFF Mesh Emitter ON

A) Particles from Head B) Particles from Feet Lerp

Dematerialize hero like Smoke Dash Wisps created with ribbons using parent/child relationships Ribbon parents rotate and translate upward over their lifetime Ribbons utilize curl noise and a velocity vector to blow away in the wind Work closely with Animation team on timing

Defining the visual language of Neon Powers, from concept to completion Sign Drain Neon Dash

Concepts developed simultaneously with the visual effects Light writing complex lingering shapes Casting lights Neon as a plasma Utilize curl noise in different ways than smoke

Design goal: Drain neon particles from an in-game neon sign. Uses a variant of the hero particle mesh tech Particles attempt to spawn only at areas above a specific brightness value Grabs the color from the valid position and passes to the particle system Accelerates towards a swirling galaxy near the hero s hand before condensing into a single point of light

Emissive Texture Sign Particle Mesh

Break the hero down into a strobing silhouette Leave behind a lingering light-writing trail Body crawls with energy on exit Work with variable run distances You can run for infinity!

What we knew the game design required What we wanted to achieve artistically What production changes we wanted What does it mean to be next-gen on new hardware?

Create an expression based system with user parameters Accurate lighting/sorting/shading, integrated well into the game world Real-time* editing Constant value adjustments Keyframe editor Run on gpu allowing more complex expressions/simulations * Minor compiles necessary when changing math functions

Outliner Property Editor Keyframe Editor

Expressions: Vectors, floats, strings, bools, ints, orientations (quaternion), random ranges Uses standard math operations - cos, abs, dot, swizzling, etc. Once compiled into constants, values can be edited live Variables (user parameters) can be created and used in expressions Triangulation & blending methods Billboards, Ribbons, Mesh fragments Translucent, Deferred, Additive, Distort Diffuse and emissive values + light casting abilities

Basic emit functions Emit(time, count) Burst(count) Pause(time) Emit Ratio multiplier Supports a range of emit and update spaces Local, world, spline, view Unlinked emit and update spaces Can convert and lerp between spaces (positions)

System level parameters Floats or vectors that can be referenced in any expression on emitters Values can be adjusted externally through script and code Emitter level parameters Evaluated per particle such that a random number will be different on each particle per emitter Returns the same value (per particle) when referenced multiple times in the emitter Can evaluate only on emit or return a different value at emit time from subsequent frames

Controls the output of floats, vec2 and vec3 Linear segments, limited to 16 points The x-axis input on the graph can be set to other parameters for added power and flexibility

Cast shadows Receive shadows Cast lights Bounced ambient Receive directional sunlight Blend correctly with haze HDR particle rendering

Simple multiplicative blob shadows, one per particle Tunable shadow strength per emitter Deferred rendered geometry meshes cast shadows like all world geometry Additive blended particles do not cast shadows Receive shadows cast from geometry affected by directional lighting Both dynamic and static objects cast shadows onto particles

Can cast point lights from any particle Falloff & hotspot controls HDR values All the same positional expressions as a particle Does not affect translucent particles

Spherical Harmonics probe data used on every (non-additive) particle emitter Simulates local and bounced lighting Huge success in shadowed areas which would ordinarily look flat from lack of directional sunlight

I:SS uses Physically Based Rendering / HDR Started out using realistic exposure values for emitters but altered to suit artistic and design needs HDR offset per time of day used to compensate 8 different times of day Particle textures authored in LDR, very easy to blow out the alpha

1D Simplex noise (variant of Perlin) Returns a float 3D noise (built from 1D noise + Bill Rockenbeck magic) Returns a vector Contains an input position, frequency, strength & iteration time curl_noise(pos, frequency, strength, dt)

Nearly limitless power over simulations, the only limit is our understanding of math Easy to have engineers prototype functionality that can be switched to code or simplified expression functions later Very flexible and unspecialized system GPU particles are fast so we can have very large quantities Real-time editing a huge boon to iteration time Great particle sorting and lighting

Very flexible and unspecialized system, the only limit is our understanding of math Easy to have engineers prototype functionality that can be switched to code or simplified expression functions later GPU particles are fast so we can have very large quantities Real-time editing a huge boon to iteration time Great particle sorting and lighting

Very flexible and unspecialized system, the only limit is our understanding of math Easy to have engineers prototype functionality that can be switched to code or simplified expression functions later GPU particles are fast so we can have very large quantities Real-time editing a huge boon to iteration time Great particle sorting and lighting

Very flexible and unspecialized system, the only limit is our understanding of math Easy to have engineers prototype functionality that can be switched to code or simplified expression functions later GPU particles are fast so we can have very large quantities Real-time editing a huge boon to iteration time Great particle sorting and lighting

Very flexible and unspecialized system, the only limit is our understanding of math Easy to have engineers prototype functionality that can be switched to code or simplified expression functions later GPU particles are fast so we can have very large quantities Real-time editing a huge boon to iteration time Great particle sorting and lighting

Very flexible and unspecialized system, the only limit is our understanding of math Easy to have engineers prototype functionality that can be switched to code or simplified expression functions later GPU particles are fast so we can have very large quantities Real-time editing a huge boon to iteration time Great particle sorting and lighting

Systems can get extremely complex very quickly It can be challenging to work on another artists systems Very limited shading options, lack of shader editing Not artist-friendly, which makes finding the right effects artists and training them much more difficult Our HDR lighting model is much more challenging to work with given different time of day and lighting scenarios

Systems can get extremely complex very quickly It can be challenging to work on another artists systems Very limited shading options, lack of shader editing Not artist-friendly, which makes finding the right effects artists and training them much more difficult Our HDR lighting model is much more challenging to work with given different time of day and lighting scenarios

Systems can get extremely complex very quickly It can be challenging to work on another artists systems Very limited shading options, lack of shader editing Not artist-friendly, which makes finding the right effects artists and training them much more difficult Our HDR lighting model is much more challenging to work with given different time of day and lighting scenarios

Systems can get extremely complex very quickly It can be challenging to work on another artists systems Very limited shading options, lack of shader editing Not artist-friendly, which makes finding the right effects artists and training them much more difficult Our HDR lighting model is much more challenging to work with given different time of day and lighting scenarios

Systems can get extremely complex very quickly It can be challenging to work on another artists systems Very limited shading options, lack of shader editing Not artist-friendly, which makes finding the right effects artists and training them much more difficult Our HDR lighting model is much more challenging to work with given different time of day and lighting scenarios

Systems can get extremely complex very quickly It can be challenging to work on another artists systems Very limited shading options, lack of shader editing Not artist-friendly, which makes finding the right effects artists and training them much more difficult Our HDR lighting model is much more challenging to work with given different time of day and lighting scenarios

If you know how to do it, that means people have already seen it Use first principles, don t pre-constrain your options What do we need to communicate to the player here?

mattv@suckerpunch.com www.suckerpunch.com soniaj@suckerpunch.com Bill Rockenbeck Room 2020, West Hall Friday, March 21 10:00am-11:00am