Twinmotionについて、「モデル修正したらマテリアル設定し直さなきゃならないよね?」と質問されたことがあります。実はそんなことはなく、モデルを再インポートしてもマテリアルはTwinmotionで設定したものが保持されるというのが基本動作なのですが、場合によってはTwinmotionで設定したものが消えてしまうことがあります。本記事ではSketchUpのモデルファイルを例として、普段何気なく行っているファイル再インポート時のマテリアルの挙動を深掘り検証します。
※ 本記事で使用するTwinmotionのバージョンは2021.1.3、SketchUpのバージョンは2019です。
※ 本記事の内容をTwinmotion2022.2.3、SketchUp2021でも確認しました。2023.04.09追記
検証
1. Twinmotionでマテリアルのパラメータを変更するケース
① SketchUpで箱を3つ作成し、別々のマテリアル・テクスチャを割り当てます。
マテリアル名 | テクスチャ名 | |
Object1 | mat1 | tex1 |
Object2 | mat2 | tex2 |
Object3 | mat3 | tex3 |
② 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の確認程度にとどめておくこと、などの自分のワークフローに合った対策を考えておくと良いと思います。
以上.