Sample Signed Distance Field
菜单路径:Operator > Sampling > Sample Signed Distance Field
Sample Signed Distance Field 运算符允许您获取存储在 Texture3D 中的距离场。
有向距离场 (SDF) 确定从空间中的点到形状表面的距离。按照惯例,此函数对于形状内部的点为负,而在外部为正。物体表面的 SDF 为零。
运算符属性
输入 | 类型 | 描述 |
---|---|---|
texture | Texture3D | 存储 SDF 的 3D 纹理。 |
position | Position | 从中采样 SDF 的位置。 |
orientedBox | OrientedBox | 指定要应用于 SDF 的变换的定向框。 |
Level | float | Mipmap 级别。 |
输出 | 类型 | 描述 |
---|---|---|
distance | float | 从 position 到 SDF 定义的表面有向距离。当 position 在形状外部时,此值为正,position 在形状内部时,此值为负。 |
direction | Vector3 | 指向 SDF 定义的表面上最近点的方向。 |
补充说明
您可以使用 OrientedBox 设置 SDF 的位置、方向和比例。OrientedBox 的中心对应于 sdf 的中心。
限制
为了让此运算符在世界坐标中输出正确的距离,OrientedBox 的尺寸(大小)必须与您用来烘焙 SDF 的盒子的尺寸相匹配。如果您没有正确设置它,纹理边界内外的距离会有不同的比例,这意味着输出不会表现出预期的行为。
此外,如果您对 sdf 应用非统一比例(即与您用来烘焙它的盒子的尺寸不成比例),这会导致距离失真。