ユニティ・テクノロジーズ・ジャパン、DOTSの一部「Unity ECS」を活用した最適化について動画で解説。6.70msの処理を0.07msに短縮

2023.07.31
ニュースUnity
この記事をシェア!
twitter facebook line B!
twitter facebook line B!

この記事の3行まとめ

  • Unity ECSの最適化手法を解説する動画がYouTubeに公開
  • ユニティ・テクノロジーズ・ジャパンによるECSチュートリアル動画の第2弾
  • 動画で使用されているサンプルプロジェクトもGitHubにて公開

2023年7月24日、ユニティ・テクノロジーズ・ジャパンは『Unity ECS で高速化!とりあえずキャラを 5,000 体出してみよう!』と題した動画をYouTubeに公開しました。

本動画は、2023年5月30日リリースの「Unity 2022 LTS」で正式に実装された、Entity Component System(以下、ECS)における最適化手法について、サンプルプロジェクトを用いて解説しています。

ユニティ・テクノロジーズ・ジャパンによるECSのチュートリアル動画は今回で2つ目。前回の動画では、ECSの概要や、従来の設計との相違点などを紹介しました。

関連記事
ユニティ・テクノロジーズ・ジャパンがUnity ECSの解説動画を公開。データと処理を分離する、データ指向型のフレームワークをどう使うか
2023.07.04

今回公開された動画では、ECSを活用して5,000体の人形の生成処理およびアップデート処理の最適化方法を解説しています。

動画の前半では、5,000体の人形インスタンスを生成する処理の最適化について解説。

生成処理は「SpawnSystem」のOnUpdateメソッドで実行されるよう実装しています。そこで、OnUpdateBurstCompileアトリビュートを付けることで、3.23msかかっていた生成処理を0.559msにまで短縮できたとのこと。

メソッド定義の前に[BurstCompile]を付けることでBurstCompileが適用される(画像は『Unity ECS で高速化!とりあえずキャラを 5,000 体出してみよう!』より引用)

なお、BurstCompileはマネージドクラスを使っていないなどの制約を満たしたメソッドにのみ使用できます。

動画後半では、各人形のアップデート処理を最適化する手法が紹介されています。

アップデート処理では、BurstCompileに加え、C# Job Systemを使って、処理の並列化を実装。

元のコード(左)とC# Job Systemを使った処理の並列化後のコード(右)(画像は『Unity ECS で高速化!とりあえずキャラを 5,000 体出してみよう!』より引用)

これにより、元々6.70msかかっていた処理を、0.07msにまで高速化しています。

(画像は『Unity ECS で高速化!とりあえずキャラを 5,000 体出してみよう!』より引用)

動画では、コードの内容や各機能の使用条件などについて詳細に解説しています。動画はこちらをご確認ください。

また、動画で使用されたサンプルプロジェクト「ECS-StrawmanParallel」は、GitHubにて公開されています。

Unity ECS で高速化!とりあえずキャラを 5,000 体出してみよう!|YouTubekeijiro / ECS-StrawmanParallel|GitHub

関連記事

Unityの新料金システム「Unity Runtime Fee」、内容の大幅な変更を発表。Unity Pro/Enterpriseユーザー、かつ2024年以降にリリースされるLTS版で開発したゲームが対象に
2023.09.26
Unity、ゲームのインストール数に応じて料金が発生する「Unity Runtime Fee」が2024年1月1日から導入される
2023.09.13
ECSで作られたステートレスな物理エンジン「Unity Physics」の解説動画をユニティ・テクノロジーズ・ジャパンが公開。従来のPhysXとの比較シミュレーションも実施
2023.09.11
AEの操作感でUIアニメーションが作れるUnity用ツールを独自開発。UIデザイナーとエンジニアのコミュニケーションコストを減らす内製ツールに求められた5つの要件とは【CEDEC2023】
2023.09.06
UnityにおけるUI開発の「究極ガイド」、日本語版電子書籍が無料でダウンロード可能に
2023.09.05
ユニティ・テクノロジーズ・ジャパン、Unityでレイヤーを使った画像合成を行う「Visual Compositor」の紹介動画を公開。Stable Diffusionと連携する機能も紹介
2023.08.25

注目記事ランキング

2023.09.21 - 2023.09.28
1
「UEFN」って実際どうなの? 編集部が3時間で「みんなで遊べるアクションゲーム(?)」を作ってみた
2
『フォートナイト』で動く本格的なゲームが作れるツール「UEFN」とは?従来のクリエイティブモードから進化したポイントを一挙紹介!
3
CGWORLD JAM vol.05にゲームメーカーズが登壇します!『ゼロから始める「UEFN」。自作モデルを使った”超簡単”な3Dアクションゲームの作り方を実演!』
4
フォートナイト クリエイティブとUEFNで使える仕掛け一覧
5
【CHALLENGE1】「クリエイター ポータル」を使って、UEFNで作成した島を世界中に公開する
6
【2022年5月版】今から始めるフォートナイトの「クリエイティブ」モードープレイ開始から基本的な操作方法まで解説
7
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.1「アイテム系」
8
【CHALLENGE2-1】フレンドと一緒にゲームを作ろう――UEFNプロジェクトをチームメンバーとリアルタイムで共同編集する
9
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.7「NPC系」Part2
10
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.7「NPC系」Part1
11
【STEP2】UEFNの基本的な使い方を覚えよう
12
【CHALLENGE3】UEFNの機能「ランドスケープ」を使ってオリジナルの地形を作る
13
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.5「島の設定」
14
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.2「ユーティリティ系」
15
【UEFN書籍発売記念!2大キャンペーン】UEFNで島を作ろう!動画投稿キャンペーンを開催。『フォートナイト 2800V-Bucks』が15名に当たるプレゼント企画も
16
【STEP6-1】「オリジナルキャラクターを登場させよう」――Fabでアセットをダウンロードしよう
17
『フォートナイト』で建築ビジュアライゼーション!?UEFNでオリジナルの世界観をどう作り上げたか、その手法を解説【UNREAL FEST 2023 TOKYO】
18
フォートナイトとUEFNがv26.10にアップデート。「ジップライン」が仕掛けとして追加されたほか、Verseからマテリアルの差し替えが可能になった
19
まるで『マイクラ』?ボクセル地形を生み出す無料アセット「VoxelPlugin Free」で”地形を掘ったり積み重ねたり”して遊んでみよう
20
【STEP5-1】スタート時のカウントダウンを作る
21
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.6「チーム・対戦系」Part1
22
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.4「ゲームシステム系」
23
フォートナイト クリエイティブとUEFNで使える仕掛け一覧 Vol.3「プレイヤー系」
24
【STEP4-2】リスポーンとチェックポイントの仕組みを作る
25
フルカラー書籍「UEFN(Unreal Editor For Fortnite)でゲームづくりを始めよう!」、ついに本日発売!全国書店で好評発売中!
26
【STEP4-1】コース外に出たらデスする仕組みを作る
27
【STEP4-3】仕掛けを使って「坂を転がるボールのギミック」を組み込む
28
【STEP3】オリジナルのアスレチックコースを作ろう
29
UEFNで「栄誉の仕掛け」が実装。制作者が設定した条件を達成したプレイヤーに対し、XPを付与できる
30
【STEP6-3】「オリジナルキャラクターを登場させよう」――キーボーとムラスケのメッシュをインポート
VIEW MORE

イベントカレンダー

VIEW MORE

今日の用語

ブループリント(Blueprint)
ブループリント
  1. 設計図。
  2. アンリアルエンジンにおいて、標準搭載されているビジュアルスクリプト言語。
VIEW MORE

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