しっぽを追いかけて

ぐるぐるしながら考えています

Unity と猫の話題が中心   掲載内容は個人の私見であり、所属組織の見解ではありません

Unity でポリゴン数を増やさずに 3Dモデルの曲面を滑らかに表示したい

※ これは 2017/08/04 Blender ver.2.78c、Unity 2017.1f3 時点の情報です

最新版では動作が異なる可能性がありますのでご注意ください

前回は円筒のモデルに表裏両面のテクスチャを貼りつけてみましたが、こうしてみると円筒なのに角が目立つ!

f:id:matatabi_ux:20170811193703p:plain

というわけで今回は円筒らしく滑らかに描画されるようにしたいと思います

かんたんに思いつくのはポリゴンの分割数を上げて面を細かくすることですが、描画やメモリ消費の負荷を上げてしまうのでよろしくありません

そのためポリゴン数を上げずに描画上角張った面を曲面のように「滑らかに見せかける」方法を試してみます

とりあえず Blender を起動

左側のツールパネルから「シェーディング:スムーズ」を有効にします

f:id:matatabi_ux:20170811200406p:plain

スムーズボタンを押した後に Unity にモデルをインポートした結果が下記の通り

f:id:matatabi_ux:20170811200542p:plain

こんなに滑らかに!でも光の屈折をばらしてるだけなので処理負荷はあまり上がりません

単純に曲面にするだけならこれでよいですが、さらに Blender のプロパティパネルのなかの「オブジェクトデータ」にある「自動スムーズ」を有効にしてみます

f:id:matatabi_ux:20170811200939p:plain

追加で角度が指定でき、指定角度より小さい角のみスムージングされるようです

試しに1度まで角度を小さくして Unity にインポートしてみたのが次の結果

f:id:matatabi_ux:20170811202450p:plain

角度が小さいので元の角張った表示に戻りました

角度によって滑らかにするか角張ったままにするか調整できそうですね