【Twinmotion】モデル再インポート時のマテリアルの挙動を検証

Twinmotion

Twinmotionについて、「モデル修正したらマテリアル設定し直さなきゃならないよね?」と質問されたことがあります。実はそんなことはなく、モデルを再インポートしてもマテリアルはTwinmotionで設定したものが保持されるというのが基本動作なのですが、場合によってはTwinmotionで設定したものが消えてしまうことがあります。本記事ではSketchUpのモデルファイルを例として、普段何気なく行っているファイル再インポート時のマテリアルの挙動を深掘り検証します。

※ 本記事で使用するTwinmotionのバージョンは2021.1.3、SketchUpのバージョンは2019です。

※ 本記事の内容をTwinmotion2022.2.3、SketchUp2021でも確認しました。2023.04.09追記

検証

1. Twinmotionでマテリアルのパラメータを変更するケース

① SketchUpで箱を3つ作成し、別々のマテリアル・テクスチャを割り当てます。

マテリアル名テクスチャ名
Object1mat1tex1
Object2mat2tex2
Object3mat3tex3

② Twinmotionでインポートします。

③ Twinmotionでマテリアルのパラメータを変更します。ここではそれぞれの色を変更します。

④ SketchUpに戻ってそれぞれのマテリアルに変更を加え、Skpファイルを別名保存します。

マテリアル名変更箇所
mat1色を変更
mat2テクスチャを tex2 → tex2b に変更
mat3マテリアル名を mat3 → mat3b に変更

⑤ SketchUpファイルを再インポートします。下記の結果が得られました。

  • mat1はSketchUp上の変更は無視され、Twinmotion上の変更が保持される
  • mat2はSketchUp上の変更が優先され、新しいマテリアルとなる
  • mat3はなくなり、mat3bが新しいマテリアルとして追加される

一言でいうと、SketchUpでテクスチャまたはマテリアル名を変更した場合にはTwinmotionでの変更が破棄されるということです。

2. Twinmotionプリセットのマテリアルに置き換えるケース

前述の①、②と同様、 SketchUpで箱を3つ作成してTwinmotionでインポートしたあと、今度はマテリアルをTwinmotionプリセットのものに置き換えます。

その後、SketchUpファイルを変更せずに再インポートすると、Twinmotionのマテリアルリストからmat1, mat2, mat3が消滅します。使用されていないマテリアルは自動的に消えるようになっているようです。

次に、④、⑤と同様にSketchUp上でマテリアルを変更し、別名保存した後、Twinmotionで再インポートします。下記の結果が得られました。

  • mat1はSketchUp上の変更は無視され、Twinmotion上の変更が保持される
  • mat2はSketchUp上の変更が優先され、新しいマテリアルとなる
  • mat3はなくなり、mat3bが新しいマテリアルとして追加される

これは前述の実験と同じ結果ですが、更に考察すると、Twinmotion上ではmat1が消滅しても「mat1という名前のマテリアルををBrown limestoneに変更した」というような情報を記憶していると推測されます。なので、例えばSketchUp上でmat1のマテリアル名を変更してしまうと、Twinmotionで設定したBrown limestoneマテリアルが破棄されてしまうことになります。

まとめ

SketchUpで下記のことをした場合、Twinmotionで変更した設定が消えてしまうので気を付けましょう。

  • マテリアル名を変更した場合
  • マテリアルのテクスチャ画像を変更した場合

これ以外でも、グループとマテリアルの親子関係が複雑になっている場合にTwinmotionの設定が消えてしまうケースもたまにあるようですが、極力そうならないようにするため、マテリアル名をむやみに変えなくて済むよう普段からマテリアル名を整理しておくこと、SketchUp上ではテクスチャの使用はUVの確認程度にとどめておくこと、などの自分のワークフローに合った対策を考えておくと良いと思います。

以上.

タイトルとURLをコピーしました