Unity Render Streaming
WebRTC を用いたストリーミングソリューション
Unity Technologies Japan 合同会社
松本 一輝 / 林 石
前半 開発背景と技術詳細 (話者: 松本)
後半 ビジネスシーンでの運用と拡張 (話者: 林)
講演の構成
2
松本 一輝
Kazuki Matsumoto
3
— ソフトウェアハウス、モバイルゲーム
メーカーを経て、ユニティ・テクノロジ
ーズ・ジャパン合同会社に入社。
— 現在は主に自動車業界などのノンゲ
ーム分野のカスタマーサポートを行
っている。
4
5
Unity Render Streaming
開発の背景
6
7
— 2018年1月に Experimental パッケージとして公開
— 忠実度の高いビジュアル表現を重視
— ゲームの他にも多くの産業分野での利用を想定
HDRP - High-Definition Render Pipeline
8
9
10
モバイル端末で HDRP を動かすには?
11
Unity Render Streaming
12
Unity Render Streaming
技術詳細
13
WebRTC
14
Real-Time Communication
15
WebRTC
— Google が 2011年から開発
— オープンソースプロジェクト
— ブラウザ間のピアツーピア通信
— ビデオ/オーディオストリーミング
16
ブラウザー
WebRTC
JavaScript API (W3G WG が策定)
WebRTC ネイティブ C++ API
セッションマネジメント / シグナリング抽象化
音声エンジン 映像エンジン 通信
Unity
WebRTC
C# API
WebRTC ネイティブ C++ API
セッションマネジメント / シグナリング抽象化
音声エンジン 映像エンジン 通信
— Unity テンプレート
— Web アプリケーション
— WebRTC パッケージ
Unity Render Streaming の構成要素
19
Web
アプリケーション
WebRTC
パッケージ
Unity
テンプレート
— セットアップ済み Unity プロジェクト
— HDRP テンプレートベースで開発
— パッケージの依存関係を自動解決
Unity テンプレート
20
21
22
— Webフロントエンド & バックエンド
— Node.js の Express で実装
— シグナリングサーバ機能
Web アプリケーション
23
24
— WebRTC API の C# 対応
— Package Manager で公開
— Apache 2.0 ライセンス
WebRTC パッケージ
25
Unity Render Streaming - システムの構成
26
Unity
シグナリング
サーバ
ブラウザ
シグナリング シグナリング
JavaScript API C# API
ビデオ / オーディオ / バイナリ
シグナリング
27
ファイアウォール
ピア1 ピア2
シグナリング
サーバ
ファイアウォール
P2P通信
シグナリングシグナリング
シグナリング
28
SDP
映像や音声のコーデックの他、
セッションを確立するための情報
ICE Candidate
IP アドレス、ポート番号、プロトコルなどの
通信経路の情報
SDP … Session Description Protocol
ICE … Interactive Connectivity Establishment
Unity
シグナリング
サーバブラウザ
Offer SDP
Offer SDP
Answer SDP
Answer SDP
ICE Candidate
ICE Candidate
ICE Candidate
ICE Candidate
シグナリング
— ピア間で通信経路を確立するための処理
— ICE Candidate と SDP を交換
— Unity Render Streaming では HTTP 通信で実装
31
32
Input System が
イベントを受信
ブラウザでタッチ
イベントを取得
ブラウザからUnity
にイベント送信
イベントを処理
してUnityに反映
— WebSocket にとてもよく似た API
— ピア間でのバイナリ、文字列の送受信
— SCTP (Stream Control Transmission Protocol) を利用
WebRTC DataChannel
33
— JavaScript から C# への入力イベントの送信
— イベント通信は WebRTC の DataChannel を使用
— 新しい Input System で入力処理をエミュレート
入力処理
34
— エンコーディングのCPU負荷削減
— NVIDIA Video Codec SDK を採用
— NVIDIA のボードが必須
ハードウェアエンコーディング
35
— 通常利用で5台程度の同時配信
— 動画 / 音声の配信に対応
複数端末への配信
36
37
今後対応する機能
38
— リアルタイムレイトレーシング (DirectX12)
— マルチカメラ
— Linux サポート
— 複数解像度の同時配信(サイマルキャスト)
— ハードウェアエンコーダの追加
39
— GitHub リポジトリを公開
— 日英対応ドキュメント
— うまく動かないときは FAQ を参考
— 質問は Unity フォーラム(英語)か GitHub Issue(英語、日本語)
利用を開始するには
40
— WebRTC パッケージは Apache 2.0 ライセンス
— 改変した上で商用利用が可能です
— ぜひ開発にご協力ください
オープンソースプロジェクト
41
42
43
Unity Render Streaming
ビジネスシーンでの運用と拡張
石 林
Shi Lin
44
— 長年、車のプロモーション用コン
テンツ制作マネージメントを経て、
プロジェクトマネージャーとして
Unityへ入社。
— 車業界でUnityを使った全く新し
いデジタル体験の普及に努めて
いる。
ZeroDaysbyScatter–MadewithUnity
45
DIGITAL EXPERIENCEprovide tools to accelerate your production
Unity Render Streaming 技術のメリット
46
1. ロースペックのデバイスで、ハイエンドなビジュアライゼーションを実現
2. 初期投資の負担激減
3. 大人数を収容する会議室が必要ない
4. 機材運搬しやすい
5. 維持費用の負担減
6. ブラウザー経由で同時アクセスが可能
7. 簡単に使える
8. 「伝わる」、「使える」表現手法が増える
ターゲット・マーケット
47
自動車 建築 製造業
デザイン&エンジニアリング
• 小規模デザインチーム
• 社内デザイン、プロダクトレビ
ュー
• デザイン・プレゼンテーション
マーケティング販促
• ブランド旗艦店での販促用コン
テンツの展示
• モバイル端末による潜在顧客へ
のブランディングアプローチ
サービス&トレーニング
• 遠隔地での作業トレーニング
• 遠隔での機体トラブル対処アド
バイス
デザイン&エンジニアリング
• 小規模デザインチーム
• 社内デザイン、プロダクトレビ
ュー
• デザイン・プレゼンテーション
マーケティング販促
• 展示場での販促用コンテンツの
展示
• モバイル端末による潜在顧客の
リーチ
工務店向け営業ツール
• 遠隔地での営業用ビジュアルツ
ール
• 住宅関連のコンフィグレーター
物流&設計
• 工場のレイアウト設計確認
• 作業検証レビュー
• 危険回避シミュレーション
• 作業操作手順確認&指導
• 遠隔での機体トラブル対処
Unity Render Streaming V1.0.0
48
現行バージョンでの使用例
50
イントラネットでの使用想定(Version 1.0.0)
Work Station Internal Web Server
Internal Wifi
• Unity Editor
• Runtime App
• Unity Render Streaming
• HDRP
• Realtime Raytracing
• User management
• Security system
• Control setting
• Chrome
• Firefox
• Safari
• Internet explore
Browsers Users
• Limited User
• Smart phone
• Tablet
• Low spec PC
イントラネットでの使用想定(Version 1.0.0)
52
l リモート・トレーニング
l 開発の進行確認
Room A Room B
同一のWIFI環境下での稼働
イントラネットでの使用想定(Version 1.0.0)
53
社内の小規模の開発チーム
での進行確認
同一のWIFI環境下での稼働
配信
受信
イントラネットでの使用想定(Version 1.0.0)
54
リモートでのデモ展示、発表会
同一のWIFI環境下での稼働
配信
受信
受信
イントラネットでの使用想定(Version 1.0.0)
55
24時間コンテンツへアク
セスが可能
同一のWIFI環境下での稼働
配信 受信
Unity Render Streaming
56
今後の拡張に関して
57
Web Server
Web Application
• Unity Editor
• Runtime App
• Unity Render Streaming
• HDRP
• Realtime Raytracing
Internet
• User management
• Security system
• Control setting
Browsers
• Smart phone
• Tablet
• Low spec PC
インターネット経由での使用想定
One to Multi User
Work Station
• Chrome
• Firefox
• Safari
• Internet explore
インターネット経由での使用想定
58
Web Server
Web Application
Location B Location C Location D
Unity Contents
自動車、建築、製造業(参考例)
• プロダクトのレビュー
• プロダクトの発表会のリアルタイム・デモンストレー
ション
• プロダクト使用トレーニング
• 展示場のバーチャル内覧会
• 他
Location A
59
Web Server Web Application
• Unity Runtime App
• Unity Render Streaming
• HDRP
• Realtime Raytracing
• User management
• Security system
• Control setting
Browsers
Internet
• Smart phone
• Tablet
• Low spec PC
Unity + Cloud の使用想定
One to One / one to Multi / Multi to Multi
Unity + Cloud
Unity + Cloud の使用想定
60
Unity + Cloud
Location B Location C Location D
Unity Contents
自動車、建築、製造業(参考例)
• 車のショールームの体験コンテンツ
• 販売店での車のイメージ制作とダウンロード
• 製造現場でのトレーニング用コンテンツの確認
• 潜在顧客が遠隔で自社コンテンツを体験
ZeroDaysbyScatter–MadewithUnity
61
DIGITAL EXPERIENCEprovide tools to accelerate your production
ご清聴ありがとうございました
62

【Unite Tokyo 2019】Render Streaming - WebRTC を用いたストリーミングソリューション