Live 渲染:相机轨道、恢复后处理与离屏合成

Live 渲染:相机轨道、恢复后处理与离屏合成 由 Archify 生成的架构图。 晚帧时间轴评估 · LiveTimelineControl.AlterLateUpdate · 架构组件 · worksheetList[0] · 60 Hz 晚帧时间轴评估 LiveTimelineControl.AlterLateUpdate worksheetList[0] · 60 Hz 演示相机切换 · Director.UpdateMainCamera · 架构组件 · 负索引→0;0..2→1..3 演示相机切换 Director.UpdateMainCamera 负索引→0;0..2→1..3 姿态与镜头轨道 · CameraPos / LookAt / Fov / Roll · 架构组件 · 按 targetCameraIndex 写入 姿态与镜头轨道 CameraPos / LookAt / Fov / Roll 按 targetCameraIndex 写入 景深焦点与合法性 · OnUpdatePostEffect_Dof · 架构组件 · bit16 注视点 · bit17 米制 · bit18 开启 景深焦点与合法性 OnUpdatePostEffect_Dof bit16 注视点 · bit17 米制 · bit18 开启 相机独立效果状态 · GallopImageEffect / CameraData · 架构组件 · 仅活跃相机发布 RuntimeParameter 相机独立效果状态 GallopImageEffect / CameraData 仅活跃相机发布 RuntimeParameter 实际渲染器资产 · UniversalRenderPipelineAsset · 架构组件 · 质量级覆盖优先;运行时副本 实际渲染器资产 UniversalRenderPipelineAsset 质量级覆盖优先;运行时副本 角色与背景场景颜色 · UniversalRenderer + Outline · 架构组件 · 不透明 / 透明队列;相机层掩码 角色与背景场景颜色 UniversalRenderer + Outline 不透明 / 透明队列;相机层掩码 投影接收物重绘 · ProjectorRenderPass · event300 · 架构组件 · Game + Director + 活跃投影器 投影接收物重绘 ProjectorRenderPass · event300 Game + Director + 活跃投影器 后处理成员与能力门 · PostImageEffectFeature.AddRenderPasses · 架构组件 · 仅演示组或 MultiCamera;逐效果 Setup 后处理成员与能力门 PostImageEffectFeature.AddRenderPasses 仅演示组或 MultiCamera;逐效果 Setup 恢复着色器资源 · ShaderManager.GetShader · 架构组件 · shader AssetBundle;未就绪每秒重试 恢复着色器资源 ShaderManager.GetShader shader AssetBundle;未就绪每秒重试 按事件排序绑定源颜色 · SourceSetup / GetColorChainSchedule · 架构组件 · 默认550;同事件按 Enqueue 顺序 按事件排序绑定源颜色 SourceSetup / GetColorChainSchedule 默认550;同事件按 Enqueue 顺序 深度输入与效果判型 · ConfigureInput(Depth) · 架构组件 · _CameraDepthTexture · CoC / 深度遮罩 深度输入与效果判型 ConfigureInput(Depth) _CameraDepthTexture · CoC / 深度遮罩 太阳光束与间接光束 · SunShafts / IndirectLightShafts · 架构组件 · 启用且 shader/pass 数满足才执行 太阳光束与间接光束 SunShafts / IndirectLightShafts 启用且 shader/pass 数满足才执行 景深 / 扩散 / 辉光分支 · DofDiffusionBloomOverlayPass · 架构组件 · 模式决定 CoC、低分辨率模糊与合成 景深 / 扩散 / 辉光分支 DofDiffusionBloomOverlayPass 模式决定 CoC、低分辨率模糊与合成 三层胶片按序叠加 · ScreenOverlayRender.PostFilmBlit · 架构组件 · 有效层1→2→3;后层不重复辉光 三层胶片按序叠加 ScreenOverlayRender.PostFilmBlit 有效层1→2→3;后层不重复辉光 径向模糊与深度取消区 · RadialBlurPass · 架构组件 · 有效 Type;2个低分辨率 RT 乒乓 径向模糊与深度取消区 RadialBlurPass 有效 Type;2个低分辨率 RT 乒乓 色调曲线映射 · ToneCurvePass · event550 · 架构组件 · 启用且曲线有效;256×2 LUT 色调曲线映射 ToneCurvePass · event550 启用且曲线有效;256×2 LUT 曝光与深度掩码 · ExposurePass · event550 · 架构组件 · Gain / Lift / MaskGain / MaskLift 曝光与深度掩码 ExposurePass · event550 Gain / Lift / MaskGain / MaskLift 简单 RGB 曲线校色 · SimpleColorCorrectionPass · event550 · 架构组件 · 仅简单、非选择性、无蒙版子集 简单 RGB 曲线校色 SimpleColorCorrectionPass · event550 仅简单、非选择性、无蒙版子集 释放旧源并回写相机颜色 · SetSourceRT / FinalBlit · 架构组件 · ≤550 交接临时RT;>550 DOF 直写 释放旧源并回写相机颜色 SetSourceRT / FinalBlit ≤550 交接临时RT;>550 DOF 直写 演示相机最终混合 · MultiCameraFinalCompositePass · 架构组件 · event999;仅 MainRenderCamera 演示相机最终混合 MultiCameraFinalCompositePass event999;仅 MainRenderCamera 最终相机颜色与 Live UI · LiveScene Canvas · Screen Space Overlay · 架构组件 · UI 无相机引用;不是 RT_Screen 消费者 最终相机颜色与 Live UI LiveScene Canvas · Screen Space Overlay UI 无相机引用;不是 RT_Screen 消费者 旁路复制输出纹理 · CopyCameraToRTFeature → RT_Screen · 架构组件 · 实际 event1000;序列化1004未被使用 旁路复制输出纹理 CopyCameraToRTFeature → RT_Screen 实际 event1000;序列化1004未被使用 多相机独立轨道与 Single · AlterUpdate_MultiCamera · 架构组件 · 无有效位置键→禁用;Single→冻结淡出 多相机独立轨道与 Single AlterUpdate_MultiCamera 无有效位置键→禁用;Single→冻结淡出 多相机离屏场景捕获 · MultiCamera.CaptureTexture · 架构组件 · ARGB32 + depth24;按演示相机尺寸 多相机离屏场景捕获 MultiCamera.CaptureTexture ARGB32 + depth24;按演示相机尺寸 分屏遮罩与分界线混合 · MultiCameraComposite · 架构组件 · event1003;FadeValue>0 + 材质可用 分屏遮罩与分界线混合 MultiCameraComposite event1003;FadeValue>0 + 材质可用 每帧透明清空的累积图 · FramebufferCompositeTexture · 架构组件 · beginFrame 每 Unity 帧仅清一次 每帧透明清空的累积图 FramebufferCompositeTexture beginFrame 每 Unity 帧仅清一次 保留上次完整演示帧 · CompositeTexture / fadeType · 架构组件 · 0实时并保存;2跳过一次→1冻结 保留上次完整演示帧 CompositeTexture / fadeType 0实时并保存;2跳过一次→1冻结 环境与指定镜面策略 · StageController / Director.LateUpdate · 架构组件 · 时间轴可见性、角色掩码、Toon选择 环境与指定镜面策略 StageController / Director.LateUpdate 时间轴可见性、角色掩码、Toon选择 平面反射与斜裁剪捕获 · MirrorReflection.ForceRenderOnce · 架构组件 · 活跃/接收物可见/正面;防重入 平面反射与斜裁剪捕获 MirrorReflection.ForceRenderOnce 活跃/接收物可见/正面;防重入 镜面纹理与材质采样 · MirrorTexture / _ReflectionTex · 架构组件 · 普通 renderer 或 SimpleMirrorCaster 镜面纹理与材质采样 MirrorTexture / _ReflectionTex 普通 renderer 或 SimpleMirrorCaster 监视器轨道与材质绑定 · StageMonitorDriver.LateUpdate · 架构组件 · Camera标志且真实捕获有效才绑定 监视器轨道与材质绑定 StageMonitorDriver.LateUpdate Camera标志且真实捕获有效才绑定 监视器场景捕获 · StageMonitorCameraDriver · 架构组件 · 有效位置+LookAt;屏幕几何临时隐藏 监视器场景捕获 StageMonitorCameraDriver 有效位置+LookAt;屏幕几何临时隐藏 监视器专用离屏纹理 · LiveMonitorCameraRT · 架构组件 · 1024×576 ARGB32 + depth24 监视器专用离屏纹理 LiveMonitorCameraRT 1024×576 ARGB32 + depth24 多相机专用辉光与胶片 · LiveMultiCameraTimeline.EvaluatePostEffects · 架构组件 · 逐帧清空;没有多相机 DOF 评估 多相机专用辉光与胶片 LiveMultiCameraTimeline.EvaluatePostEffects 逐帧清空;没有多相机 DOF 评估 当前姿态与视锥 Switcher 事件 相机组绑定 先更新注视点 合法焦点 + 开启位 每相机状态 默认 renderer0 不透明后重绘 其余场景颜色 成员 + 启用 + 至少一项就绪 缺材质→该项不入队 按需请求深度 就绪项可跳过 同550先光束后DOF 模式需要深度时 新式模式调用胶片 各自 Setup 成功才执行 默认550后续校色 就绪才入队 简单校色就绪 交接临时RT 效果链结束 先混合再屏幕UI 仅主相机复制 活跃相机先渲染 最终捕获附件 按 LineType 混合 参与混合后保存 实时或冻结 + fade>0 LateUpdate 强制提交 SingleCameraRequest / Render 接收物在场景中采样 当前帧捕获配置 启用 Base 相机 Camera模式材质采样 按 MultiCameraNo 选轨道 独立 PostEffectParameter 图例 前端 后端 数据库 安全