UE4 体积纹理(volume texture)自定义并通过蓝图实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UE4 体积纹理(volume texture)自定义并通过蓝图实现相关的知识,希望对你有一定的参考价值。

参考技术A 首先废话不多说上效果

1、 建立通过点位生成的

3、 建立Actor BP用于烘焙以及赋值到Cube上
网上的方法不能再蓝图里动态生成,因为蓝图里暂时没有对volumeTexture的相关方法,但是我们知道volume原理所以通过反向推算出贴图序号然后修改其贴图的uvw,就可以模仿出volumeTexture

GL_TEXTURE_3D 是啥意思?

【中文标题】GL_TEXTURE_3D 是啥意思?【英文标题】:What does GL_TEXTURE_3D mean?GL_TEXTURE_3D 是什么意思? 【发布时间】:2011-09-07 05:51:01 【问题描述】:

我知道纹理只是一个图像(绝对是 2D),那么为什么我们有 GL_TEXTURE_3D 呢?这是什么意思?和用法?

【问题讨论】:

用于 3d 纹理 - 你错了,纹理总是 2d。 【参考方案1】:

纹理不是绝对二维的。大多数时候它是 2d,但您也可以有 1d 纹理(一条线)和 3d 纹理(一个体积)。使用三个纹理坐标访问 3D 纹理。当您的 3d 模型可以被平面剪裁时,您可以使用它。然后不用看到对象的另一面(对象是空心的),您可以使用 3d 纹理制作实体对象并查看平面剪裁的内容。因此,例如,如果您为手机建模并将其切成两半,而不是看到背面,您可以看到里面的电路。

【讨论】:

应该指出,应用 3D 纹理不会在 OpenGL 中制作实体模型。如果您只是使用剪切平面切割对象,您仍然只能看到被纹理化的表面。但是,使用体积光线投射着色器可以渲染实体。手机和循环的一个更好的例子是 CT 扫描。谷歌搜索“Voxelman”以获得一个想法。【参考方案2】:

OpenGL 中的纹理可以是 1D、2D 或 3D。 AFAIK,3D 纹理在游戏中使用的并不多,而更多地被科学可视化应用程序使用。例如。您有一个具有 3D 坐标 (x,y,z) 和某个值 (v) 的数据集。然后,您可以将数据集(或者更可能是由于内存限制而缩小尺寸的版本)上传到 GPU 并以某种方式对其进行可视化(例如,与创建 2D 切片相比,从 3D 纹理创建 2D 切片非常快作为 CPU 上的纹理并上传)。

【讨论】:

还有立方体贴图和一维和二维数组纹理。

以上是关于UE4 体积纹理(volume texture)自定义并通过蓝图实现的主要内容,如果未能解决你的问题,请参考以下文章

UE4 从 C++ 创建纹理

UE4实现纹理缩放(将纹理坐标进行缩放)

GL_TEXTURE_3D 是啥意思?

OpenGL二维纹理映射(2D textures)

OpenGL二维纹理映射(2D textures)

纹理分析