2015年4月5日日曜日

【Cities:Skylines】Blenderで自作アセット! テクスチャベイク設定編

はじめに
2015年3月にリリースされた都市開発シミュレーションゲーム「Cities: SkylinesC:SではFBX形式のCGモデルをアセットとして読み込むことで、ゲーム上に自作モデルを反映することができます。

ただし、C:Sアセットエディタの仕様ではFBX形式のモデル読み込み時、外観の色などを設定するテクスチャは1枚の画像しか使えず、モデルのポリゴン面全ての外観・質感を1枚にまとめ、UV設定もする必要があります。そんな大変面倒な作業が少しでも楽になればと思い、Blenderでのテクスチャベイクの手順をまとめてみました。 

テクスチャベイクはモデルのポリゴン面に設定した外観・質感、マテリアルのUVなどをまとめて一枚の画像に保存してくれる機能です。現在はオープンソースソフトウェアのBlenderにおいてもテクスチャベイクの機能を手軽に使用することができます。

この手順までたどり着くためのモデリングやらマテリアル設定やら基本的なことはすっ飛ばしてます。それらはWEB上に分かりやすい解説が沢山ありますので、そちらを参考にしてください。私も試行錯誤しながらのまとめゆえ、分かりにくい箇所が多いと思いますが、ご了承ください。また、未検証なのであくまで私の環境でできる手順であって、このページを見てくださっている方の環境では上手くいかない可能性もあります。その際、不具合やできない手順があればお知らせください。Blenderのバージョンは2.73、日本語化環境です。






1.ベイクの準備


・アセット化したいオブジェクトの統合を済ませる。

・オブジェクトのトランスフォームの位置、回転、拡大縮小にチェックを入れる。

マテリアル設定、テクスチャのUV設定を済ませる。
(この時、テクスチャは1枚のテクスチャでなくて良い)
また、この先は手順ごとに別名保存してバックアップをとることを推奨。
  

2.UVマップの追加

 
・プロパティウィンドウの オブジェクトデータからUVマップを追加する。
(すでにいくつかUVマップがある場合も追加)





3.ベイク用の画像を用意


・モデルを選択し、編集モードにしてメッシュを全選択。

・UVエディタで「新しい画像を作成」し、ベイク用の画像を作成する。
(画像サイズは1024×1024ピクセル以上で、辺のピクセル数は512の倍数が望ましい。)

※メッシュを全選択する前に「新しい画像を作成」すると、「テクスチャスタックに循環参照があります」と出てベイクできないので注意!その後「新しい画像を作成」しても何故か一部の面が黒くなったりして失敗するので手順を間違えないように!




4.UV展開


・メニューバーの「メッシュ」「UV展開」「スマートUV投影」の順に選択すると
ウィンドウが出る。数値はそのままでいいので、OKを押す。するとUVメッシュが自動で画像サイズに収まってくれる。



5.お試しベイク


・ベイクする前に、何らかの光源を置く必要がある。とりあえずランプオブジェクトで良いが、オススメはアンビエントオクルージョン(AO)だ。AOはメッシュの交差箇所や隅を判別して擬似的に陰を作ってくれるので、それっぽくみえるようになる。設定もプロパティウィンドウのワールドからAOの項目にチェックを入れるだけ。

・光源を置いたら、プロパティウィンドウのレンダー下部のベイクのベイクモードがフルレンダーになっていることを確認してベイクを押す。以下の様な画像が出たら、3Dビューのシェーディングをテクスチャにして、ベイクの手順に進む前に設定していたテクスチャとほとんど違いがなければ成功だ。(一枚の画像にテクスチャを収めているので解像度は荒くなる)
※一部黒くなっている面があったり、テクスチャが一部別のテクスチャになっていたり、端部に別のテクスチャの色が付いたり欠けていたりしてもこれからの手順で修正できるので、まだ慌てる必要はない。


6.UVメッシュの整理


・C:Sのアセット1つにつきに使用できるテクスチャは1枚だけ(ただし反射用、ノーマル用、光源用など効果ごと設定できる)なので、効率よくUVメッシュを配置して、ゲーム上においてより良い見た目を目指さなければならない。とくに外壁部分や看板部分などは目につくので大きめに設定してやる必要がある。目に付かないが場所を取り過ぎている面や、テクスチャが貼られておらず、単色マテリアルの面などはどんどん縮小して行くと良い。

・UVメッシュはUVエディタのツールバーにある島選択モード で選択するとひとかたまりで一度に選択できるので楽。

・UVメッシュの編集はショートカットキーで行う。Sキーが拡大縮小、Rキーが回転、Gキーが移動。また、それぞれのショートカットコマンドを実行中にXかYを押すことで変形が縦方向、横方向などに制限されるので便利。



7.UVメッシュの修正

・上でも触れたが、おかしな面など不具合は点検して行くことで修正できる(できないこともある)

一部黒くなっている
→ 面が裏返っていると黒くなる。また、AOの設定次第では黒くなってしまう。あるいは光源が足りない。テクスチャのリンクが切れていても黒くなってしまうことがある。

テクスチャが一部別のテクスチャになっている、別のテクスチャになっている
→UVメッシュが重なっている 。島選択モードではなく、面選択モードなどで重なっている部分を移動する。また、3Dビューウィンドウでテクスチャがおかしくなっている面だけを選択して再度UV展開してやって縮小・配置することで重なっている面を簡単に修正できる。

・端部に別のテクスチャの色が付いたり欠けていたりする
→ 画像の端部や隣のUVと近づきすぎている。手作業で離すか、次の8の手順で修正できる。


8.UVメッシュの梱包

UVエディタでUVメッシュを全選択して、「UV」から「島の梱包」を選択すると、再度UVメッシュを自動で配置して画像内に収めてくれる。また、UVメッシュ同士をある程度離して配置してくれる。



9.仕上げ

  

・どうしても気に入らない部分は出てくるので、結局は手作業でまとめることが多い。パズルだと思ってUVメッシュの配置をすると楽しい・・はず

・とりあえずここでFBXを書き出す場合は、2.UVマップの追加で作成したUVマップ以外を削除する(必ず別名保存してから行う)そうしないとC:Sのアセットエディタで読み込んだ際にテクスチャがおかしくなってしまう。また、ベイクしたテクスチャをUVエディタのメニューバーの「画像」から「画像を別名保存」して保存しておくことを忘れずに。





10.まとめ

・私自身もBlender覚えたてで試行錯誤しながら制作しているので、熟練者からしたら間違いやアホな手順を踏んでいることは間違いないと思います・・。もっと正しい手順をご存知の方がいれば、アドバイスお待ちしてます。

まあ、こうして私が犯した色々な間違いをメモしておくことで、他の方が同じミスで時間をムダにしないことになってもらえれば幸いです。次はテクスチャベイクを利用して反射マップ、ノーマルマップ、照明マップをお手軽に作る方法を紹介します。(こちらが本命)



【Cities:Skylines】Blenderで自作アセット! テクスチャ解説&スペキュラマップ書き出し編へ

0 件のコメント:

コメントを投稿