Language:
Page Info
Engine Version:
Share

体积纹理参考

以下页面讲述了在虚幻引擎4中使用体积纹理的更多信息。

纹理编辑器 - 查看模式

纹理编辑器将吧体积纹理默认显示为一系列的2D图块。将 查看模式深度片(Depth Slices) 改为 追踪到体积中(Trace into Volume) 即可显示体积纹理的3D效果。

VolumeTextureReference_ViewSettings.png

下方的图像对比展示了两种查看模式之间的差异。

Depth Slices

Trace Into Volume

纹理编辑器 - 透明度

体积纹理也可以利用透明通道信息。如果透明通道被禁用,则每个纹素的不透明度将成为所选颜色的强度。在下方的图像对比中可以了解到使用和不使用透明度信息的差异。

With Alpha

Without Alpha

压缩设置

虽然可以在体积纹理上使用压缩,但需要注意几点。 

  • 如需在体积纹理及其mip上使用压缩,首先执行以下代码:

    bool UVolumeTexture::ShaderPlatformSupportsCompression(EShaderPlatform ShaderPlatform)

    这必须为给定平台返回 true。除此之外,以下代码也必须将格式返回为支持:

    ITargetPlatform::GetTextureFormats()

GetDefaultTextureFormatName() 已通过一个名为 bSupportCompressedVolumeTexture 的额外参数进行延展。

  • PC Volume Texture Compression: 如果用户在PC目标平台中选择 DX11DX12 之外的内容,纹理压缩将被 禁用。 

  • OpenGL Volume Texture Compression: OpenGL在X、Y和Z上应用平铺图案混编纹素。其行为与其他支持平台上有所不同(平铺只应用到X和Y)。 

    当前纹理压缩器中不支持Z平铺,因此如果需要支持OpenGL,PC将使用未压缩的数据。

体积纹理常见问题

以下部分解答了UE4开发者在项目中使用体积纹理的常见问题。

  • 是否计划支持DX11/12上所有的纹理压缩格式?

    • 我们会努力尝试支持尽量多的格式。

  • 哪些RHI和平台与体积纹理相兼容?

    • 当前体积纹理在多数平台上的UE4中通用。代码中有一个 GSupportsTexture3D,在所有平台上均为true(部分Android手机除外)。

  • 是否制作或修改了蓝图节点,以便结合体积纹理资源使用?

    • 没有。当前只能在材质中使用体积纹理。

  • 此功能预期的使用案例是什么?

    • 体积纹理可用于大量特效,如流体模拟和体积雾。

  • 使用体积纹理时是否存在已知的限制?

    • 当前,体积纹理 无法 结合纹理流送或渲染目标使用。

体积纹理属性

下表指出了每个体积纹理属性的作用。

属性

定义

Source Texture

构建体积纹理所用的(可选)参考纹理。

Tile Size X

参考纹理平铺大小X。

Tile Size Y

参考纹理平铺大小Y。