ボックスの単純なモデルを作成し、テクスチャ マップを使用してカラー補間イメージを作成しました。にあるコードを使用して、モデルを fxml にエクスポートしました。
エクスポートしようとした色付きのモデルとその結果のインポートされたモデルの jpeg がありますが、スタック オーバーフローは初めてで、まだ画像を投稿することは許可されていません。
エクスポートされた FXML ファイルのコンテンツを添付する方法も見つかりませんでしたが、共有できれば幸いです。
標準の FXMLLoader を使用して fxml ファイルをアプリケーションにインポートすると、カラー マッピングが表示されません。エクスポートが不完全だったのか、インポートが間違っていたのかわかりません。FXML ファイルには正しいメッシュ ポインタとテクスチャ マップ ポインタがあるように見えますが、テクスチャ マップが表示されません。PhongMaterial の setDiffuseMap メソッドを使用して、WritableImage と PixelWriter を使用して構成されたマテリアル オブジェクトに画像を割り当て、色のバンドを作成しました。この方法で構築された PhongMaterial オブジェクトのエクスポートが FXMLExporter でサポートされているかどうか、または FXMLImporter がそのようなカラー マップのインポートをサポートしていないかどうかを知っている人はいますか?
Jose からの提案に基づいてコードを変更しましたが、いくつかの問題が発生しました。
2 つの立方体の各面を個別の TriangleMesh として定義し、最終的にはシーン内のオブジェクトを選択するときに各面を区別できるようにしたいと考えました。画像を拡散マップとして持つ単一の PhongMaterial オブジェクトがあります。2 つの立方体の各面に同じマテリアルを割り当てました。
モデルをエクスポートすると、エクスポート メソッドは画像ファイルを 12 回書き込もうとします。単一のフォン素材が使用されており、単一のカラー画像に基づいていることをモデル定義に伝える方法があるはずです。
FXML ファイルのエクスポートに使用されるファイル名を記憶するコードを export メソッドに追加して、FXML ファイル名 (exportImage() に渡されるフル パス名) に基づいて画像ファイルに名前を割り当てることができるようにしました。パスがない場合、画像ファイルは FXML ファイルと同じフォルダーではなく、Eclipse ワークスペース内に保存されます。fxmlImage.addProperty("url",filename) に付けるべき名前がわかりません。フル パス名にするか、ファイル名だけにするか。完全なパス名を使用すると、FXML ファイル内にハードコーディングされたパスがあり、それは悪い考えのように思えます。URL 名をフル パスありとなしで保存しようとしましたが、両方の方法で同じ結果が得られました...つまり、FXML ファイルをインポートしたときにモデルが表示されませんでした。また、先頭の @ の有無にかかわらず試してみましたが、同じ結果が得られました。誰かが私が間違っているかもしれないことを知っていますか?