GeomCaches for VFX in Ryse. Sascha Herfort Senior Technical Artist

Similar documents
Wednesday, March 30, 2011 GDC Jeremy Ernst. Fast and Efficient Facial Rigging(in Gears of War 3)

Republic Polytechnic School of Information and Communications Technology C391 Animation and Visual Effect Automation.

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group

Our One-Year 3D Animation Program is a comprehensive training in 3D using Alias

EDUCATIONAL. interview with Michael Blackshore. Gotlands Högskola University, Sweden

The Car Tutorial Part 1 Creating a Racing Game for Unity

SkillsUSA 2014 Contest Projects 3-D Visualization and Animation

Advanced Diploma of Professional Game Development - Game Art and Animation (10343NAT)

Programming 3D Applications with HTML5 and WebGL

SAN DIEGO COMMUNITY COLLEGE DISTRICT MESA COLLEGE ASSOCIATE DEGREE COURSE OUTLINE

LightWave IO.1 What s New

PROGRAM OUTLINE PAGE 1

IMGD 1001: The Game Art Pipeline

INTRODUCTION TO RENDERING TECHNIQUES

IT 386: 3D Modeling and Animation. Review Sheet. Notes from Professor Nersesian s IT 386: 3D Modeling and Animation course

Introduction Computer stuff Pixels Line Drawing. Video Game World 2D 3D Puzzle Characters Camera Time steps

GPU Architecture. Michael Doggett ATI

Mocap in a 3D Pipeline

Recent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005

ncloth advanced techniques

Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

Faculty of Computer Science Computer Graphics Group. Final Diploma Examination

Character Creation You can customize a character s look using Mixamo Fuse:

Optimizing Unity Games for Mobile Platforms. Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August

Introduction to Computer Graphics

animation animation shape specification as a function of time

STEPHANIE POCKLINGTON

Shading a Bigger, Better Sequel Techniques in Left 4 Dead 2 BRONWEN GRIMES, VALVE

CG Cookie Workshop:! Mastering Mesh Modeling!

3D Modeling, Animation, Compositing, and Special Effects ITP 215x (2 Units)

Image Synthesis. Fur Rendering. computer graphics & visualization

3D Modeling, Animation, and Special Effects ITP 215x (2 Units)

SOFTWARE ENGINEER. For Online (front end) Java, Javascript, Flash For Online (back end) Web frameworks, relational databases, REST/SOAP, Java/Scala

EUROPASS DIPLOMA SUPPLEMENT

Advanced Dynamics: ncloth & Hair - Animating Mitosis

Grid Computing for Artificial Intelligence

Plug-in Software Developer Kit (SDK)

GAME DESIGN AND DEVELOPMENT TECHNOLOGY. Game Design and Development Technology I

How To Understand The Power Of Unity 3D (Pro) And The Power Behind It (Pro/Pro)

Digital 3D Animation

Mocap in Carrara - by CyBoRgTy

Jordan Shearer. Portfolio. 1Maya Modeling

New Media production week 9

JavaFX 3D Animation: Bringing Duke to Life

Title Description Management Project Manager

Bachelor of Creative Design. Game Art. Course Components

C O M P U C O M P T U T E R G R A E R G R P A H I C P S Computer Animation Guoying Zhao 1 / 66 /

BOARD REPORT NO C Exhibit B, Page 1

3D Modelling in Blender Based on Polygonal Data

Blender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine

Broken Shard. Alpha Report. Benjamin Schagerl, Dominik Dechamps, Eduard Reger, Markus Wesemann. TUM Computer Games Laboratory

animation shape specification as a function of time

Bronwen Grimes Technical Artist

The Design Document. Videogame Design and Programming. Prof. Pier Luca Lanzi

OCR LEVEL 3 CAMBRIDGE TECHNICAL

M.Sc. Animation Game Design & Development (SDE) P age 1 of 11

Production Design / Art Direction. TV Animation / Shorts

