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

関連記事

日本語によるUnity最新情報を発信する「UNITE 2023 APAC ON-AIR」配信中。Unity 6が発表された基調講演やMuseによるプロトタイプ制作など「Unite 2023」で行われた講演がピックアップ
2023.12.01
プログラマーがUnityのUI Toolkitを学べるデモ『QuizU』が公開。複数のメニュー画面やゲームフローの管理機能を備えた、クイズゲームのサンプルプロジェクト
2023.11.28
UEおよびUnityのアセットストアやAdobeなどが、2023年のブラックフライデーセールを開催中!
2023.11.24
15th Unity Awardsの受賞者が発表。アセット部門では、FPS制作に役立つ機能を備えたアセットやテキストをアニメーションさせるツールが受賞
2023.11.22
『Unity 2023.2 Tech Stream』がリリース。モバイル端末でのGIがより低負荷で実行可能になるほか、Meta Quest 3をサポート
2023.11.20
Unityの次期LTSは『Unity 6』。AIツール「Unity Muse」「Unity Sentis」も搭載し、2024年にリリース予定
2023.11.16

注目記事ランキング

2023.11.26 - 2023.12.03
1
【2022年5月版】今から始めるフォートナイトの「クリエイティブ」モードープレイ開始から基本的な操作方法まで解説
2
『フォートナイト』で動く本格的なゲームが作れるツール「UEFN」とは?従来のクリエイティブモードから進化したポイントを一挙紹介!
3
フォートナイト クリエイティブとUEFNで使える仕掛け一覧
4
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.1「アイテム系」
5
【CHALLENGE1】「クリエイター ポータル」を使って、UEFNで作成した島を世界中に公開する
6
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.5「島の設定」
7
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.4「ゲームシステム系」
8
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.10「UI系」Part1
9
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.2「ユーティリティ系」
10
【STEP2】UEFNの基本的な使い方を覚えよう
11
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.7「NPC系」Part1
12
【CHALLENGE2-1】フレンドと一緒にゲームを作ろう――UEFNプロジェクトをチームメンバーとリアルタイムで共同編集する
13
フォートナイトとUEFNがv26.30にアップデート。ロビー画面が一新され、クリエイターが島ごとにロビー背景を自由にカスタムできるように
14
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.10「UI系」Part2
15
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.3「プレイヤー系」
16
フォートナイトとUEFNがv27.10にアップデート。プレイヤーに与える武器のマガジン内に入っている初期弾薬量を設定するオプションが追加
17
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.6「チーム・対戦系」Part1
18
『フォートナイト』で建築ビジュアライゼーション!?UEFNでオリジナルの世界観をどう作り上げたか、その手法を解説【UNREAL FEST 2023 TOKYO】
19
日産自動車、UEFNで作られたマップ『Electrify the World』を期間限定公開。EVコンセプトカーが登場する世界を楽しめる
20
【CHALLENGE3】UEFNの機能「ランドスケープ」を使ってオリジナルの地形を作る
21
【STEP4-2】リスポーンとチェックポイントの仕組みを作る
22
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.7「NPC系」Part2
23
まるで『マイクラ』?ボクセル地形を生み出す無料アセット「VoxelPlugin Free」で”地形を掘ったり積み重ねたり”して遊んでみよう
24
フォートナイト上にオリジナルゲームを開発・公開できるPC専用エディタ『Unreal Editor For Fortnite(UEFN)』、ついにリリース!
25
【フォートナイト クリエイティブ】ドリフトボードで駆け巡る!タイマー付きのレースゲームを作ってみよう
26
【STEP3】オリジナルのアスレチックコースを作ろう
27
「UEFN」って実際どうなの? 編集部が3時間で「みんなで遊べるアクションゲーム(?)」を作ってみた
28
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.8「ゾーン系」
29
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.9「建築物系」Part1
30
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.9「建築物系」Part2
VIEW MORE

イベントカレンダー

VIEW MORE

今日の用語

リグ(Rig)
リグ 3Dモデルを動かす場合に、すべてのボーンを編集するのではなく、少ない編集箇所で直感的に動作などを付けるために作られたコントローラーやコントロールする仕組み。 またスケルトン自身をリグと呼ぶ場合もある。
VIEW MORE

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