>100 Views
May 09, 18
スライド概要
講演者:Jay Santos(Unity Technologies)
こんな人におすすめ
・プログラマー
・テクニカルアーティスト
受講者が得られる知見
・Unityがスクリプタブルレンダーパイプラインを開発した背景
・軽量レンダーパイプライン(LTRP)/高画質レンダーパイプライン(HDRP)の使い方
・独自のパイプラインの開発手法
リアルタイム3Dコンテンツを制作・運用するための世界的にリードするプラットフォームである「Unity」の日本国内における販売、サポート、コミュニティ活動、研究開発、教育支援を行っています。ゲーム開発者からアーティスト、建築家、自動車デザイナー、映画製作者など、さまざまなクリエイターがUnityを使い想像力を発揮しています。
1
An Introduction to Scriptable Render Pipelines
Jay Santos Lead Evangelist - SAPAC [email protected] @JayUnity3d
Talk Topics ● What is a Scriptable Render Pipeline? ● What Scriptable Render Pipelines are available? ● How to get started with using Scriptable Render Pipelines? 4
What is a Scriptable Render Pipeline? 5
SRP is... A way of configuring & performing rendering in Unity that is controlled from a C# script. 6
Render Pipeline 7
For Example: Realistic FPS for High-End Desktop & Consoles ● Requires Global Illumination, Reflections, Shadows, etc ● Uses a lot of Post Processing Effects ● Using Photogrammetry: Layered Materials ● Complex Particle Systems; some affected by Light ● Minimal UI/Text 8
For Example: Top-Down 3D Toon-Styled Tower Defense for Tablets ● Toon visuals, custom shader that don’t use PBR ● Minimal lighting: One Shadow-Casting light, Emissive materials ● Custom PPS (to achieve unique visuals) ● Unlit particles ● Some UI/Text 9
For Example: 2D Puzzle Game for Low-End Mobile. ● Sprites: No Lighting, Reflections, Shadows, etc ● No Post Processing Effects! ● Basic Particles; not affected by Light. ● A lot of UI/Text 10
Why is Unity integrating Scriptable Render Pipelines? 11
Why is Unity integrating Scriptable Render Pipelines? ● Make Unity’s Rendering less of a black-box! ● More Choice in how a game/project is rendered. ● More Customization of via exposed parameters and methods. ● More Control over how and where performance resources are used. 12
What Scriptable Render Pipelines are available in Unity 2018.1? 13
Available in Unity 2018.1 ● Built-In Render Pipeline ● SRP API: ○ Lightweight (LWRP) - Beta ○ High Definition (HDRP) - Preview ○ Custom 14
Built-In Render Pipeline ● The existing already-integrated, generalpurpose Render Pipeline that is available today. ● Large number of Shaders, Post Processing, Assets etc that are already compatible. ● Rendering: ○ Multi-Pass Forward ○ Multi-Pass Deferred ● Was used for ‘Adam’ & ‘Blacksmith’ Demos. 15
Built-In Render Pipeline ● ‘Black Box’ ○ Limited control over how the scene is Rendered. ● Can be unperformant or expensive for some use-cases. ● Some Unity Graphics features won’t be supported 16
Lightweight Render Pipeline (LWRP) ● Stripped-back Optimised Render Pipeline ○ Targeted at Mobile and XR ● Single-Pass Forward Rendering ○ Advantage: Up to 8 Pixel Lights are shaded in a Single Pass! ● Some Trade-Offs: ○ One Realtime Shadow Light ○ No Realtime GI ○ No Point Light Realtime Shadows ○ Mixed Mode: No Shadowmask/Subtractive ○ No Light Cookies ○ PPS: No TAA, SSR, SSAO, Motion Blur 17
Lightweight Render Pipeline (LWRP) ● LWRP Package contains a set of compatible Standard Shaders ○ Includes an ‘Upgrade’ Tool for existing Materials. ● Current Unlit Shaders (Particles, Skybox, etc) are automatically compatible. ● Shader Graph can generate LWRP Shaders ○ Custom hand-written Shaders need to be setup for LWRP. 18
High Definition Render Pipeline (HDRP) ● AAA Graphics for Small Teams ○ Targeted at High-end PC and Consoles ● Hybrid Deferred/Forward - Tile/Cluster Renderer ○ Rendering path is solely based on performance ● Unified Lighting 19
High Definition Render Pipeline (HDRP) - Materials ● Projection: Planar, Tri-planar ● Parallax Occlusion Mapping ● Tessellation ● Subsurface Scattering, Anisotropy, Iridescence ● Clearcoat ● Layering ● Decals 20
Demo 21
Custom Render Pipeline ● C# API to create your own Render Pipeline ● Control over how your game is rendered ● Shader Graph/Custom Shaders must be tuned to your Render Pipeline ● Can start by modifying Unity’s LWRP/HDRPs ○ Available on GitHub! ● Example: Retro 3D Pipeline by Keijiro Takahashi github.com/keijiro/Retro3DPipeline 22
How Can I Get Started? 23
Getting Started There are many ways to get started with SRP... GitHub github.com/Unity-Technologies/ScriptableRenderPipeline github.com/keijiro/Retro3DPipeline Templates Right into the Editor - Either on Package Manager or new project Blog tinyurl.com/hdrpunity 24
Thank you! Jay Santos – Lead Evangelist – SAPAC jay @unity3d.com connect.com/u/Jay