An Interactive method to control Computer Animation in an intuitive way.

Compositing a 3D character over video footage in Maya Jean-Marc Gauthier, Spring 2008

CS 4204 Computer Graphics

Dynamic Resolution Rendering

Course Syllabus. Tuesday 4 pm to 5 pm & Thursday 4 to 5 pm

DIPLOMA IN 3D DESIGN AND DIGITAL ANIMATION COURSE INFO PACK

ART 269 3D Animation Fundamental Animation Principles and Procedures in Cinema 4D

3D Computer Animation (Msc CAGTA) Report

NetEase Games - Paid Internship Program

Advanced Diploma of Screen - 3D Animation and VFX (10343NAT)

Getting Started with iray in 3ds Max 2014

INTERACTIVE 3D SIMULATION SYSTEM IN GAME ENGINE BASED COLLABORATIVE VIRTUAL ENVIRONMENT FOR ARCHITECTURAL DESIGN COMMUNICATION

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

Three Methods for Making of Character Facial Animation based on Game Engine

Optimizing AAA Games for Mobile Platforms

CIS 536/636 Introduction to Computer Graphics. Kansas State University. CIS 536/636 Introduction to Computer Graphics

Dynamic Simulations in a 3D-Enviornment a comparison between Maya and Blender

THE AMERICAN ACADEMY OF ART Syllabus for 3DA301 INTRODUCTION TO 3-D MODELING/ANIMATION FALL 2014

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1

The Art Institute of Philadelphia Catalog Addendum GAME ART & DESIGN

The Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA

Thea Omni Light. Thea Spot Light. Light setup & Optimization

Multi-GPU Load Balancing for Simulation and Rendering

Certificate Courses in Animation

Welcome, today we will be making this cute little fish come alive. Put the UltimaFish.bmp texture into your Morrowind/Data Files/Textures directory.

The 3D rendering pipeline (our version for this class)

New York City College of Technology The City University of New York. Department of Communication Design. COMD D Animation & Modeling II

Modelling 3D Avatar for Virtual Try on


ACE: After Effects CS6

Transcription:

GeomCaches for VFX in Ryse Sascha Herfort Senior Technical Artist

GeomCaches in Ryse I. Introduction II. III. IV. Why GeomCaches? Features & Limitations Pipeline Development V. Case Studies VI. Conclusion

GeomCaches aka Alembic Caches aka VFX Setpieces aka this is why we CAN have nice things Crytek s real-time geometry cache pipeline Used for: Cinematic Setpieces Animated Props in-game Interactive Objects in-game anything with many moving parts that isn t a character [Video 01]

Why GeomCaches?

GeomCaches Why? Previously used character animation pipeline Cumbersome (bake to joints) Error-prone (manual XML setup) Inefficient to render (runtime skinning)

Pipeline

GeomCaches Pipeline DCC App Model Rig Animate Export Alembic File Baked Result Goes into P4 Lossless intermediate [Video 02] RC Validate Clean up Fix issues Compress Make Engineready File CRYENGINE Stream Animate Render

Features

GeomCaches Features #1 Imports vanilla Alembic Caches Animated transform hierarchies Homogeneous, deforming meshes User-friendly No engine-markup (besides mat-id) Auto cleanup & optimization Importer presets Additional data-streams Tangent Frames Visibility (i.e. fracturing) Vertex Colors [Video 03]

GeomCaches Features #2 Memory-friendly (7,5x avg. compression) Efficient Rendering [Video 04] Sandbox-esque [Video 05] Flowgraph- & Trackview-integration

Limitations

GeomCaches Limitations Right? Unfortunately...

GeomCaches Limitations Many polygons are still expensive Still need to create LODs Loading data is still slow No physics support (yet) Not all Alembic features supported No heterogeneous meshes (i.e. particle fluid caches) No SubD surfaces No curves Can be used or abused Requires experienced artists

Development

