Spent three full days removing a technical thorn.
I'm currently working on creating and analyzing 3D distribution data for 60,000 artifacts excavated from a shell mound. Using Blender's geometry nodes is technically essential. However, I encountered a technical thorn: the textures on the 3D models generated using geometry nodes wouldn't stick in 3DF Zephyr Lite. It took me three full days to remove it.
貝塚出土6万遺物の3D分布データ作成分析に取組んでいます。Blenderのgeometry nodes活用が技術的に必須となっています。そんな中で、geometry nodes生成3Dモデルのテクスチャが3DF Zephyr Liteで貼り付かないという技術的トゲが刺さり、抜くのに丸3日かかりました。
1 geometry nodesによる3Dモデルの生成
Blenderにcsvファイル遺物点群(例では2500)をプロットし、geometry nodesで直径0.01mの球で表現し、赤色画像をマテリアルに貼りつけました。
遺物点群をオブジェクト(球)に変換して表示した様子(Blender画面)
geometry nodes
この赤色球2500モデルをWabefront(.obj)ファイルに書き出し、利用しだしました。Sketchfabに投稿もしました。
Sketchfab投稿画面
2 障害
作業は順調にすすんでいるようでした。しかし、そうは問屋が卸しませんでした。
このファイルを動画作成のために3DF Zephyr Liteに投入すると画像が貼り付かないで、真っ白の3Dモデルになってしまいます。MeshLabでも3Dモデルが真っ白になってしまいます。
3DF Zephyr Liteで3Dモデルが真っ白になった様子
3DF Zephyr Liteはフォトグラメトリソフトですが、自分は動画作成やカラーフィルター機能でも利用していて、Blenderといつも一緒に使っています。従って、3DF Zephyr Liteが使えない状況は必ず解決しなければならない問題です。体に刺さったトゲを放置することがないのと同じです。
3 ChatGPT相談
類似の障害は過去に経験したことがあるので、その時の障害要因を調べて対策を取りました。しかし、今回は直りません。
このような障害が発生して解決できない時はChatGPTに相談して、ほとんどの場合は解決します。そこで、今回も相談したところ、詳しい説明があり、要約すると次のようになります。
・Realize Instances + Set Material を明示的に使う
・画像テクスチャをエクスポートフォルダにコピー or Pack Resources
・マテリアル名を整理
・glTF (.glb) や FBX での書き出しを試す
しかし、それぞれ試したのですが、全てダメでした。
4 試行錯誤的検討により得られた解決策
この障害解決に試行錯誤的に丸3日取組み、結果としてgeometry nodesの書き方を変更して解決を得ることができました。
障害を解決することができたgeometry nodes
最初のgeometry nodesでは点群を球に変換し、さらにマテリアルを設定していたのですが、解決策はマテリアルを貼りつけた見本球を一つつくり、その見本球を「ポイントにインスタンス作成」につないだのです。つまり、geometry nodesの中でマテリアル設定をしなかったということです。
3DF Zephyr LiteにWabefront(.obj)ファイルを読み込んだ様子
なぜこのような障害が起き、何故この対策が障害を解決するのか、実務的に対処しているだけで、問題の意味が判っていないことは残念です。
5 感想
丸3日かけて技術的トゲを抜くことができ、よかったです。この3日間の時間消費は今後進捗するであろうgeometry nodes習熟の必要経費として喜んで支払うことにします。6万遺物の3D分析は軽い点群をgeometry nodesで実体(6万オブジェクト)に変換する操作が必須であり、geometry nodes習熟を急ぐことにします。
0 件のコメント:
コメントを投稿