图解流程

  flowchart TB
    subgraph 3D Texture Atlas
        A["<b>3D Texture Position</b><br/>生成位置 Atlas 贴图"]
        B["<b>3D Volume Mask</b><br/>定义体积形状<br/>(可选Cube/Cylinder/Sphere)"]
        C["<b>3D Perlin Noise</b><br/>3D 柏林噪波"]
        D["<b>3D Texture SDF</b><br/>转到SDF"]
        A --> B
        A --> C
        B --> D
        Z[这些节点的纹理都是用 3D Texture Atlas 表示]
    end

    D --> E["<b>3D Texture Volume Render</b>"]
    C --> E

各节点的数据定义

3D Texture Position

存储每个体素的位置坐标

TEXT
R = x / sizeX
G = y / sizeY
B = z / sizeZ
点击展开查看更多

3D Volume Mask

这个节点的输出应该是以离散切片的方式表达几何形状,但理论上直接使用 0/1 bitmask 就足以表达了,但现实是输出是呈现从前后向中心渐变的。目前不太理解这个渐变是何意味,使用 Levels 抹掉渐变或直接用 Tile Generator 替换这个节点一样能达成效果。

3D Texture SDF

存储体素到物体表面的最近距离,并且是有符号的:

TEXT
内部 = 负数
表面 = 0
外部 = 正数
点击展开查看更多

然后 remap 到 0~1 存储到纹理中。

版权声明

作者: Cheyne Xie

链接: https://chaim.eu.org/posts/f9727aef/

许可证: CC BY-NC-SA 4.0

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Please attribute the source, use non-commercially, and maintain the same license.

开始搜索

输入关键词搜索文章内容

↑↓
ESC
⌘K 快捷键