Unity、レンダリング用API「BatchRendererGroup」を活用したゲームのサンプルを公開。ハイスペックではないスマートフォンでも60fpsで描画

Unity、レンダリング用API「BatchRendererGroup」を活用したゲームのサンプルを公開。ハイスペックではないスマートフォンでも60fpsで描画

2023.10.10
ニュースUnity
この記事をシェア!
Twitter Facebook LINE B!
Twitter Facebook LINE B!

この記事の3行まとめ

  • UnityのAPI「BatchRendererGroup」に関するゲームのサンプルが公開
  • 公式ブログでは、サンプルの実装について解説する記事が掲載されている
  • 2019年当時でミドルスペックのスマートフォンでも60fpsで描画

Unity Technologiesは、レンダリング用のAPI「BatchRendererGroup(以下、BRG)」を使ったサンプルをGitHub上に公開しました。あわせて、サンプルの実装について説明する記事がUnity公式ブログにて公開されています。なお、動作させるにはUnity 2022.3.5以上が必要です。

(画像は公式ブログより引用)

BRGはC#から描画コマンドを効率的に生成し、GPUにインスタンスする描画コールを生成するAPIです。Burst compilerを使用して、コマンドを生成することもできます。

多くの技術デモがハイエンドPC専用として制作されているなか、今回のBRGのサンプルはGLES 3.0を使用し、ハイスペックではないスマートフォンでも60fpsで動作するように作られています。

2019年製のSamsung Galaxy A51でのデモの様子。なお、解説記事は海外のもので、スマートフォンも海外版が使われている(動画は公式ブログより引用)

公開されたサンプルの内容は以下の通り。

  • 背景の床は立方体の集まりで構成されており、上下にアニメーションする。
  • 戦闘機は画面上を上下に動き、色のついた球体に向かってミサイルを撃つ(画面タップでより多くミサイルを撃てる)。
  • ミサイルが球体に当たると、爆発して色のついた破片が散らばる。
  • ミサイルが通過した床は浮き上がり、ハイライトされる。また、そのとき球体の破片が地面に置かれていると空中に跳ねる。
  • 破片が床に当たると、床のセルが白く点滅する。破片が多くぶつかるほど、セルの色が濃くなる。破片には重さがあり、破片が乗ると床が沈む。

今回公開された記事では、サンプルの制作においてのBRGの使い方や注意点などが紹介されています。

床のセル

床は1行あたり32個のセル、計3,200個のセルで構成されています。画面外にスクロールした行のセルは、ランダムな高さと色を持つ行のセルとして新たに追加されるとのこと。画面外にセルが存在しないことで、カリングがあまり必要ないようになっています。

各セルを配置するには、セルごとに obj2world 行列、照明用の反転行列、色が必要。床のレンダリングには、BRG描画コマンドが必要(画像は公式ブログより引用)

爆発する球体

爆発したときの破片は小さな立方体で構成されているほか、すべての破片は物理的な重さを持っており、床のセルと相互に作用します。また、破片はBurst C#のジョブを使用してCPU上で実行されているそうです。

床のセルと異なり、破片の量はフレーム全体で変化する。初期化時に、BRG_Containerにはアイテムの最大数を指定(画像は公式ブログより引用)

BRGの行列フォーマット

GPUメモリのストレージとバンド幅を最適化するために、BRGはfloat4×4の代わりにfloat3×4を使って行列を保存しています。BRGの行列は64バイトではなく、48バイトであることに気をつけてほしいとしています。

(画像は公式ブログより引用)

他にも、床のアニメーションの実装方法や、BRG描画コマンドに必要なBatchID、データのアップロードの仕組みなどが画像付きで解説されています。詳細はこちらをご確認ください。

BatchRendererGroup sample: Achieve high frame rate even on budget devices|Unity 公式ブログUnity-Technologies / brg-shooter|GitHub

関連記事

『WIND BREAKER 不良たちの英雄譚』のアート開発秘話、Aimingがブログで公開。モデルやモーションに込めたこだわりを解説
2025.10.29
Unity開発者向け技術カンファレンス「U/Day Tokyo 2025」、12/11(木)に汐留で開催。Unity 6.3のグラフィックス機能解説や、Cygames『シャドバWB』開発事例など
2025.10.27
UnityとStripeの連携により、複数プラットフォームのアプリ内課金を一元管理可能に。拡張版「Unity IAP」早期アクセスを提供中
2025.10.24
Unity 6最新機能を解説した公式ウェビナー動画が公開。Unity 6.1で正式対応したWebGPUや、パフォーマンス解析ツール「Project Auditor」などを解説
2025.10.23
Unity公式クラウドサービス「Unity Gaming Services」、チュートリアル記事&動画が順次公開中。プレイヤー認証やアプリ内課金の実装などを解説
2025.10.21
サイバーエージェント主催のUnity勉強会「CA.unity #10」、全4講演の動画が公開。TextMesh Proでグラデーションを表現するカスタムシェーダー実装事例などを解説
2025.10.20

注目記事ランキング

2025.10.25 - 2025.11.01
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

ヘッドマウントディスプレイ(HMD)
ヘッドマウントディスプレイ Head Mounted Displayの略称。頭部に装着するディスプレイ装置の総称で、ゴーグルやメガネを模した形状が多い。Meta QuestやHTC Vive、PlayStaion VRなどの没入型と、HoloLensやMagic Leapなどのシースルー型に大別される。左右の目に対してわずかに異なる映像を描画することで、視差効果を利用した立体的な表現を可能にする。
VIEW MORE

Xで最新情報をチェック!