前回、Terrainにテクスチャを塗ったり木や草を生やしたりしました。これで見た目も良くなったので、めでたしめでたし…と言いたいところですがそうはいきません。ここからは負荷の問題を考える必要があります。
というのはオープンワールドゲームは広大な地形を扱うため、どうしても描画処理が重くなりがちだからです。これまでは地形の編集に都合の良い設定をしてあったのですが、このままではミドルスペックのPCでも動作が重いのではないかと思います。そこで各種設定を変更して要求スペックをなるべく下げられるようにしていきましょう。
主な設定は次の3つです。
- Terrainの設定を見直す
- カメラの描画距離を短くする
- 品質設定を変更する
Terrainの設定を見直す
まずはTerrainの設定を見直して、重くなりがちなTerrainの描画負荷を下げるようにします。Terrainの設定を開いて次のように値を変更しましょう。
各項目の意味については、姉妹サイトの記事「【Unity】重いTerrainの描画処理を少しでも軽くする方法」や別のチュートリアルのページ「Terrainの負荷軽減&ライティングのベイク時間短縮方法」に詳しく書いてあるので、そちらも併せてご覧いただければと思います。
まあ簡単に言うと、
- ピクセル許容誤差:遠くの地形を雑に表示する。値が大きいほど軽い
- ベースマップ距離:遠くのテクスチャを雑に表示する距離。値が小さいほど軽い
- ディテール表示距離:草を表示する距離。値が小さいほど軽い
- ディテールオブジェクト密度:元の密度を1としたときの草の密度。値が小さいほど軽い
- 樹木表示距離:木の表示距離。値が小さいほど軽い
- ビルボード開始距離:木をハリボテ表示する距離。値が小さいほど軽い
- メッシュの最大樹木数:木をメッシュ表示する数。値が小さいほど軽い
という感じです。この辺の設定でかなり重さが変わるのでぜひ参考になさってください。
カメラの描画距離を短くする
次に、カメラの描画距離を短くして遠くのオブジェクトは描画しないように設定します。メインカメラをインスペクターで表示して、「クリップ面」の「ファー」を「500」前後に変更しましょう。
こうすることで遠くのオブジェクトは映らなくなりますが、その分描画コストを下げることができます。
品質設定を変更する
最後に、プロジェクト設定の「品質設定」を変更して負荷を軽くします。メニューバーの「編集」→「プロジェクト設定」からProject Settingsウィンドウを開き、品質を「Ultra」から「High」に変更しましょう(下図)。
グラフィックの質は多少下がりますが、これだけでもそこそこ軽くなります。
以上の設定でだいぶ負荷を下げることができたと思います。オープンワールドゲームではこれを知っていてやるのと、知らずにそのままにしておくのとでは大違いなのでぜひ覚えておいてください。
次のページ→ゲームを完成させる