はじめに
3Dデザイナーの武藤です。 Synamon Advent Calendar 2021 5日目の今回は私が業務で使用しているCGソフト、Blenderで起きたトラブルと原因について紹介させていただきます。
本題と解決方法
Blenderでオブジェクトを統合した際に片方のオブジェクトのテクスチャがおかしくなってしまったことはありませんか?
いきなり結論ですがほとんどの場合、これはUVマップの名前に原因があります。プロパティタブ内にあるオブジェクトデータプロパティの項目を確認してください。
今回の例を見ると統合しようとしたオブジェクトのそれぞれのUVマップの名前が異なっていました。名前が異なるので統合した後はそれぞれ別のデータとして分けられてしまい、結果テクスチャの表示を意図しないものにしていました。*1
対処方法も単純で結合する前にそれぞれのオブジェクトのUVマップ名を合わせるだけです。
そうすればオブジェクトを統合したとき1つにまとめられます。
どうしてUVマップの名前が合わないのか
UVマップの項目にわざわざ手を加えて名前を変える人はあまり多くはないでしょう。今回のような状況はBlenderからデータを出し入れした際に発生することがほとんどです。よくある例として以下の2つのパターンを例としてご紹介します。
- 他のソフトで作られた3Dモデルを読み込んだ場合
- 設定の異なるBlender間でデータのやり取りをした場合
まず1の『他のソフトで作られた3Dモデルを読み込んだ場合』です。UVマップの名前は決められた共通のフォーマットがあるわけではありません。Blenderのデフォルトは『UVMap』ですがソフトによって『UV』だったり『UVmap』だったりオブジェクト名だったりします。
今回はケーキはフォトグラメトリーで、包丁はBlender内で作成したためUVマップの名前が一致しない状態になっていました。
初めてこの現象に遭遇したのもこのパターンでした。実は現在Synamonではデザイナーが全員がそれぞれ異なる3Dソフトを使っています*2。そのため各モデルのUVマップの名前が作った人物によって異なるのです。
ここまで極端な状態でなくても、購入してきた3Dモデルを使用する際にはおそらくこの問題に直面するでしょう。
次に2です。Blenderはデフォルトで『UVMap』という名前を付けると先ほど紹介しましたが、これは絶対ではありません。設定に手を加えている場合は他の名前がデフォルトで付けられる場合があります。
その設定の中には多くの方が変更しているであろう言語設定も含まれています。Blenderの表示を日本語に変更する際、チェックを入れられる項目は3ヵ所あります。
このうち一番下の『新規データ』が問題です。この項目にチェックを入れると新しく作成したデータの名前まで日本語で作られるようになります。そうすると『UVMap』ではなく『UVマップ』という名前が付けられるようになります。 ですので複数のBlenderでデータのやり取りをする際、この項目の設定にバラツキがあると、Blenderしか使用していないのにこの問題が発生する場合があります。
おわりに
はじめてこの問題に直面した当時は情報がとても少なく、名前を変えればいいだけなのに解決に時間がかかってしまいました。今回数年越しにそのことを思い出して記事を作成したのですが……
後から調べると日本語のページが増えてました。
……それはそれとしてBlenderの情報が増えているのはうれしいです。皆さんもBlenderやりましょう!日本語に限らずドキュメントやチュートリアルがここ数年で急増してます。以前つまずいてしまった方も今なら違う結果になるかもしれません。
日本語化の際の各チェック項目について(おまけ)
今回はUVマップについてのみ紹介しましたが日本語化の際『新規データ』の項目にチェックを入れると他にも問題を引き起こす可能性があります。その例を簡単にご紹介します。 - デフォルトの名前と異なる文字列が入るのでプラグインが機能しない - 例:プラグイン自身が自動生成した『Cube』を探すも『立方体』という名前で生成されてしまい見つけられない - 完成品データに意図せず日本語の名前のデータが混ざり問題を起こす - 例:エクスポートしたデータに日本語が含まれており外部ソフトで読み込めない
個人的には今のところメリットを見つけられていないので『新規データ』の項目のチェックは入れないことをお薦めします。 他の2つはUIの日本語化なのでチェックを入れてもデータには影響しません。