【Unity】LODを適用してたくさん置いても軽いモデルにしてあげよう!

どうも!新入社員のタケです!

今日の記事は昨日やったことなのですが、UnityでLODという機能を使ってたくさんアバターがいても負荷をできるだけかからなくしよう!ということをしてました。


LODとはLevel of Detail(レベルオブデティール)の略でカメラが近いほど高ポリモデルを表示して、遠いときは低ポリのモデルを表示するというプログラムです。
今回はこの男性モデルをLODに対応してみたいと思います!


ここで気づいた方もいるかもしれませんが男性モデルが3体いますよね…
そうです、LODは3段階のモデルのローポリが使えるので急遽もう一体1200ポリゴンくらいのを用意しました!
もう頭がジャギジャギのギッザギザだけど遠目で見たら平気だと思います(たぶん)


モデルが用意できたら次は空のGameObjectの中にこれら三つの男性モデルを入れてみましょう。
MAN_LODの数字が大きいほどローポリになっていきます。


LODの設定はいたって簡単!
三つのモデルが入っているGameObjectのAdd ComponentボタンからLODGroupというスクリプトを探してアタッチします。


するとなにやらゲージみたいなのが出てきました。
ゲージの中のLOD 0を押すとAddボタンが表示されます。
このAddのところにMan_LOD0を入れてみましょう。
モデルが表示されたらOKです。


ゲージのLOD 1を押すとまたAddがありますので、Man_LOD1を入れましょう。
同じようにLOD 2にも入れます。



これで設定できました!簡単ですよね~!
この状態でモデルをシーンで見てみるとLOD 0と表示された四角が出てきます。
現在LOD 0のモデルを表示しているよ~ということですね。


カメラをどんどん引いてみましょう。
するとLOD1、LOD2…と表示とともにモデルも変わっていって、最終的にはCulledに…完全にモデルが見えなくなります。




これがLODです!
遠い部分は質感がそこまで見えなくなるのでローポリにしちゃっても全然OKということですね。
一人だったら劣化するだけだからあんまりよくないけれど広い場所にたくさん人がいると有効です!

ちなみにゲージをいじるとLODを表示する範囲は自由に変更ができるので、この範囲まできれいなモデルで表示したい!といったことも可能です。




今開発中のものは広いスペースに多くの人が集まることが想定されるのでかなり役立つと思います!
さすがに3段階目のモデルのバリエーションはいいかな…

今日の成果物!

Standardシェーダに近いShaderGraph製のシェーダ
制作時間:4時間


キャラクターのシーンへの配置テスト
制作時間:1時間30分

ごめんなさい!謝ります!朝のツイートでシェーダー解説するということでしたが急遽この記事になりました…!
作りこんでいくうちにデカくなりすぎていろいろ解説したくなっちゃったので後回しにした感じです。
月曜日には上のシェーダを解説したいと思うので!お待ちくださいませ…!

--------------------------------------------------------------------------------

シェルパでは、3DCGや建築パースはもちろん
VRやARアプリの開発も行っています!
新しいことに興味のある方はきっと楽しめると思います!
新人研修も充実していて初心者でも3DCG経験者でも安心!

株式会社シェルパ
【福岡本社】
〒810-0042 福岡県福岡市中央区赤坂1丁目13-10赤坂有楽ビル7F 
【東京オフィス】
 〒101-0041 東京都千代田区神田須田町2丁目13-1YKS黒田ビル5F
TEL 092-717-6800 / FAX 092-717-6801

--------------------------------------------------------------------------------

コメント