Skip to main content

Volume Unlit Material (体积无光照材质)

Volume Unlit Material (体积无光照材质)

image.png


Volume Unlit Material(体积无光照材质)组件用于显示 3D纹理,如X光片、阳光光束、核磁共振成像、CT扫描或任何其他3D纹理,显示在一个可选的切片体积立方体中。也可用于体积光照,但高分辨率的纹理可能体积庞大并导致严重的渲染延迟。

这是一种 光线步进 材质,意味着光线会逐步迭代地靠近体积,以确定显示什么或不显示什么。

字段列表 (Fields)

字段名 (英文) 类型 描述 (中文)
HighPriorityIntegration Bool 高优先级集成:是否将此材质标记为高优先级渲染,可能用于特殊效果或性能优化。
_shader AssetRef<Shader> 着色器:当前材质使用的着色器资产。
Mode DisplayMode 显示模式:指定体积的渲染方式(相加、带裁剪的相加、命中阈值)。
BlendMode BlendMode 混合模式:定义材质如何与背景混合(如Alpha混合、叠加等)。
RenderQueue Int 渲染队列:指定材质的渲染顺序(数值越小越早渲染)。
Volume AssetRef<Texture3D> 体积纹理:要显示的三维纹理数据。
StepSize Float 步长:光线步进时每一步的距离,影响渲染质量和性能。
Gain Float 增益:控制体积颜色强度的倍数。
Exp Float 指数:对体积采样值进行幂次运算,用于调整对比度。
AccumulationCutoff Float 累积截止值:当光线累积的透明度超过此值时停止步进,用于优化性能。
HitThreshold Float 命中阈值:在HitThreshold模式下,采样值超过此阈值才被认为命中。
InputRange Float 输入范围:对体积纹理的原始值进行缩放的范围。
InputOffset Float 输入偏移:对体积纹理的原始值进行偏移。
UseAlphaChannel Bool 使用Alpha通道:是否将体积纹理的Alpha通道用于透明度。
Slices SyncList<SlicePlane> 切片列表:定义多个切片平面,用于切割体积。
Highlights SyncList<Highlight> 高亮列表:定义多个高亮平面,用于在体积内添加颜色覆盖区域。

DisplayMode (显示模式)

枚举名称 描述 (中文)
0 Additive 相加模式:光线穿过体积的所有采样值累加起来,不考虑Alpha裁剪。
1 AdditiveCutoff 相加裁剪模式:光线穿过体积的所有采样值累加起来,但尊重Alpha裁剪阈值。
2 HitThreshold 命中阈值模式:二元判定,光线是否击中体积(采样值超过阈值)。

SlicePlane (切片平面)

字段名 (英文) 类型 描述 (中文)
Normal Float3 法线:定义切片平面在局部空间中的方向。
Offset Float 偏移:切片平面在局部空间中沿法线方向的距离。

Highlight (高亮)

字段名 (英文) 类型 描述 (中文)
Normal Float3 法线:定义高亮平面在局部空间中的方向。
Offset Float 偏移:高亮平面在局部空间中沿法线方向的距离。由于某些原因,它是法线的负方向。
Range Float 范围:高亮颜色的厚度,在平面两侧均匀分布。
Color ColorX 颜色:用于覆盖的高亮颜色。

用法 (Usage)

此章节尚不完整,需要补充。

示例 (Examples)

  • Khawn2u的RTX世界中的阳光光束效果。
  • 用于显示导入的3D纹理。

image.png

这是一个原本全白的体积,带有一个高亮平面,法线为<0,1,0>,无偏移,使其居中于体积。其范围0.05,因此具有此厚度。如果是0.5,这将填满整个立方体,因为体积大小为<1,1,1>,且此厚度应用于两侧。

image.png

在右侧的图像中,阈值为0.34,而体积的红色部分值正好为1/3,这意味着它被裁剪了;而在左侧的图像中,阈值为0.28,红色条纹通过了命中测试并被绘制出来。

参见 (See Also)