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