カスタムマテリアルエディタ
マテリアルエディタツール
マテリアルエディタツールは、マテリアルのリアルタイムプレビュー、構文の強調表示、エラー報告、およびマテリアルをCustomMaterial のQMLコンポーネントにエクスポートする機能を提供することで、QtQuick3D 用のCustomMaterials の作成を容易にするGUIツールです。
使用方法
マテリアルエディタは、次のコマンドを実行することで起動できます:
$(QTDIR)/bin/materialeditor[.exe]Material Editorのウィンドウは、左側のエディタと右側のプレビューという2つの主要なコンポーネントで構成されています。

シェーダーの編集
エディタビューには、頂点シェーダ用とフラグメントシェーダ用の2つのエディタがあります。シェーダスニペットを編集すると、その変更結果はプレビューに即座に反映されます。マテリアルを組み立てることができなかった場合、出力パネルに問題の詳細を説明するメッセージが表示されます。
CustomMaterial のシェーダースニペットの記述に使用される言語は、VulkanスタイルのGLSLですが、QtQuick3D 固有の追加キーワードがいくつか含まれています。これらはすべて大文字で記述されているため、容易に識別できます。QtQuick3D 固有のキーワードは、エディタでもハイライト表示されます。
シェーダースニペットで使用される言語の詳細や、それらがレンダリングパイプラインの他の部分とどのように連携するかについては、『Programmable Materials』のドキュメントを参照してください。

マテリアルプロパティ
「マテリアルプロパティ」セクションには、マテリアルに関する一般的なQMLプロパティが含まれています。これらのプロパティおよびマテリアルに与える影響については、『CustomMaterial 』のドキュメントで詳しく説明されています。

プレビュー
プレビューパネルには、現在のマテリアルがどのようにレンダリングされるかを表示するだけでなく、さまざまな条件下でマテリアルがどのように見えるかを確認するために調整できるコントロールがいくつか用意されています。これらのコントロールを使用すると、別のモデルを選択したり、画像ベースの照明の使用を切り替えたり、シーンライトのオン/オフを切り替えたり、環境の回転を調整したりすることができます。 また、マウスを使ってモデルの周囲を回転表示することも可能です。

ユニフォーム
ユニフォームテーブルには、シェーダーで使用されるユニフォームが一覧表示されます。 ユニフォームはいつでも追加、削除、変更できますが、シェーダースニペットで使用されるすべてのユニフォームは、ユニフォームテーブルに追加する必要があります。ユニフォームが追加されると、両方のシェーダーからアクセスできるようになります。マテリアルを 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.