GeomCaches Development Dedicated Engineer and Tech Artist Engineer: Compression (RC) Streaming System Renderer Integration Editor Integration Build support Tech Artist: Pipeline specs VFX RnD prototypical User Tech Evangelist VFX TD

GeomCaches Development New team with little cinematic experience Required lots of Research & Documentation Keeps goals visible Simplifies handoff (i.e. outsourcing) Answers FAQs [Video 06]

Case Studies

GeomCaches Case Study #1 Formation Banner [Video 07] Marks contextual action for player Must work in any environment (ignore wind etc.) Complex cloth motion (unrolling, tassels) Cannot rely on real-time physics

GeomCaches Case Study #1 Setup: Special Entity wraps caches, LODs & logic Game logic Streaming Animation (unrolling & looping) LODing Tech Artist creates asset & sets up prefab Level Designers place it & works out of the box

GeomCaches Case Study #2 Destructible Siege Tower [Video 08] Wood, ropes, cloth Player attacks weak spots ~700 moving parts, 50 drawcalls

GeomCaches Case Study #2 Maya Setup: ncloth & nhair traditional RBD not suitable for scaffolding ncloth rigids more stable & forgiving 6 layers of simulation (large, small, cloth, ropes, ) Result merged into deforming mesh

GeomCaches Case Study #2 Game Setup: Separate cache per weak spot Game logic starts/stops animation Static LODs for distance

GeomCaches Case Study #3 Cinematic Ocean [Video 09] Character swimming in it Art-directed motion for camera angle Cannot use procedural in-engine ocean

GeomCaches Case Study #3 Maya setup: HOT Maya Plug-in (Tessendorf waves, multiple layers) SOuP Maya Plug-in (per-vertex expressions sculpt waves) 2d-fluid solver for character ripples Character rig attached to ocean surface

GeomCaches Case Study #3 Custom Ocean Shader Works on arbitrary geometry Vertex colors drive foam & SSS SSR for contact reflections Procedural normal map & rain ripples

GeomCaches Case Study #4 Character Cloth [Video 10] 5 main characters Complex costumes & hairstyles Cannot setup/tweak before final animation GeomCaches: can polish/tweak every vertex

GeomCaches Case Study #4 70+ animation clips 1-2 characters per rigging TA Trained by VFX TD on GeomCaches Set poly limits early in production

Conclusion

GeomCaches Conclusion #1 Ryse Production: 11 artists using GeomCaches autonomously (at the end of production) 150+ cache files 1,5 hours cache content 1 hour character cloth 30 minutes bat-shit crazy destruction, oceans & sailboats 170+ GB Alembic 25,4 GB GeomCache

GeomCaches Conclusion #2 Future Work: Physics Passive proxies Turn active on contact? Blend cache & real-time sim? Heterogeneous Meshes? DMM Thinking Particles Particle Fluids Cache Blending? CRYENGINE Alembic Exporter

THANK YOU.

The Shout-Outs Alexander Raab Atri Dave Axel Gneiting Bogdan Coroi Chris Evans Chris Mead Dominik Butnaru Michael Kopietz Eric Werner Nicolas Schulz Fabio Silva Riham Toulan Jeffery Khou Thomas Franta Joseph Garth Travis Ramsdale and everybody at Crytek!

Bonus Slides

GeomCaches Bonus Slide #1 The ugly part of the pipeline: Material Order The Problem: Which material does this polygon use? Every 3D-package does this differently CRYENGINE requires material-ids per face Our solution: Alembic has face sets Generated by script before export Mat-ID = first integer found in face set name Alembic: 3dsMax: Maya:

GeomCaches Bonus Slide #2 Maya 2014 Alembic export tricks: MEL command has more features than exporter dialogue! -writecolorsets exports vertex colors -writefacesets exports face-sets Learn more, using AbcExport help;

GeomCaches Bonus Slide #3 Debug old Alembic files with HDFView: [http://www.hdfgroup.org/products/java/hdfview/]