ほぼ0からのunityゲーム制作雑記【17日目】番外編4:blenderベイク覚書
■今回は主にblenderベイクの話です
昨日、blenderでゲームで使用する盾モデルを作成しはじめました。昨日の記事はこちら。
その後、メッシュ分割、マテリアル割り当て、テクスチャ、と進めていったのですが、マテリアルを一つにまとめよう!とベイクをしようとしたところ、思い切りうまくいきませんでした。
実は私とblenderベイクとの間には深い因縁があります。思えばVket5の入稿数日前、何度やってもやりかたをどれだけ変えてもうまくいかなかったベイク。最終的に奇跡的になぜかうまくいったのですが、脳が疲労しすぎていて、うまくいった要因をメモしておらず、二度とうまくいきませんでした。
今回は、そんな再現性のないことに二度とならないように、メモを残しておこうと思います。
■メッシュ分割とマテリアル等
ちなみに、メッシュとマテリアル、テクスチャはこんな感じです。
マテリアルと似た色をテクスチャで塗っているので、この程度ならばわざわざベイクする必要が…?と思われるかもしれませんが、前述のとおり、この後何度も行うであろう、作業で失敗しないため、というのが主な理由になります。
■ベイク覚書
ベイクのやり方に関しては、主にこちらの記事を参考にさせて頂きました。
ここからのメモは、私がここを直したらうまくいった!という覚書です。
そもそもどんな感じにうまくいかなかったかというと、ベイク先に一枚の空の画像データを指定しているはずなのに、すでにある四つの画像データ(オブジェクトごとにマテリアルをわけています)のうち三つと、前述の空の画像の合計四つにバラバラに結果が出力されてしまっていたのです。
理由はいまだにわかりませんが、そうならなくなる方法は再現性込みで見つけたので、メモします。
①シェーダーの元の画像データ指定で改めて「外部画像データ」を選択する
シェーダーエディタを開くともともとのテクスチャが指定されていると思います。これが、もしかすると、blender内部データ指定になっているかもしれない…?ため、保存してある画像データを改めて選択してみました。
②①をやった後で、書き出し先のノードを選択するのを忘れない
①をやると、元のノードを選択した状態になっている…かもしれません。
③全てのオブジェクトを、シェーダーの画面以外でも選択する
これをやったのとやらなかったのとでうまくいくかいかないかが分かれたことがあったため。
④ベイクがうまくいったら元のマテリアルを消す
消さないと画像がバグった状態になっていました。
⑤いらなくなった元のUVmapも消す
これをやらないとunityに読み込んだときテクスチャがバグります。
あくまで、私の個人的な成功の分岐点なので、もしかすると違うところに要因があったかもしれませんが、参考までに。
■現状と進捗
じつは、この後、できたデータをunityに取り込んでブレンドシェイプさせるところまで進んでいます。その詳細は明日に。
こんな感じです。これまた紆余曲折を経ています。
なぜか、一つになったはずのマテリアルがunityでは複数ある状態になっているため、そこもなんとかしなくては、と思います。