カスタムマテリアルエディタ

マテリアルエディタツール

Material Editor(マテリアルエディタ)ツールは、QtQuick3D 用のCustomMaterials のオーサリングを簡単にする GUI ツールです。マテリアルのリアルタイムプレビュー、シンタックスハイライト、エラーレポート、CustomMaterial QML コンポーネントにマテリアルをエクスポートする機能などを提供します。

使用方法

マテリアルエディタはコマンドを実行することで起動できます:

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

マテリアルエディタ(Material Editor)ウィンドウは、左側のエディタと右側のプレビューの2つのメインコンポーネントで構成されています。

シェーダーの編集

エディタビューには2つのエディタがあり、1つは頂点シェーダ用、もう1つはフラグメントシェーダ用です。シェーダースニペットを編集すると、変更結果がすぐにプレビューに表示されます。マテリアルをアセンブルできなかった場合は、問題を説明するメッセージが出力パネルに表示されます。

CustomMaterial のシェーダースニペットの記述に使用される言語は、Vulkan スタイルの GLSL で、QtQuick3D 固有のキーワードがいくつか追加されています。これらはすべて大文字で書かれているため、簡単に識別できます。QtQuick3D 固有のキーワードはエディタでもハイライトされます。

シェーダースニペットで使用される言語と、それらがレンダリングパイプラインの他の部分とどのように相互作用するかについてのより詳細な概要については、プログラマブルマテリアルのドキュメントを参照してください。

マテリアルのプロパティ

Material Properties セクションには、マテリアルの一般的な QML プロパティが含まれています。これらのプロパティと、それらがマテリアルにどのように影響するかについては、CustomMaterial ドキュメントで詳しく説明されています。

プレビュー

プレビューパネルには、現在のマテリアルがどのようにレンダリングされるかを表示するだけでなく、様々な条件下でマテリアルがどのように見えるかを確認するために調整できるコントロールが含まれています。これらのコントロールにより、ユーザーは以下のことができます:異なるモデルの選択、イメージベースドライティングの使用の切り替え、シーンライトのオン/オフ、環境の回転の調整。また、マウスを使ってモデルの周りを周回することも可能です。

ユニフォーム

ユニフォームテーブルには、シェーダが使用するユニフォームがリストアップされています。ユニフォームはいつでも追加、削除、変更できますが、シェーダースニペットで使用するユニフォームはすべてユニフォームテーブルに追加する必要があります。ユニフォームが追加されると、両方のシェーダからアクセスできるようになります。マテリアルをQMLコンポーネントにエクスポートすると、ユニフォームはマテリアルコンポーネントのプロパティになります。

出力パネル

出力パネルには、シェーダースニペットで見つかったエラーなどの診断メッセージが表示されます。

シェーダーのインポート

シェーダースニペットはアプリケーションにインポートすることができます。これらのファイル拡張子は.vert.frag で、プレーンテキストを含むことが期待されます。インポートされたシェーダースニペットは、シェーダコードがすでにCustomMaterial と互換性のある言語または形式でない場合、もちろん手動で適合させる必要があります(ツールは翻訳を試みません)。

プロジェクトの保存と読み込み。

マテリアルエディタは、独自のプロジェクトフォーマットを使用してプロジェクトファイルを保存またはロードできます。マテリアルエディターのプロジェクトファイルの拡張子は.qmp です。

注意: マテリアルエディターのプロジェクトファイル形式はランタイムでの使用を意図していません。

エクスポート。

アプリケーションからマテリアルを使用するためには、QML コンポーネントとしてエクスポートする必要があります。エクスポートダイアログは出力フォルダ、マテリアルコンポーネントの名前、シェーダースニペットの名前を尋ねます。マテリアルが正常にエクスポートされると、出力フォルダにはマテリアルを記述したQMLコンポーネントと、マテリアルに必要なシェーダースニペットとテクスチャが含まれます。

© 2025 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.