おもちゃラボ

Unityで遊びを作ってます

【Unity】Blenderでテクスチャをベイクする

Unityでライトマップをベイクして、影をテクスチャに焼き付けることもできますが、Blenderでモデルを作った時点でAOなどの影をベイクすることもできます。ここではBlender2.8を使ってテクスチャに影をベイクする方法を紹介します。

f:id:nn_hokuson:20190716220927j:plain:w600

レンダリングの設定をする

テクスチャをベイクするには、Belnder2.8から採用されたEeveeではなくCyclesというレンダーエンジンを使う必要があります。そこで、Sceneアイコンを選択してレンダーエンジンを「Cycles」に設定します。

f:id:nn_hokuson:20190716220557p:plain:w300

アンビエントオクルージョンの影もベイクするためにワールドアイコンを選択して、アンビエントオクルージョンにチェックを入れます。

f:id:nn_hokuson:20190716220628p:plain:w300

ベイクするテクスチャを作成する

まずはベイクするためのテクスチャを作成します。メニューバーから「UV Editing」を選択して2画面にします。UV展開画面の上にある「新規」ボタンをクリックしてベイクするテクスチャを作成します。

f:id:nn_hokuson:20190716220647p:plain:w450

ここでは名前を「ao」、幅と高さは1024pxに設定しました。ベイクするテクスチャの大きさが大きくなるほど、ベイクにも時間がかかるので、最初は小さいテクスチャで実験したほうがいいかもしれません。

f:id:nn_hokuson:20190716220659p:plain:w300

次にモデルをUV展開します。右のモデリング画面で、すべての頂点を選択した状態で「Uキー」→「スマートUV投影」を選択してUV展開します。

f:id:nn_hokuson:20190716220736j:plain:w450

ベイクするマテリアルの設定

今作成したテクスチャをベイクするマテリアルに、指定します。画面左のエディター選択メニューから「シェーダーエディタ」を選択します。

f:id:nn_hokuson:20190716220812j:plain:w650

「追加」→「テクスチャ」→「画像テクスチャ」を選択します。

f:id:nn_hokuson:20190716220829j:plain:w600

追加された画像テクスチャノードのテクスチャに先程作成した「ao」を設定します。

f:id:nn_hokuson:20190716220716p:plain:w300

ベイクする

Sceneアイコンからベイクを選択して、ベイクボタンを押してください。簡単なモデルであれば数秒でベイクが完了して、次のようなベイクテクスチャが表示されます。

f:id:nn_hokuson:20190716220857j:plain:w350

画面上の画像ボタンから「保存」を選択してください。

f:id:nn_hokuson:20190716220917j:plain:w200

Unityで表示する

作成したモデルとベイクしたテクスチャをUnityにインポートし、シーンビューでマテリアルをアタッチしてください。次のようにAOの効果がベイクされた状態のテクスチャが設定できます。

f:id:nn_hokuson:20190716220927j:plain:w600