本页内容

自定义材质编辑器

材质编辑器工具

材质编辑器工具是一款图形用户界面(GUI)工具,它通过提供以下功能,使为QtQuick3D 创建CustomMaterials 变得更加轻松:材质的实时预览、语法高亮、错误报告,以及将材质导出为CustomMaterial QML组件的能力。

使用方法

可通过运行以下命令启动“素材编辑器”:

$(QTDIR)/bin/materialeditor[.exe]

材质编辑器窗口由两个主要部分组成:左侧的编辑器区域和右侧的预览区域。

包含着色器编辑器和预览面板的材质编辑器窗口

着色器编辑

编辑器视图中包含两个编辑器,一个用于顶点着色器,另一个用于片段着色器。编辑着色器代码片段时,所做的更改会立即在预览区域中显示。如果无法组装材质,输出面板中将显示一条描述问题的消息。

CustomMaterial 的着色器片段采用Vulkan风格的GLSL编写,其中包含一些QtQuick3D 特有的关键字,这些关键字均以全大写形式书写,因此易于识别。编辑器还会对QtQuick3D 特有的关键字进行高亮显示。

有关着色器代码片段所用语言的更详细概述,以及它们与渲染管线其余部分的交互方式,请参阅《可编程材质》文档。

带位移代码的顶点着色器编辑器

材质属性

“材质属性”部分包含材质的常用 QML 属性。这些属性及其对材质的影响在《CustomMaterial 》文档中有更详细的描述。

包含混合和着色设置的“材质属性”面板

预览

除了显示当前材质的渲染效果外,预览面板还包含一系列可调整的控件,用于查看材质在不同条件下的外观。这些控件允许用户:选择不同的模型、切换基于图像的照明(Image Based Lighting)的使用、打开或 关闭场景光源,以及调整环境的旋转角度。 还可以使用鼠标围绕模型进行环绕。

预览面板中显示了一个带有自定义材质的球体

统一变量

uniform 表中列出了着色器所使用的 uniform。 可以随时添加、删除或更改统一变量,但着色器片段使用的所有统一变量都必须添加到统一变量表中。一旦添加了统一变量,两个着色器都可以访问它。将材质导出到 QML 组件时,这些统一变量将成为材质组件上的属性。

带浮点参数的统一面板

输出面板

输出面板显示诊断信息,例如在着色器片段中发现的错误。

带有错误消息的着色器输出面板

导入着色器

着色器片段可导入到应用程序中,这些文件扩展名为.vert 和.frag ,且内容应为纯文本。 如果着色器代码使用的语言或格式与CustomMaterial 尚不兼容,则当然需要手动调整导入的着色器代码片段(该工具不会尝试进行转换)。

保存和加载项目。

材质编辑器可以使用其专有的项目格式来保存或加载项目文件。材质编辑器项目文件的扩展名为.qmp 。

注意:材质编辑器的项目文件格式 并非用于运行时,仅供材质编辑器内部使用。

导出。

为了使材质可在应用程序中使用,需要将其导出为 QML 组件,这可以通过从应用程序菜单中打开导出对话框来完成。 导出对话框会要求指定输出文件夹、材质组件的名称以及着色器片段的名称。当材质成功导出后,输出文件夹中将包含一个描述该材质的 QML 组件,以及该材质所需的任何着色器片段和纹理。

“导出素材”对话框

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.