Open8

blenderでのオブジェクト合成【練習課題】

チャアーハンチャアーハン

やりたいこと

blenderにて複数の3Dモデルの合成のワークフローを作る。
以下の条件を満たすこと。

  • マテリアルやテクスチャを1つに統合。
    • UV展開は再度行いたくない。元モデルのきれいなUVをうまく流用したい。
    • 高度なUVの最適化は放棄する。どちらかというと完成までの工数を減らしたい。
  • 重なった部分などの不要なメッシュの削除。
  • 重なる部分の結合箇所はなるべくきれいに結合。

理由

既存の3Dモデルの改造(改変)をやることが多い。
中でも複数の完成済み3Dモデルを合成、改造して出力するという作業は頻発する。

何も考えずに合成すると隠れたメッシュが残ったりマテリアルが複数存在してしまい、最終成果物の構成が良くないと考える。
これらを効率よく解決するための方法をまとめていく。

チャアーハンチャアーハン

サンプルケースの構築

blenderにて以下の3Dモデルを使ってシンプルな構成になるようにワークフローを考えていく。

  • cube
    • マテリアルあり
      • 画像テクスチャ設定済み
    • UV展開済み(デフォルト)
  • sphere
    • マテリアルあり
      • 画像テクスチャ設定済み
    • UV展開あり(デフォルト)

cubeとsphereは部分的に重なるような状況。
この重なったモデルを最終出力物として、なるべく軽量化・統合した状態で出力することを目指す問題。

チャアーハンチャアーハン

マテリアル統合結果

Material Combiner Addonを実行したところ、UV形状維持のままマテリアル統合し、テクスチャが1枚になった

チャアーハンチャアーハン

メッシュ結合結果

cubeにブーリアンモディファイアを適用。
cube側のオブジェクトに結合結果として統合される。sphereはそのまま。
メッシュの形状は想定通り。

UV展開形状に影響あり?
問題ない範囲とは思うが…。あとあと悪いことになりそう。

チャアーハンチャアーハン

最終的なワークフロー

  • ブーリアンの結合でメッシュを1つに統合
  • Material Combiner Addonでマテリアル・テクスチャ統合

まとめてみるとシンプルな流れだ。これならできそう。

チャアーハンチャアーハン

各種トラブル対応

メッシュ統合時にUVがおかしくなる

複雑な形状の場合ブーリアンだとうまく結合できない。
そのためオブジェクトの統合を行うケースがあるが、この際せっかく設定したUVがおかしくなるケースがある。
原因としては、オブジェクトデータプロパティのUV名称が一致してない場合、統合するとおかしくなるようだ。UV名称を同じに設定すること。
https://synamon.hatenablog.com/entry/blender-uvmapname-failure