《3. 探索 Unity 实时云渲染(顾申华).pdf》由会员分享,可在线阅读,更多相关《3. 探索 Unity 实时云渲染(顾申华).pdf(29页珍藏版)》请在三个皮匠报告上搜索。
1、探索 Unity 实时云渲染分布式渲染技术助力提升渲染性能顾申华Unity 中国Unity 实时云渲染介绍引擎集成Unity 引擎原生集成的能力。开发过程中可以做到无需引入额外插件,对工程项目无侵入。已有工程只需使用对应版本系列的编辑器重新构建打包,便可完成发布。实时串流利用了 WebRTC 作为流媒体传输协议,实现高质量、高复杂的 3D 场景在远端渲染,并能低延迟、低损耗的传输至跨平台终端设备播放。实时交互提供多种终端 SDK,提供 Input System 和基础音视频通信功能。开发者可以利用数据通道,自定义业务场景功能,创造更多可能。Unity 实时云渲染介绍基本原理Unity Play
2、er(headless mode)DX11 Swapchain.presentaudio system.master group.onDatainput system:old/newmicrophone.onDataCloudRendering Agent(as a Windows Service)encode,h264encode,accdecode,keyboard,mouse,touch,gamepaddecode,accWeb BrowserPeerConnectiontexture handlevideo streamPCM dataaudio streaminput datadat
3、a channelPCM dataaudio streamstart player,heart beatcloudrendering clientagentstart game,peerConnecitonjs SDK基本用法Step1 打包Step2 上传Step3 发布高级用法Web Appindex.htmlindex.js JS:send/receive messagesUnity ProjectAssetsPackagesinstall cloudrendering.unitypackageC#:send/receive messages高级用法 收发消息C#高级用法 收发消息Jav
4、aScript高级用法更多功能01修改分辨率/画质02 无输入回调03 游戏状态回调04 网络状态回调05 虚拟键盘回调06 游戏截图07 麦克风采集08 结束游戏分布式渲染技术详解技术架构 采用多 GPU 节点以横向扩展的形式运行相同的 Unity 应用,解决大型复杂项目场景下,单机单卡 GPU 纵向提升受限的问题。降低对硬件设备性能的妥协,助力内容创作不受限。架构简介部署方式 单机多卡编组。单机单卡,多机编组。单机多卡,多机编组。支持同主机/跨主机部署混布信息输入帧聚合渲染节点 0渲染节点 1渲染节点 N网络同步画面输出同步方法LockStep,齐步走网络同步方案角色分工EmitterRe
5、peater同步内容时间:Time.delta,Time.unscaledDeltaTime.随机数:种子,内部状态用户输入:键盘,鼠标,触摸 自定义数据EmitterFrame(N+1)RepeaterFrame(N)R1R2R3FrameStateFrameDoneFrameStateFrameDoneFrameStateFrameDone网络同步方案 齐步走顶视图MulticastRepeater 3(Frame N)Repeater 2(Frame N)网络同步方案 齐步走时序图Emitter(Frame N+1)Repeater 1(Frame N)Emit FrameState(N
6、)Wait for FrameDone(N)for all repeatersRestore FrameState(N)Signal FrameDone(N)FixedUpdate(N+1)Blocking LoopBlocking LoopUpdate(N+1)LateUpdate(N+1)Rendering(skipped)Present(skipped)FixedUpdate(N)Update(N)LateUpdate(N)Rendering(N)Present(N)(Frame N)LateUpdate(N)网络同步方案更复杂的问题Async I/Oyield return www.S
7、endWebRequest()yield return AssetBundle.LoadAssetAsync()分块渲染多个 Unity 运行实例分别绑定 GPU 资源,每个渲染实例按相同帧率绘制部分区域画面。后经拼接处理后输出为一路完整的画面对外输出。渲染方式分块/分时渲染N 帧N 帧N 帧N 帧N+3 帧N+2 帧N+1 帧N 帧分时渲染多个 Unity 运行实例分别绑定 GPU 资源,每个渲染实例按各自预定义的渲染顺序绘制完整的画面。按照帧序处理后输出为一路完整的画面对外输出。渲染方式 分块非对称投影渲染方式 分块过扫描渲染方式 分块全局屏幕空间渲染方式 分块物理屏幕尺寸和边框无需适配C
8、hannel MixerFilm GrainLift,Gamma,GainSplit ToningWhite BalanceTonemappingColor CurvesColor AdjustmentsShadows,Midtones,HighlightsFast Approximate Anti Aliasing(FXAA)Enhanced Subpixel Morphological Antialiasing(SMAA)MSAASubsurface Scattering已经适配BloomVignetteMotion BlurChromatic AberrationDepth of Fie
9、ldLens DistortionTemporal Anti AliasingAmbient Occlusion需要特殊适配Volumetric lightingAutomatic Exposure渲染方式 后处理后处理的处理案例和场景表现场景三角面 300M(3亿)38402160(4K)分布式渲染(3 Repeaters)FPS提升 1340,1.5x 2.8x案例一:测试环境Intel(R)Core(TM)i7-117002.50 GHz 4.90 GHz8 Core,16 ThreadsNVIDIA GeForce RTX 306012 GB VRAM直播互动剧-青霄表现全景环绕视角,全场5000人38402160(4K)分布式计算+分布式渲染(3 Repeaters)FPS提升 15 FPS 30 FPS案例二:测试环境Intel(R)Core(TM)i7-117002.50 GHz 4.90 GHz8 Core,16 ThreadsNVIDIA GeForce RTX 306012 GB VRAM星际广场-世界杯场景一:本地部署分块渲染对接四块屏幕场景二:虚拟拍摄曲面LED墙场景三:虚拟拍摄镜头实时跟踪感谢参与THANKS