材质类型和材质
材质类型定义材质的属性类型。您可以通过调整材质类型定义的材质属性值,设置材质的外观。每种材质类型都有一个顶点着色器和片段着色器,它们设定了材质可用的属性类型。 材质可用于设置模型 (Model) 节点和材质笔刷 (Material Brush) 笔刷的外观。请参阅使用网格和使用笔刷。
在 Kanzi Studio 中的素材库 (Library) > 材质和纹理 (Materials and Textures) 中,您可以看到可用的材质类型、材质、纹理、笔刷和着色器,也可以添加新的材质类型、材质、纹理、笔刷和着色器。
除了材质属性以外,您还可以在材质类型中设置光源中使用的属性。光源属性通常是在数组中定义的。光源属性数组中的项的数量指定了材质类型允许使用的光源数量。光源是在运行时从激活的场景中的光源中收集的,其光源数据具有当前渲染的材质类型中的所有光源属性。着色器属性会显示从着色器代码解析的着色器输入。请参阅使用光源节点。
Kanzi Studio 提供模板工程,其中包含来自位于 <KanziInstallation>/Studio/Asset Library的Kanzi Studio Asset Library 的一组默认材质类型和着色器。创建新的 Kanzi Studio 工程时,您可以根据其提供的材质类型从不同的工程模板中选择:
- 要开始使用不包含任何预定义材质类型的模板,选择手动导入材质类型 (Import material types manually)。您可以根据需要将 Kanzi Studio 材质库中的材质类型添加到工程中,或创建自己的材质类型。请参阅为您的工程添加材质类型
- 快速性能顶点着色器 (Fast performance vertex shaders) 模板拟用于低精度高性能 OpenGL ES2 应用程序。它包含优化的基于顶点的着色器,与 OpenGL ES2 配合使用。大多数 GPU 特定计算在顶点着色器中完成。对大多数设备而言,这是一个很好的起点。
- 高质量片段着色器 (High quality fragment shaders) 模板拟用于高精度 OpenGL ES2 应用程序。包含与 OpenGL ES2 一起使用的基于像素着色器的材质。大多数 GPU 特定计算在片段着色器中完成。通常以牺牲性能为代价提供更好的图像质量。
快速性能顶点着色器 (Fast performance vertex shaders) 和高质量片段着色器 (High quality fragment shaders) 工程模板定义工程材质库中可用的一组材质类型,每个材质类型都有片段着色器和顶点着色器。请参阅着色器最佳实践。
如果您不确定应选择哪种类型的工程,请选择手动导入材质类型 (Import material types manually) 并根据需要添加材质。
使用的着色类型通常是导致性能不佳的第一个瓶颈。请参阅着色器最佳实践。