MRが楽しい

MRやVRについて学習したことを書き残す

Blenderでシェーディング設定を行ったモデルをUnityに取り込む

本日は Blender と Unity の技術調査枠です。
Blenderでシェーディング設定を行ったモデルをUnityに取り込んだ際の動作についてまとめます。

Blenderで以下のような低ポリゴンの3Dモデルを作成します。
このとき、シェーディングの設定は「フラット」にして fbx 形式で出力します。
f:id:bluebirdofoz:20180901051525j:plain

このモデルを Unity に取り込むと、以下のような光の陰影が角張った形で取り込まれます。
f:id:bluebirdofoz:20180901051533j:plain

次に、シェーディングの設定を「スムーズ」にして同じモデルを fbx 形式で出力します。
f:id:bluebirdofoz:20180901051541j:plain

このモデルを Unity に取り込むと、以下のような光の陰影が滑らかになる形で取り込まれます。
f:id:bluebirdofoz:20180901051550j:plain

操作の結果だけを見れば、当然の動作にも見えますが。
Unity 上に取り込むと「フラット」と「スムーズ」の間に利用しているシェーダの違いがないため、戸惑いました。
f:id:bluebirdofoz:20180901051622j:plain

シェーディングの「フラット」と「スムーズ」を設定する事は3Dモデルの頂点の法線方向を変える事なんですね。
Blender で出力した時点で3Dモデルに以下のスムーズシェーディングの法線方向が設定されている訳です。
docs.unity3d.com
備忘録として残して置きます。


追加で応用パターンを試してみました。
辺分離モディファイアを利用して、半分だけスムーズなシェーディング状態にしたモデルを作成します。
f:id:bluebirdofoz:20180901051724j:plain

このモデルを Unity に取り込むと、以下のような光の陰影が半分だけ滑らかになる形で取り込まれます。
f:id:bluebirdofoz:20180901051736j:plain
上手く使えば少ない頂点数でメリハリの効いたモデルを作成できそうです。