GLTF着色器

glTF (GL传输格式)是一种文件格式,用于3D场景,模型,材料,纹理,图像,铰接和蒙皮动画,使用JSON格式存储在层次结构中的已转换节点信息的关键帧动画和与GL内存规范对齐的二进制数据最少的实时运行处理。

Modo直接在其中支持glTF着色器系统Modo着色器树,高级3D(OpenGL)视口,预览视口以及glTF导出插件中。结果可以在Advanced 3D(OpenGL)视口预览视口。结果与Modo glTF着色器系统与外部实时glTF预览器密切相关。

添加glTF材料

要添加glTF材料并将其设置为默认材料,请执行以下操作:

1.   启用Polygons选择模式,进行选择,然后按M

Polygon Set Material对话框显示。

2.   设置TypeglTF Material并启用Make Default

3.   打开Shader标签,然后在Properties > Texture Layers标签。有关更多信息,请参见glTF材料特性

注意:  有关导出glTF文件的信息,请参见导入和导出文件格式
有关glTF首选项的信息,请参见GLTF V2 I / O

更改glTF着色器类型

您可以快速更改glTF着色器类型。

注意:  有关添加和使用的信息Shader Tree项目层,请参见着色树

要更改glTF着色器类型:

1.   打开Shading右侧面板上的标签。
2.   选择父项Material列表中的项目。
3.   来自Effect下拉菜单,选择glTF,然后选择一个着色器类型。

glTF Shader图像效果类型

在应用任何glTF Shader图像效果类型之前,请查看以下规则。

注意:  这些规则以外的任何内容都会产生警告。

Swizzling必须启用以上图像地图效果。

glTF Metallic涡流通道必须是Blue

glTF Roughness涡流通道必须是Green

glTF Ambient Occlusion涡流通道必须是Red

Transparency Amount涡流通道必须是Alpha

glTF MetallicglTF RoughnessglTF Ambient Occlusion必须在相同的材质组中链接相同的图像剪辑。

glTF Base ColorTransparency Amount必须在相同的材质组中链接相同的图像剪辑。

以下glTF着色器图像效果类型可用:

glTF图像效果类型

描述

glTF环境光遮挡

遮挡是一种模拟全局照明的简单快速的方法,而无需考虑任何场景照明的开销,因为它仅考虑曲面及其相互邻接的方式。遮挡图用于指示间接照明的区域

环境光遮挡描述了在现实的照明条件下,裂缝,缝隙,拐角和其他小的半封闭空间往往比周围的表面更暗。它们的内部被封闭,因此环境光无法进入。

glTF Ambient Occlusion在渲染的视图中增加真实感,并且在场景不应该具有直接光源的情况下有助于展现细节。

glTF基础色

根据金属性的不同,基色有两种不同的解释。当材料是金属时,基色是法向入射(F0)时特定的反射率测量值。对于非金属,基色表示材料的反射漫反射色。

glTF排放 使用发射贴图控制材料发出的光的颜色和强度。
glTF金属的

指定材料电导率的百分比。0%表示无电导率(其电介质或绝缘体,例如橡胶,油漆或木材),100%表示全电导率(材料的行为类似于金属)。

注意:  影像图 izz效果glTF MetallicglTF Roughness同一材料组中的材料必须具有相同的影像图链接到他们。
如果您创建的材料组包含glTf MetalicglTF Roughness需要以下设置:
-glTF金属通道必须为“蓝色”。
-glTF粗糙度通道必须为“绿色”。

glTF正常 使用切线法线贴图。几何看上去不太详细。
glTF粗糙度

指定施加到表面上的材料的表面粗糙度,使其显得更暗淡或粗糙,或发亮和光滑。

注意:  影像图 Swizzling效果glTF MetallicglTF Roughness同一材料组中的材料必须具有相同的影像图链接到他们。
如果您创建的材料组包含glTF MetalicglTF Roughness需要以下设置:
-glTF金属通道必须为“蓝色”。
-glTF粗糙度通道必须为“绿色”。

