こんにちは、Unityエンジニアのオオバです。

お悩みさん
お悩みさん
  • Sceneビューが重くて作業できない
  • Sceneビューを軽くする方法はない?
  • オオバ
    オオバ
    本記事ではこれらの悩みを解決します。

    Unity社から無償で提供されている3DモデルUnityChanKAGURAで遊んでいた時のことです。

    【Unity】Sceneビューが重いときの7つの対策_0

    Unityエディタの動作が重くて作業ができない状況になりました。 特にSceneビューが顕著に重たい状態です。 SceneビューはUnityの重要機能でよく使います。できるだけ動作は軽いほうが良いですね。

    そこで、本記事ではSceneビューの動作が重いときにできる 7つの対策 を紹介します。

    👉DOTweenの教科書を読んでUnityアニメーションをプログラミングしてみよう!

    Sceneビューが重いときの7つの対策

    Sceneビューが重くなったときの対策を7つ紹介していきます。

    Sceneビューが重いときの7つの対策

    ①Sceneビューをワイヤーフレーム表示にする

    ②描画系ウィンドウを減らす

    ③描画系ウィンドウのサイズを小さくする

    ④不要なLayerを非表示にする

    ⑤Hierarchyウィンドウでオブジェクトを非表示にする

    ⑥Sceneビューの不要な表示設定をOFFにする

    ⑦GizmosをOFFにする

    おすすめ記事 → 死ぬほど重いUnityの起動を高速化する4つの方法

    対策①Sceneビューをワイヤーフレーム表示にする

    最初の対策はSceneビューの描画設定です。描画方法を 「ワイヤーフレーム」 にすると描画負荷が下がり、Sceneビューの動作が軽くなります。ワイヤーフレームとはポリゴンメッシュの面を表示せず「頂点と頂点をつないだ線(エッジ)だけを表示するモード」です。

    ワイヤーフレームに切り替え方はSceneビューのメニューから変更可能です。次の動画を参考にしてみてください。

    【Unity】Sceneビューが重いときの7つの対策_1

    対策②描画系ウィンドウを減らす

    次の対策は描画系ウィンドウの同時表示数です。SceneビューやGameビューといった 描画系のウィンドウを減らすことでUnityエディタ全体の負荷を下げることができます。 つまり、SceneビューやGameビューは負荷が大きいのです。またSceneビュー、Gameビューといったウィンドウは同じウィンドウも複数同時表示可能です。

    以下のようにSceneビューやGameビューを複数同時表示するとUnityエディタ自体の負荷が上がります。

    【Unity】Sceneビューが重いときの7つの対策_2

    もし無駄な描画ウィンドウがあるなら非表示にするとSceneビューの動作が軽くなるかもしれません。

    対策③描画系ウィンドウのサイズを小さくする

    対策②描画系ウィンドウを減らす」と同様に描画系ウィンドウの話題です。SceneビューやGameビューの表示領域を小さくすると負荷が下がります。理由はシェーダーの処理はディスプレイの解像度に比例して高くなるからです。つまり描画ウィンドウのサイズが大きくなると負荷が高くなるのです。

    【Unity】Sceneビューが重いときの7つの対策_3

    上の図解のとおり、Sceneビューを小さくするとSceneビュー自体の動作が軽くなります。Gameビューも同様です。

    👉 初心者が覚えておくべき11のUnityエディタ機能【Unityの使い方】

    対策④不要なLayerを非表示にする

    不要なLayerを非表示にすることでSceneビューの動作が軽くなります。Layerとは「GameObjectごとに設定された値」です。LayerごとにCameraに表示するしないを決めることができるのです(カリングと言います)。

    Layer単位でSceneビューへの表示非表示を切り替えることができます。例えば3Dモデルを編集したいからUIを非表示にするといったやり方で負荷を軽減できます。表示するオブジェクトが減れば減るほど動作は軽くなります。

    【Unity】Sceneビューが重いときの7つの対策_4

    不要なLayerが表示されていないかチェックしてみると良いでしょう。LayerはUnityエディタ右上の「Layers」から設定できます。

    対策⑤Hierarchyウィンドウでオブジェクトを非表示にする

    対策④不要なLayerを非表示にする」と同様SceneビューはGameObjectの表示量で負荷が変わります。お手軽に指定のオブジェクトを非表示にする方法の紹介です。非表示にしたいHierarchyウィンドウの目をクリックしてみましょう。するとSceneビューからオブジェクトが非表示になります。次の動画を参考にしてみてください。

    【Unity】Sceneビューが重いときの7つの対策_5

    目をクリックしてもSceneビューで非表示にならないときの対策

    Hierarchyウィンドウの目をクリックしてもSceneビュー上でオブジェクトが表示されないときがあります。そんなときはSceneビュー(次の図解)の目をクリックしてください。するとSceneビュー上のオブジェクトは非表示になるはずです。

    【Unity】Sceneビューが重いときの7つの対策_6

    以下の動画のとおりSceneビューの「目のボタン」で切り替えられるのです。

    【Unity】Sceneビューが重いときの7つの対策_7

    👉 今さら聞けないUnityのヒエラルキー(Hierarchy)とは?

    対策⑥Sceneビューの不要な表示設定をOFFにする

    「ポストエフェクト」や「パーティクル(Particle System)」は一括でSceneビューから非表示にする設定があります。この機能使うことでSceneビュー作業には不要なオブジェクトを非表示にし、負荷を下げることができるのです。

    【Unity】Sceneビューが重いときの7つの対策_8

    表示設定できる項目は6つ。内容と効果をまとめました。効果についてはUnityプロジェクトの内容やパソコンのスペックに影響をもろ受けるため、あくまで参考程度にしてください。

    表示設定名内容効果
    SkyboxSkyboxの表示切り替え-
    FogFog(霧)の表示切り替え-
    Flaresレンズフレア表示切り替え-
    Always Refreshシェーダーアニメーションの常時再生ON/OFF-
    Post Processingポストエフェクトの表示切り替え
    Particle SystemsPartycle Systemの表示切り替え

    結果的に、表示項目のチェックを外せば負荷は下がるため、Sceneビュー、Unityエディタの動作が重いときには試してみると良いです。

    ポストエフェクトの作り方記事 → 【Unity】ポストエフェクト「Bloom(ブルーム)」の作り方

    対策⑦GizmosをOFFにする

    GizmosをOFFにするとSceneビューの動作は軽くなります。 結論から話すとGizmosの描画は負荷がとても高いです。Gizmosの量によって大きくUnityエディタの動作はもっさりします。 GizmosとはSceneビュー、Gameビューで使えるデバッグ用の表示オブジェクトです。 例えば当たり判定用のColliderがどの部分に配置されているかの可視化に使ったりします。

    【Unity】Sceneビューが重いときの7つの対策_9

    Sceneビュー内のオブジェクトをドラッグしてみます。するとGizmosの再描画処理が毎回走ります。

    Sceneビュー内でオブジェクトをドラッグした時の負荷

    【Unity】Sceneビューが重いときの7つの対策_10

    上の図はSceneビュー内でオブジェクトを動かした時の負荷です。Gizmosの再描画処理に270msのCPU負荷がかかっています。ちなみに1フレーム約33ms以内に収めることでなめらかな動作になります(30FPSの場合)。270msは約9倍。Sceneビューの動作に影響することが数字からも分かります。

    GizmosをOFFにする方法

    GizmosをOFFにする方法は、 SceneビューのGizmosボタンをクリックするだけ です。

    【Unity】Sceneビューが重いときの7つの対策_11

    GizmosをOFFにした時の負荷を確認してみます。

    【Unity】Sceneビューが重いときの7つの対策_12

    なんと4ms未満まで負荷が下がり、Unityエディタの動作は 約6700%早くなりました。 GizmosをOFFにするととても快適になりました。

    ※改善度合いは環境やパソコンのスペック依存です

    Sceneビューが重いときにはGizmosをチェックしてみましょう。

    GizmosをOFFにする方法(Unity2021の場合)

    Unity2021からSceneビューのデザインが大きく変わりました。

    【Unity】Sceneビューが重いときの7つの対策_13

    Gizmosは上の図を参考にしてください。

    Unity2021ではその他に 開発効率を大幅にアップする新機能 がいくつか実装されました。次の記事にまとめていますのでぜひチェックしてみてください。

    UnityのSceneビューが重いときの対策まとめ

    Sceneビューが重くなった時の対策を解説してきました。記事の内容を簡単にまとめます。

    Sceneビューが重いときにできる7つの対策

    ①Sceneビューをワイヤーフレーム表示にする

    ②描画系ウィンドウを減らす

    ③描画系ウィンドウのサイズを小さくする

    ④不要なLayerを非表示にする

    ⑤Hierarchyウィンドウでオブジェクトを非表示にする

    ⑥Sceneビューの不要な表示設定をOFFにする

    ⑦GizmosをOFFにする

    Sceneビューが重くなったときは、とりあえずこの記事で紹介した7の対策を使ってみてください。もちろん、ワイヤーフレームでは作業にならない、Gizmosが非表示だとしんどいといったこともあるでしょう。状況によって対策は取捨選択する必要があります。

    大事なことはUnityエディタの負荷を上げている原因を知ること です。負荷の原因さえ知っておけばUnityの扱いやゲームの作り自体も変わってきます。

    Sceneビューはゲームづくりにとって大事な機能です。今後も「重くなったトラブル」が発生するかもしれません。そのためにこの記事をブックマークしてすぐに取り出せるようにしておきましょう。情報があふれるこの時代、情報を探すことに時間が取られてしまいます。 Sceneビューを軽くするテクニックが見つかり次第追記 していきますので、ぜひ今後もチェックしてみてください。

    「Unity初心者大学」というUnity初心者向けのYouTube始めました!!
    ぜひチャンネル登録をお願いします!

    最後まで読んでいただきありがとうございました!
    すばらしいUnityライフをお過ごしください。

    オススメ記事
    検証環境