地形详情必须是 MaterialVariant 对象的子。父级材料变体对象的 MaterialVariant.BaseMaterial 属性需要成为支持的地形材料之一,例如,它可以是玄武岩,但不是塑料。
地形渲染具有不同纹理的顶部(+y)、底部(-y)和侧面(垂直于 y 轴)。如果材料变体没有地形详情子元素,所有面都按指定的材料变体渲染。最多可以添加 3 个地形详情对象到材料变体,每个面都有一个。地形详情覆盖了某个面的地形外观。
例如,它可以实现这种效果:草地的顶面有很多草。在侧面上,草会更少。在底部表面上没有草。
概要
属性
决定表面的颜色。
这个地形详情覆盖的面。
决定了纹理地砖方法。
确定哪些表面部分是金属,哪些部分是非金属。
通过添加凹坑、孔、裂缝和曲线来修改表面的照明,而不需要添加更多的多边形。
确定表面上的粗糙度。
决定了纹理的尺寸。
属性
ColorMap
该属性决定了表面的颜色。这种纹理有时也被称为反射率纹理。阿尔法通道不被使用。
MetalnessMap
该属性决定哪些表面部分是金属,哪些部分是非金属。金属地图是一个灰度图像,黑色像素对应非金属,白色像素对应金属。
金属只反射与金属相同颜色的光,而且反射的光比非金属多得多。在现实世界中的大多数材料可以分为金属或非金属。因此,金属性地图中的大多数像素将是纯黑色或纯白色。值在中间通常用于模拟底层金属区域上的泥浆或格兰ж。
当 Lighting.EnvironmentSpecularScale 为 0 时,金属性没有影响。为了获得最真实的反射,设置环境光泽比例为 1,环境光泽为 和 为 (0,0,0) 是推荐的。
NormalMap
该属性通过添加凹坑、孔、裂缝和弯曲来修改表面的照明,而不需要添加更多的多边形。
普通地图是RGB图像,它们会修改用于灯光计算的表面正常向量。普通地图的 R、G 和 B 通道分别对应本地表面向量的 X、Y 和 Z 组件,每个通道的 0 和 255 字节值分别线性地对应普通向量组件的 -1 和 1.016 respectively。这个范围从 -1 延伸到 1 以便一个 127 位的字节值映射到准确为 0。普通向矢量力的 Z 轴始终定义为基础网格的正常方向。一个统一的(127,127,255)图像转换为完全平坦的普通地图,其中普通与网格表面垂直处处存在。这种格式被称为“斜角空间”普通地图。Roblox 不支持世界空间或对象空间普通地图。
翻转不正确的普通组件可能会使凹陷处出现凹陷。如果你导入了一个正常地图并注意到灯光看起来不正关闭,你可能需要反转图像的 G 通道。斜角空间框架的 X 和 Y 轴对应图像在被网格 UV 变形后的 X 和 Y 方向。如果你在图像编辑器中查看你的普通地图,像它显示在表面上一样,向屏幕右侧的正常应该显得更红,向屏幕顶部的正常应该显得更绿。
有时使用“DirectX格式”和“OpenGL格式”来描述普通地图的 G 通道是否反转。Roblox 期望 OpenGL 格式。
Roblox 期望导入的网格包含斜角。模型软件也可以将其称为“斜角空间”信息。如果你使用普通地图并且它似乎没有任何视觉差异,你可能需要重新导出你的网格以及其渐变信息从模型软件。
RoughnessMap
该属性决定了表面上的粗糙度。粗糙度地图是一个灰度图像,黑色像素对应最光滑的表面,白色像素对应最粗糙的表面。
粗糙度指表面在非常小的缩放度上有多大变化。对光滑表面的反思很锋利且集中。对粗糙表面的反射更模糊和分散。