37
Post Mortem: GPU Accelerated Effects in Borderlands 2

Post Mortem: GPU Accelerated Effects in Borderlands 2 ...on-demand.gputechconf.com/...GPU-Accelerated-Effects-in-Borderlan… · Borderlands 2 released to critical acclaim on September

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Post Mortem: GPU Accelerated Effects in Borderlands 2

Introduction

Speakers:

— Jim Sanders, FX Director, Gearbox Software

— Kevin Newkirk, Technical Artist, NVIDIA

Welcome to the Borderlands!

What is Borderlands2?

Borderlands 2

— Released: September 18, 2012

Developed by: Gearbox Software

Published by: 2k Games

— Metacritic: 90/100 on PC

— Unreal Engine 3 (modified)

Borderlands 2 is an action role-playing first

person shooter.

X-Play’s Game of the Year

Best shooter, Best multiplayer game (Spike TV VGA’s)

GPU Accelerated Effects

Using UE3’s NVIDIA PhysX SDK

— GPU EFFECTS

Persistent mesh debris

Force fields

SPH Fluid Simulation

Cloth simulation

— Most were stock UDK simulations!

Minimal implementation

GPU Accelerated Effects

Overview

What will you get from this presentation?

— A look at created GPU accelerated effects in Borderlands 2

— Benefits of accelerating your effects

— Deep dive into methods of creation

— A look at effects available to UE3/UDK users today.

Contents

Benefits of PhysX

Particles

Cloth

Fluid

QA

What were our benefits? Why did we do this?

We have dynamic tearing of cloth, enough said!

This added a new dimension to our game, a new character.

Helped us reach a new level of immersion that is exciting but not

overwhelming

Opened us up to a new way of thinking, what else can we do with this tech!

Development How would we do this?

A look at early discussions

Memory and Performance

What impact would this have on our development style

Custom Engine Tech

Can PhysX support dynamically generated content i.e. a bazillion guns?

DEEP DIVE

Persistent Debris

Persistent Debris

Persistent Debris

— Advantages

Persistence of debris

Additional interaction with later game events

— Force fields!

Added weight to visual impact on player

— What must a designer take into account?

Persistent Debris

Persistent Debris

Must be properly lit!

Good Particles Bad Particles

Persistent Debris

Persistent Debris

— Collisions must work all the time or breaks immersion

— Triangle collision is a must

Cloth!

Cloth! Simulated Cloth

— Initial Solution (Vertex Animation)

Cloth!

Simulated Cloth

— Simulated

Cost to simulate

— Have to be more aware as you decorate your level

Interaction with game events

Looked better!

Tearing!

Cloth!

Simulated Cloth

— Tearing!

Cloth!

Authoring

— Increase resolution of existing assets

Cloth!

Authoring

— Add bones

— Weight vertices

Fluid – Goo – Blood Ohhh MYYY!

Fluid – Goo – Blood Ohhh MYYY!

— What did we do?

Simulation: Smooth Particle Hydrodynamics

Rendering: Based on GDC2010 Simon Green “Screen Space Fluid Simulation”

Fluid – Goo – Blood Ohhh MYYY!

— What did the simulation give us?

Collision with game environment

“Density” value for rendering

Pressure waves create realistic fluids

Highly parallelized in CUDA

— ~25k particles simulated

Fluid – Goo – Blood Ohhh MYYY!

— Screen spaced fluid rendering

Non-marching cube solution

Entirely in screen space (no meshes)

Only generates surface closest to camera

Fast!

Fluid – Goo – Blood Ohhh MYYY!

— Last seen: Alice 2

— What improvements have been made?

Fluid – Goo – Blood Ohhh MYYY!

— Multiple fluids per screen

Early UE3 tests

Fluid – Goo – Blood Ohhh MYYY!

— Multiple fluids per screen

Allowed us to do lots of different effects on screen!

— No appreciable cost per additional material

— Colors controllable by particle system

Common simulation allowed for fluid iteraction

— This helped “boundaries” between the various liquids

to maintain color

Worked best with more opaque fluids

— Improvements still needed for mixing translucent materials

Fluid – Goo – Blood Ohhh MYYY!

— Downsampling

Fluid was downsampled to improve overall performance

Fluid – Goo – Blood Ohhh MYYY!

— Downsampling

Fluid is rendered at ½ resolution, caused edge artifacts

Used FXAA to smooth edge aliasing, minimal cost

— Fast Approximate Anti-Aliasing (FXAA) algorithm created by Timothy Lottes @ NVIDIA

— Smooths pixels instead of geometry, perfect for our fluid technique!

Fluid – Goo – Blood Ohhh MYYY!

— FXAA to the rescue!

Fluid – Goo – Blood Ohhh MYYY!

— Production lessons

Allow everything to be controlled in the effects package

— Color, Size, blur, edge quality all controlled per effect

Fluid – Goo – Blood Ohhh MYYY!

— Production lessons

Density is key

— Modified color/sizing by fluid density

Fluid – Goo – Blood Ohhh MYYY!

— Production lessons

Sorting can be hard, watch out for level designers!

Fluid – Goo – Blood Ohhh MYYY!

— Blood: to simulate or not to simulate (YES SIMULATE!)

Allowed an interesting gameplay change

Easier to determine hits, visible blood trails, fun?

Pushes the boundaries of some ratings

Next step: leaving decals

Questions?