导出蒙皮动画

可以导出带有已应用关节的网格以及转换动画和权重顶点贴图。网格下的每个变形组都被评估为链接到其自身的单独的glTF外观WeightJoints蒙皮的网格数据中包含的顶点贴图。

注意:  在导出到glTF之前,请确保冻结对蒙皮网格所做的所有转换。在导入任何支持glTF v2规范的支持glTF的应用程序期间,将忽略未冻结的蒙皮网格转换。

Weight map -对于glTF v2规范,权重的顶点图最大包含四个关节对每个顶点的影响。

Joint map -每个顶点最多包含四个节点的索引,这些索引对顶点具有权重影响。

对于每个glTF皮肤,应该只有一个根(骨架)关节节点,而所有其他关节节点应该是该节点层次结构中的子节点。每个皮肤都由inverseBindMatrices属性(指向带有IBM数据的访问器),用于将要蒙皮的坐标带入与每个关节相同的空间中,而joints数组属性则列出了用作关节以对皮肤进行动画处理的节点索引。

Save Skinned Meshes in World Space首选选项应该用于glTF v2中的蒙皮动画,以与外部预览器(例如Babylon.js)兼容。启用Save Skinned Meshes in World Space在glTF v2中,I / O首选项将网格转换矩阵应用于网格顶点,并将其移动以绑定世界空间中的位置。世界空间网格顶点通过关节的反向绑定矩阵进行变换,并且它们的顶点权重正确影响。

有关首选项的更多信息,请参见GLTF V2 I / O

导出相机

相机来自Modo导出为具有变换特性和占位符特性的固定透视图相机,其中Z设置为值0.01,Y设置为0.8726。

 

glTF材料特性

Shading Model -控制如何评估灯光和表面属性以进行最终渲染。

Physically Based -使用高光形状和菲涅耳衰减阴影。这是基于广义Trowbridge-Reitz BRDF模型的,该模型因能够产生逼真的表面阴影而被许多著名电影制片厂所普及。

Unlit -定义Base Color Multiplier用于表面着色,而不受任何类型的光照(例如定向或环境)的影响。

注意:  材料Transparency Amount启用Unlit阴影模型时,也可以渲染该属性。

Base Color Multiplier -为应用到表面的材料的底色定义RGB值。什么时候Base Color应用纹理后,此参数将作为最终混合纹理值的乘数。

Metallic Multiplier -金属色通常会在表面上散布彩色的高光。通过更改百分比值来指定材料的金属质量。值0指定非金属表面,而值为1导致金属表面。什么时候Metallic应用纹理后,此参数将作为最终混合纹理值的乘数。

Roughness Multiplier -表面可能彼此非常不同,例如橡胶球,塑料杯和兵马俑砖。这些表面看似都是光滑的表面,但在微观上它们的表面却大不相同。微观表面变化直接影响光从每个表面反射的方式。

Roughness设置可模拟这些微观差异,使表面显得更暗淡或粗糙,光泽或光滑。它还会影响镜面高光以及光线跟踪和环境反射。什么时候Roughness应用纹理后,此参数将作为最终混合纹理值的乘数。

Normal Scale -主地图中法线地图的比例。

Ambient Occlusion Scale -控制应用的遮挡量。值0.0表示无遮挡。值1.0表示完全遮挡。如果未指定相应的纹理,则将忽略此值。该值是线性的。

Emission Color Multiplier -指定材料的哪一部分应因发光而发光。

Emission Level -指定排放水平。

Detailed Normal Scale -次要地图中法线地图的比例。

Height Scale -高度图的比例。

Fresnel Reflectance 0 -确定光的反射。

Reflection Rays -此属性是指与F9要么Preview渲染。指定用于采样反射的光线数量。较多数量的射线可产生更好的渲染质量,但会增加渲染时间。