Files
BlueRoseNote/02-Note/演讲与教程笔记/虚幻开放日2025/《鸣潮》中的光线追踪:用光线构建动漫风格开放世界.md
2025-09-06 19:50:39 +08:00

1.3 KiB
Raw Blame History

title, date, excerpt, tags, rating, status, destination, share, obsidianUIMode
title date excerpt tags rating status destination share obsidianUIMode
《鸣潮》中的光线追踪:用光线构建动漫风格开放世界 2025-08-22 16:35:32 inprogress false source

Rtx

实现功能

  1. Rtx反射
  2. RtxGI
  3. RtxShadow

选型&快速验证

需求 32km 32km 二次元 TOD 4060 2k 60fps

方案:

  1. ReSTIR
  2. Lumen简略版砍掉一些不需要的过程
    1. GI
    2. Reflection
    3. 重新开发Clipmap Irradiance Cache来代替Surface Cache

ReSTIR

  1. 时间、空间重采样
  2. 计算光照
  3. 使用SHaRC、NRD降噪库。

SHaRC(Spatially Hashed Radiance Cache)

  1. 解决Multi-Bounce Problem
  2. 基于世界空间稀疏哈希的Radiance Cache
  3. 默认只有2次反射

NRD(Nvidia Real-time Denoising)

  1. 基于Spatio-Temporal的降噪器开箱即用。
  2. 用于最终降噪输出。
  3. 性能消耗较高4080 2k 2.3~3.0ms

缺点:

  1. 实现起来简单,光照效果好,但带宽性能压力大。
  2. 远处、边缘有噪点。

功能实现与迭代经验

ToonShading

案例1角色自阴影

  • 光栅化
    • 场景CSM
    • 角色PerObjectShadow
  • Rtx
    • 用剔除角色的InstanceMask做ToonShadowRay
if(IsToonShadingModel(ShadingModelID))
{
	RayTracingMask |=RAY_TRACING_MASK_SHADOW_NOT_TOON;
}

案例2角色接入GI

案例3角色接入反射