Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
UE5 Pixel Streamingで実現する、 デバイスを選ばない ⾼負荷アプリケーション
Search
egawa
August 01, 2024
0
1k
UE5 Pixel Streamingで実現する、 デバイスを選ばない ⾼負荷アプリケーション
egawa
August 01, 2024
Tweet
Share
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
Fireside Chat
paigeccino
37
3.5k
Optimizing for Happiness
mojombo
379
70k
For a Future-Friendly Web
brad_frost
179
9.8k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
270
Building an army of robots
kneath
306
45k
GitHub's CSS Performance
jonrohan
1031
460k
Bash Introduction
62gerente
614
210k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
RailsConf 2023
tenderlove
30
1.1k
Transcript
UE5 Pixel Streamingで実現する、 デバイスを選ばない ⾼負荷アプリケーション 2024.7.31 ゲームソリューション部 えがわ
Xへの投稿の際は、 ハッシュタグ #cm_odyssey でお願いいたします。 2 お願い
⾃⼰紹介 えがわ(頴川 武⽣) 3 ゲームソリューション部 ソリューションアーキテクト 好きなもの • データベース(RDB, NewSQL)
• AI/ML • パン屋
本⽇の内容 話さないこと • UE5の操作⽅法 • ゲームの作り⽅ • AWSの細かい設定周り ◦ EC2の作成やIAMなど
• Pixel Streamingの細かい実装⽅法 • Pixel Streamingの最適化 4
今⽇の内容 5 話すこと • Pixel Streamingとは!
本題の前に (UEってなに?) 6
UEとは? UE(Unreal Engine)は、Epic Games社が開発した⾼度な ゲームエンジン。リアルタイム3Dグラフィックスの 作成に使⽤され、ゲーム開発だけでなく、映画、建 築、シミュレーションなど多岐にわたる分野で利⽤ されています。 7
本題の前に (⼀般のアプリケーションはどうなってる?) 8
⼀般的なアプリケーション 量販店でソフトを購⼊ ソフトにあったハードでゲームをプレイ 9 帰ったら遊ぼー! ゲーム売ってるでー
⼀般的なアプリケーション ユーザーの端末にアプリをインストール 端末の性能を使いアプリをプレイ 10 遊びたいから インストールしよー ゲーム配布してるでー ダウンロード
⼀般的なアプリケーション インストールしたはいいが、 スペックが⾜らず、動かないことも... 11 せっかくインストール したのに... もうやらん!
Pixel Streamingとは? 12
Pixel Streamingとは? UE5アプリケーションをサーバー上で実⾏し、 ウェブブラウザでストリーミングすることが可能 13 ゲーム遊ぶよー レンダリングするでー WebRTC(P2P) 動画、⾳声データ ⼊⼒
Pixel Streamingとは? サーバーのGPUでフレームの計算を⾏うため、 ユーザーの端末は送られてきたフレームを描画するだけ 14 古いPCでも動く! サイコー ワイが頑張るで...! WebRTC(P2P) 動画、⾳声データ
⼊⼒
デモ動画 (再⽣できたら) 15
デモ動画 16
デモ画像 (動画が再⽣できなかったら) 17
デモ画像 18
Pixel Streamingの特徴まとめ 19 • 低遅延のストリーミング • ⾼品質なグラフィックス • クロスプラットフォーム対応 UnrealEngineのアプリケーションで使⽤可能な
クラウドレンダリングの仕組み
低遅延のストリーミング WebRTC(Web Real-Time Communication)を使⽤したP2P接続 クライアントとアプリサーバー間で通信 20 WebRTC(P2P) 動画、⾳声データ ⼊⼒ あんま違和感ないな
ワイが頑張ってるからや!
⾼品質なグラフィック UE5の⾼度なレンダリング技術を使⽤することにより フォトリアルな画質を実現 21 • Naniteによる⾼詳細なジオメトリ (LOD) • Lumenによるグローバルイルミネーション
クロスプラットフォーム対応 ユーザーの端末に依存せずブラウザで起動するため、 クラスプラットフォーム開発が容易 22 http://hogehoge
なんかよさそう 23
やってみる 24
まえに 25
構築のための⽤語集 26
WebRTCの登場⼈物 • シグナリングサーバー ◦ 接続情報を交換する仲介サーバー • STUNサーバー ◦ ⾃⾝のIPアドレスを確認するためのサーバー •
TURNサーバー(必要ならば) ◦ データを中継するためのサーバー 27 WebRTCを⾏うための登場⼈物
シグナリングサーバー 28 オファーアンサーモデルでSDP(Session Description Protocol )や ICE(Interactive Connectivity Establishment )候補を交換
動画や⾳声はこんな感じで! 接続先の候補も送るね! 承知したやで! ワイも送るで! SDP、ICE候補 オファー アンサー
N A T STUNサーバー 29 外から⾒た時のパブリックIPを取得可能 NATを超えた接続で必要 N A T
IP:192.168.aaa.aaa IP:10.0.ccc.ccc STUNサーバー 俺ってどう? お前はIP: 200.bbb.bbb.bbbだ IP: 200.bbb.bbb.bbb IP: 500.ddd.ddd.ddd
N A T TURNサーバー 30 直接P2P接続が確⽴できない場合、 TURNサーバーを中継してデータを送信 N A T
IP:192.168.aaa.aaa IP:10.0.ccc.ccc TURNサーバー 代わりに接続 おねがーい しゃあなしやで IP: 200.bbb.bbb.bbb IP: 500.ddd.ddd.ddd
やってみる (ローカル編) 31
UE5のアプリケーションを作成 UnrealEngineのサンプルプロジェクトを使⽤します 32 ※80GB以上あるので、容量には注意
PixelStreamingに対応 アプリケーションをPixelStreamingに対応させるには プラグインを追加するだけです 33 ※これにチェックいれるだけ!
サーバー構築(ローカル編) GitHubにフロントエンド、バックエンドが⽤意されて います 34
サーバー構築(ローカル編) ⼿順に従い実⾏するだけでサーバーが起動します 35
サーバー構築(ローカル編) UE5アプリケーションを起動します。 アプリケーションがサーバーに接続すると、 コンソール「Streamer connected」と表⽰されます 36
サーバー構築(ローカル編) 37 アプリケーションがサーバーに接続できたので、 ブラウザで確認します
やってみる (⼩規模AWS編) 38
AWSで試してみる 39 EC2(Windows)で試してみます。 可⽤性は考えず1台のEC2で試してみます。
サーバー構築(AWS) UE5アプリケーションをS3に配置 40
サーバー構築(AWS) EC2インスタンス(GPUが必要)に接続 以下をPowerShellで実⾏することでAWS CLIが使⽤できます msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi 41 そしてUE5アプリケーションをダウンロード
サーバー構築(AWS) Nvidia ドライバーのインストール 42
サーバー構築(AWS) Firewallの80, 8888ポートを開けておきます 43
サーバー構築(AWS) サーバーを起動します 44
サーバー構築(AWS) アプリのショートカットに以下の内容をTargetに追加します -PixelStreamingURL=ws://127.0.0.1:8888 -RenderOffscreen -AllowPixelStreamingCommands 45 ※オフスクリーンでレンダリングすることで不要な リソースを使わずに済みます。
サーバー構築(AWS) ブラウザで仮想マシンのIPアドレスにアクセス すると! 46 ※軽いサンプルプロジェクトに変更してます
なんか⼤変そう 47
AWS MarketPalace で簡単に構築できます! 48
AWS MarketPlace Pixel Streaming⽤の製品が登録されてます 使⽤料はAWS費⽤だけ! 49
AWS MarketPlace CloudFormationのパラメータを⼊⼒するだけ! 50
AWS MarketPlace いかしたアーキテクチャを簡単に作れます! 51
簡単に構築できそうだし デメリットは...? 52
⾼い! 53
(費⽤が) めっちゃ⾼い! 54
費⽤について クラウドでGPUを使⽤することになるので、 数千⼈がプレイするようなアプリケーションになると とても⾼額になります 55
アプリケーションと マッチするタイミングで 使⽤しましょう! 56
どんなアプリが適している? 57
どんなアプリが適している? デバッグ会社のテスト環境 58 バグみつけてやるんだから!
どんなアプリが適している? アイドルのコンサートでの3D合成やメタバースなど 59
None
None