見出し画像

Unity でMagicaVoxel ライクなレンダリングをしよう!

今回の目標

今回はMagicaVoxelでのレンダリングの見た目をUnityで再現しようという試みです。下の画像を見ていきましょう。

MagicaVoxelでのレンダリング

ポチポチ感のある可愛らしい見た目になっています。

画像1

Unityにインポート直後のレンダリング

MagicaVoxelからObjを持ってきてシーンに配置しただけの状態です。MagicaVoxelでのレンダリングとはかけ離れた状態になってしまいました。

画像5

Unityで頑張った結果のレンダリング

ライティングやポストプロセスを使うことで最終的にはこんな感じになりました。今回はこちらの見た目になるように手順を解説していきたいと思います。

画像3

前提条件

再現していくにあたり今回は以下の条件で作業を進めていきます。

・Unity Version: 2019.4.2f1
・Rendering Pipeline: Build-in
・AssetStoreなどのアセットは導入せずUnity標準のライティングやポストエフェクトを使う
・モバイルなどで動作することは考えず負荷の高い設定も使う

この記事で解説しないこと

・ポストプロセスの各種効果やパラメーターについて
・ライトの種類やパラメーターについて
・Unityの基本的な操作方法

【ステップ1】Color SpaceをLinerにする

スクリーンショット 2021-09-02 1.40.29

画像8

【ステップ2】床となるCubeを設置する

GameObjectのCubeを設置します。

画像9

【ステップ3】Clear FlagをSolid Colorにする

skyboxをやめsolid colorに設定を変えます。

画像10

【ステップ4】Directional Lightの角度を調整する

猫を原点に置いたときのライトの角度を以下のように設定しました。

スクリーンショット 2021-09-02 2.20.50

少しそれぽくなってきました。

画像12

【ステップ5】PostProcessingを導入する

PackageManagerからインストールします。

スクリーンショット 2021-09-02 2.29.13

【ステップ6】Post-Process LayerをMain Cameraに設定する

Main CameraにPost-process LayerをAdd Componentして以下の設定にします。

LayerはEverythingにしアンチエイリアスモードはSMAAにしておきます。

スクリーンショット 2021-09-02 2.34.27

画像15

【ステップ7】Ambient Occlusionの追加

空のGameObjectを一つ追加して「PostProcessing」とします。

Add ComponentでPost-process Volumeを追加します。

Is Grobal にチェックを入れてProfileを作成します。

スクリーンショット 2021-09-02 4.28.13

Add EffectでAmbient Occlusionを選択します。

主にIntensityとThickness Modifierで暗い部分を調整します。

スクリーンショット 2021-09-02 4.30.52

画像21

【ステップ8】Color Gradingの追加

Ambient Occlusionと同じくPost-processのadd effectから追加します。

Mode、Saturation、Contrastあたりで見た目を調整していきます。Channel Mixerで色味の調整も行います。

スクリーンショット 2021-09-02 4.34.32

【ステップ9】Directional Lightの光と影の強度を調整する

今回は Intensityは少し強く、Shadow Strengthはやや弱めにしました。ShadowTypeはSoftShadowを指定しておきます。

スクリーンショット 2021-09-02 4.38.22

MagicaVoxelとまったく同じとまではいきませんでしたがそれなりに見た目が近づいたのではないかと思います。

お疲れさまでした!

画像20

【おまけ】Unityでの静止画の書き出し

Unity公式が用意してくれている Unity Recorder を利用するのが一番おすすめです。

導入方法

Post Processingと同様にPackage Managerからインストールを行います。

スクリーンショット 2021-09-01 22.50.02

使い方

スクリーンショット 2021-09-02 0.17.28

設定はこんな感じにして「START RECORDING」で録画できます。Recording ModeをSingle Frameにしないと連番で大量の画像が書き出されてしまうので注意です。

スクリーンショット 2021-09-02 0.58.27





この記事が気に入ったらサポートをしてみませんか?