Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
#denatechcon
#denatechcon
Unityで作る
ライブ配信クライアント
小倉豪放 (Takeyuki Ogura)
システム本部技術開発室
#denatechcon
資料掲載にあたっての変更点
• P11, P12, P15, P19, P20, P21, P25, P35, P68,
P70, P71, P78, P80に講演の際の文言を追加
• P82に募集要項を追加
#denatechcon
私はUnityの
回し者ではございません
#denatechcon
自己紹介:小倉豪放 (Takeyuki Ogura)
仕事
• Engineer
• 専門分野:CG、GPU Computing、ゲーム
• プロトタイピング、モデリング、3Dプリンター
• サービス
• カメラフィ...
#denatechcon
Created game titles( support / prototyping 含まない )
• Aqua Forest(iOS)
• PHYZIOS Studio(iOS, PC)
• PHYZIOS Scul...
#denatechcon
コミュニティ貢献活動:CEDEC運営委員
ゲーム、コンピューター・エンターテイメントの開発者向けカンファレンス
講演 基調講演 展示 交流会
CEDEC(Computer Entertainment Develope...
#denatechcon
コミュニティ貢献活動:CEDEC運営委員
2019 2018 2017 2016 2015 2014
セッション数 ? 254 238 210 224 236
参加者総数 ? 8890 7997 6768 6373 6...
#denatechcon
コミュニティ貢献活動:CEDEC運営委員
CEDEC 参加者内訳
CEDEC2018 職種別割合 CEDEC2018 参加者年齢別割合
#denatechcon
コミュニティ貢献活動:CEDEC運営委員
Hosted by :
CESA(Computer Entertainment Supplier’s Association)
経産省系列の一般社団法人
CEDEC 参加者内訳
#denatechcon
今日話すこと
#denatechcon
このセッションにおける用語
• 配信者
• ライブ配信する人
• 配信クライアント
• ライブ配信するスマートフォン
アプリケーション
•視聴者
• ライブ視聴する人
•視聴クライアント
• ライブ視聴するスマートフォ...
#denatechcon
今日話すこと:スマートフォン+Unityのライブ配信クライアント
Media streaming service
Unity視聴クライアント
internet
rtmp
Uinty配信クライアント
internet
r...
#denatechcon
今日話すこと:スマートフォン+Unityのライブ配信クライアント
Unity視聴クライアント
internet
rtmp
Uinty配信クライアント
internet
rtmp / hls
プラグイン見つからない
Un...
#denatechcon
プロトタイピングの作業
実装
今日話すこと
• Unityからライブ配信
① 何ができるのか
② 具体的な実装方法のポイント
③ 今後どうなっていくのか
技術リサーチ サービス企画提案
#denatechcon
今日話すこと
• Unityからライブ配信
① 何ができるのか(30%)
② 具体的な実装方法のポイント(60%)
③ 今後どうなっていくのか(10%)
エンジニア向け:
Unity2018.2 2018.3 + iO...
#denatechcon
①何ができるのか
#denatechcon
何ができるのか:ポイント
• キャプチャーした映像ではなく、視聴者に見せた
い映像を配信できる
• アプリケーションをインストールさせずに映像を
届けられる。SNSで拡散できる
• Unityの豊富なAssetが使える
#denatechcon
何ができるのか:DEMO
• VTuber
• スマホゲームの実況
#denatechcon
キャプチャーした映像ではなく、視聴者に見せたい映像を配信できる
配信者の画面 視聴者の画面
(© UTJ/UCL)
UIを消した映像を配信するデモ
#denatechcon
キャプチャーした映像ではなく、視聴者に見せたい映像を配信で
きる
配信者の画面 視聴者の画面
配信者はゲームカメラであるが、
視聴者にはオーバービューの映像を配信するデモ
Asset Store:https://ass...
#denatechcon
アプリケーションをインストールさせずに映像を届けられる。SNSで拡散
できる
この会場の私のスマートフォンからYouTubeを介して、
この会場の皆さんにライブ配信をするデモ
(電波の調子が悪い場合は懇親会の場で再トラ...
#denatechcon
何ができるのか:ポイント
• キャプチャーした映像ではなく、視聴者に見せた
い映像を配信できる
• アプリケーションをインストールさせずに映像を
届けられる。SNSで拡散できる
• Unityの豊富なAssetが使える
#denatechcon
Unityの豊富なAssetが使える:69,271点(2019/2/1)
Characters Animals Creatures Humanoids Robots Environments Dungeons Fant...
#denatechcon
しばしのポエム
#denatechcon
現実:典型的な状況
*画像はイメージで実際とは異なる場合があります。
キャプチャーボード+PC
or コンソール
9割弱がスマートフォンから配信
7割強〜8割弱がスマートフォンで視聴
ライブ配信PF
internet
...
#denatechcon
余談:SHOWROOMでアイドルのVRライブ配信で配信側も難儀だった点
*画像はイメージで実際とは異なる場合があります。
↑の配信者が↓以上の機材を使う状況
VRカメラ
視聴側にHMDが必要である以前に、
配信者に機材...
#denatechcon
論点:スマートフォンのゲームをやる人は配信するのか
• ライブ配信の前提となっていたこと
• 撮影、キャプチャーした映像を使う
• 配信者の動機が必要(わざわざ撮影してまで、わざわざキャプチャー
してまで…)
• 前提...
#denatechcon
他力依存で苦労するところ
因数分解
プラット
フォームイ
ンフラ
視聴
クライアン
ト
視聴者
コミュニ
ティ
ゲームコン
テンツ
スタジオ
配信
クライアン
ト
X
X
X
X
配信者
コンテンツX X
芸能事務所
...
#denatechcon
他に
• 地図アプリ
#denatechcon
現実:Unityで制作されるゲーム
• iOS/Androidゲーム(有料・無料)の上位1000
中38%がUnityを使用
• 四半期24億のデバイスがUnity製ゲームを実行
• Unity製のモバイルアプリケーシ...
#denatechcon
何ができるのか:まとめ
• キャプチャーした映像ではなく、視聴者に見せた
い映像を配信できる
• ゲームエンジンは強力なリアルタイム編集ツール
• 配信者に依存しない内容にする
• アプリケーションをインストールさせず...
#denatechcon
②具体的な実装のポイント
#denatechcon
ライブ
• 映像
• 音声
#denatechcon
フロー:Nativeのライブ配信クライアント
音声
映像
iOS
Native
VideoTool
Box.frame
work
RTMP
Multiplexe
r
AudioTool
Box.frame
work
a...
#denatechcon
フロー:Unityのライブ配信クライアント
音声
映像
Unity
Low-level
Native
Plugin
Interface
VideoTool
Box.frame
work
RTMP
Multiplexe
...
#denatechcon
映像
#denatechcon
Unity - Low-level Native Plugin Interface
引用:https://docs.unity3d.com/ja/current/Manual/NativePluginInterface...
#denatechcon
フロー
renderTextureを定義 cacheTextureでrenderTargetを定義
視聴者に見せたいものをレンダリング
camera.OnPostRender()で
GL.IssuePluginEven...
#denatechcon
renderTextureを定義
• 縦持ちを想定した解像度
#denatechcon
視聴者に見せたいものをレンダリングするcameraを定義
• カメラの位置、アングルを設定
#denatechcon
視聴者に見せたいものをレンダリングするcameraを定義
• Culling Maskで視聴者に見せたい
オブジェクトのレイヤーを選別
#denatechcon
Culling Maskとレイヤー
UI
AR
AR UI
Portrait
Default
Defaultだけを
レンダリング
(© UTJ/UCL)
#denatechcon
cameraにrenderTextureを設定
• 先ほど定義したrenderTexture
• Target Textureへ指定
#denatechcon
renderTexture.GetNativeTexturePtr()でのIDをネイティブ側に渡す
var texture = mainCamera.targetTexture;
System.IntPtr ptr =...
#denatechcon
camera.OnPostRender()でGL.IssuePluginEvent()を呼ぶ
void OnPostRender()
{
LLNRPI.SetTimeFromUnity(Time.timeSinceLe...
#denatechcon
cacheTextureでrenderTargetを定義
• renderTargetの解像度は
renderTextureと同じにする
参考:
https://developer.apple.com/document...
#denatechcon
renderTextureを使ってrenderTargetに正投影でレンダリング
RenderTexture
RenderTerget
polygon
(© UTJ/UCL)
#denatechcon
renderTargetをsampleBufferに渡す
CMVideoFormatDescriptionCreateForImageBuffer()
CMSampleBufferCreateForImageBuffe...
#denatechcon
音声
#denatechcon
アンケート
• グラフィックには慣れているが動画やストリーミ
ングには慣れていない?
• 映像と音声を一人でやってよと言われた?
#denatechcon
音声のプログラミング
• 映像と音声はデータを取る周期が違う
• フレームレート: 30frame
• システムサンプリング周波数: 24KHz
• Dsp Buffer Size:Best Latency → len...
#denatechcon
音声のプログラミング
• Unityのシステムサンプリング周波数(デフォル
ト):24KHz
• スピーカーの再生周波数:48KHz
• iPhone6s以降:48KHz固定
→スピーカーの再生周波数に合わせるか、
2...
#denatechcon
Unity - Native Audio Plugin SDK
参考:
https://docs.unity3d.com/ja/current/Manual/AudioMixerNativeAudioPlugin.ht...
#denatechcon
フロー
ProcessCallback()が呼ばれる
inbufferの内容をPCM音源のフォー
マットに変換してaudioBufferに書く
audioBufferをsampleBufferに渡す
Audio Man...
#denatechcon
システムサンプリング周波数を設定
• Audio Manager
• Edit→Project Settings→Audio
• System Sample Rate
• 0はOSのデフォルト
• iOS/Androi...
#denatechcon
audioBufferを定義
CMAudioFormatDescriptionCreate()
#denatechcon
ProcessCallback()が呼ばれる
UNITY_AUDIODSP_RESULT UNITY_AUDIODSP_CALLBACK ProcessCallback(
UnityAudioEffectState* ...
#denatechcon
inbufferの内容をoutbufferへコピー
memcpy(outbuffer, inbuffer, sizeof(float) * length * inchannels);
#denatechcon
inbufferの内容をPCM音源のフォーマットに変換してaudioBufferに書
く
int16_t *ab = (int16_t *)audioBuffer;
for (unsigned int n = 0; n...
#denatechcon
audioBufferをsampleBufferに渡す
参考:https://developer.apple.com/documentation/coremedia/1489723-cmsamplebuffercrea...
#denatechcon
フロー:Unityのライブ配信クライアント
音声
映像
Unity
Low-level
Native
Plugin
Interface
VideoTool
Box.frame
work
RTMP
Multiplexe
...
#denatechcon
③今後どうなっていくのか
#denatechcon
スマートフォンの進化
カメラ、AI、5G、AR
#denatechcon
余談:個人で修理します
#denatechcon
スマートフォンの進化
• インカメラは顔の動きを細かく把握するように
• アウトカメラはデュアルカメラへ
• 単眼RGBカメラでもDepthが取れるように
• 顔認識、ポーズ推定のライブラリが出回る
• NPUが積まれ...
#denatechcon
インカメラは顔の動きを細かく把握するように
•iPhone X TrueDepth
• 赤外線のドットを3万個照射し
て、赤外線カメラで撮影する
• Neural Engineにて3D形状を把
握する
• $16.50...
#denatechcon
アウトカメラはデュアルカメラへ
•Depthが取れる
• $33.33
#denatechcon
Depthでできること
3D Photo
(Facebook)
Portrait mode
(iPhone X)
Portrait Matte
Depth 背景除去Original
現時点のデュアルカメラとDepthを...
#denatechcon
単眼RGBカメラでもDepthが取れるように
AR
• 近景、遠景のピクセルの動きを見て、
Depthを予測
CNN
• ディーブラーニングでDepthを推定
#denatechcon
顔認識、ポーズ推定のライブラリが出回る
Unity Asset Storeにも相当数あり
=数千円、数万円で高機能のものが
手軽に組み込める状態で入手できる
#denatechcon
NPU
• NVIDIA DLA
• Google Edge TPU
• Apple Neural Engine
• ARM ML
ハードウェアによるインファレンス側の強化
NVIDIA, Googleは目下IoT、自...
#denatechcon
5G(第5世代通信技術)
• 高速・大容量:20Gbps(4G の 20倍)
• 低遅延:1ms(4G の 1/10倍以下)
• 多接続:10^6デバイス/km^2(4G の 10倍以上)
#denatechcon
引用:https://www.sankei.com/economy/news/180711/ecn1807110023-n1.html
料金を引き上げない方針
#denatechcon
直近で恩恵があるのはストリーミング
• 4G LTEでVRライブ配信を実際にやっ
たときの数字
• Maker Faire Tokyo 2017
• VR180 解像度4K 帯域10Mbps
• 1分:75MB/m
•...
#denatechcon
総務省の資料におけるサービスのイメージ(BtoC該当部分)
引用:http://www.soumu.go.jp/main_content/000430220.pdf
#denatechcon
これまでと考え方が逆
〜4G
•自分のスマホの電波が
通じている=使用して
いる基地局の付近にい
る
5G
•自分の位置が基地局に
正確に捕捉されている
=電波が通じる
#denatechcon
街中で普及するまで時間がかかる
• 多大なインフラ投資が必要
• 電波の直進性が高い、減衰しやすい
• 基地局のアンテナが沢山必要
• フォーミング
• エッジサーバーの性能が必要
• 最初はイベント会場などから
#denatechcon
ARデバイスの独占販売を通信キャリアがやりはじめる
引用:https://techcrunch.com/2018/07/11/att-takes-strategic-stake-in-ar-company-magic-...
#denatechcon
まとめ
#denatechcon
センサー、カメラ、チップなどのハード及び、通信環境はより強力に
音声
映像
リアルタ
イム
編集
ストリー
ミング
renderTextur
e
float[]
ハードウェアの進化 通信環境の進化
CCBY:Flati...
#denatechcon
ご静聴ありがとう
ございました
#denatechcon
募集要項
参考:
https://career.dena.jp/job.phtml?job_code=1271
#denatechcon
#denatechcon
Upcoming SlideShare
Loading in …5
×

DeNA TechCon2019 How to implement live streaming client using Unity

1,604 views

Published on

ゲームエンジンはゲームクリエーター以外のクリエーターにとっても良い制作環境だと思います。スマホアプリから、配信者側のスマホ画面全体だけでなく、ユーザーに見せたいものを描いて直接スマホからライブ配信することができます。
いろんなものが常時ストリーミングになるかもしれない時代のアプリを考えつつゲームエンジンをライブ配信アプリ開発ツールとして再評価してみたいと思います。

I think the game engine is a good production environment for creators other than game creators. From the smartphone it is possible to draw not only the whole smartphone screen on the distributor side but also the live distribution directly from the smartphone, drawing what you want to show to the user.
I would like to reevaluate the game engine as a live distribution application development tool while thinking about the application of the era where various things may become constant streaming.

DeNA TechCon2019
https://techcon.dena.com/2019/

Published in: Engineering
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

DeNA TechCon2019 How to implement live streaming client using Unity

  1. 1. #denatechcon #denatechcon Unityで作る ライブ配信クライアント 小倉豪放 (Takeyuki Ogura) システム本部技術開発室
  2. 2. #denatechcon 資料掲載にあたっての変更点 • P11, P12, P15, P19, P20, P21, P25, P35, P68, P70, P71, P78, P80に講演の際の文言を追加 • P82に募集要項を追加
  3. 3. #denatechcon 私はUnityの 回し者ではございません
  4. 4. #denatechcon 自己紹介:小倉豪放 (Takeyuki Ogura) 仕事 • Engineer • 専門分野:CG、GPU Computing、ゲーム • プロトタイピング、モデリング、3Dプリンター • サービス • カメラフィルター →Comm • VRライブ配信システム →SHOWROOM VRライブ配信 • 経歴 • SEGA -> Microsoft -> … -> Startup ->DeNA • 趣味 • 旅行 • 電子工作
  5. 5. #denatechcon Created game titles( support / prototyping 含まない ) • Aqua Forest(iOS) • PHYZIOS Studio(iOS, PC) • PHYZIOS Sculptor(iOS) • Rendering、UI • Ninety Nine Nights(Xbox360) • Optimization • Shenmue Ⅰ (Dream Cast) • Shenmue Ⅱ (Dream Cast) • Motion library • Rendering library • Effects • Sonic the Fighters (Arcade) • Real-time character morphing • Virtua Cop 2 (Arcade、Saturn) • Breakable obstacles • Physics engine • Virtua Fighter 4 (Arcade) • 3D character motion library • Rendering effects • Virtua Fighter 2 (Arcade) • User interface / advertizing Credit Name as Takeyuki Ogura and Goho Ogura
  6. 6. #denatechcon コミュニティ貢献活動:CEDEC運営委員 ゲーム、コンピューター・エンターテイメントの開発者向けカンファレンス 講演 基調講演 展示 交流会 CEDEC(Computer Entertainment Developers Conference)
  7. 7. #denatechcon コミュニティ貢献活動:CEDEC運営委員 2019 2018 2017 2016 2015 2014 セッション数 ? 254 238 210 224 236 参加者総数 ? 8890 7997 6768 6373 6564 CEDEC 参加者、規模 国内最大規模=CEDEC 9000人 世界最大規模=GDC(Game Developers Conference)28,000人
  8. 8. #denatechcon コミュニティ貢献活動:CEDEC運営委員 CEDEC 参加者内訳 CEDEC2018 職種別割合 CEDEC2018 参加者年齢別割合
  9. 9. #denatechcon コミュニティ貢献活動:CEDEC運営委員 Hosted by : CESA(Computer Entertainment Supplier’s Association) 経産省系列の一般社団法人 CEDEC 参加者内訳
  10. 10. #denatechcon 今日話すこと
  11. 11. #denatechcon このセッションにおける用語 • 配信者 • ライブ配信する人 • 配信クライアント • ライブ配信するスマートフォン アプリケーション •視聴者 • ライブ視聴する人 •視聴クライアント • ライブ視聴するスマートフォン アプリケーション *画像はイメージで実際とは異なる場合があります。 安易にユーザーという言葉が 使えません。 多くの場合、配信クライアント と視聴クライアントは同じ クライアントアプリです。
  12. 12. #denatechcon 今日話すこと:スマートフォン+Unityのライブ配信クライアント Media streaming service Unity視聴クライアント internet rtmp Uinty配信クライアント internet rtmp / hls … edge origin load balancer このセッションで話す範囲は◯の範囲です。
  13. 13. #denatechcon 今日話すこと:スマートフォン+Unityのライブ配信クライアント Unity視聴クライアント internet rtmp Uinty配信クライアント internet rtmp / hls プラグイン見つからない Unity→Native 資料、情報が少ない 難易度高 プラグイン多い Native→Unity 資料、情報が多い 難易度低
  14. 14. #denatechcon プロトタイピングの作業 実装 今日話すこと • Unityからライブ配信 ① 何ができるのか ② 具体的な実装方法のポイント ③ 今後どうなっていくのか 技術リサーチ サービス企画提案
  15. 15. #denatechcon 今日話すこと • Unityからライブ配信 ① 何ができるのか(30%) ② 具体的な実装方法のポイント(60%) ③ 今後どうなっていくのか(10%) エンジニア向け: Unity2018.2 2018.3 + iOS12 で実装する場合のポイント 新しいもの好き向け: 5G, カメラ, AIなどの影響 サービス企画向け: ライブ配信デモ Unityで作るメリット ユースケースの提案 プロトタイピングの範囲は広いため、このセッションで話す範囲は広くなります。
  16. 16. #denatechcon ①何ができるのか
  17. 17. #denatechcon 何ができるのか:ポイント • キャプチャーした映像ではなく、視聴者に見せた い映像を配信できる • アプリケーションをインストールさせずに映像を 届けられる。SNSで拡散できる • Unityの豊富なAssetが使える
  18. 18. #denatechcon 何ができるのか:DEMO • VTuber • スマホゲームの実況
  19. 19. #denatechcon キャプチャーした映像ではなく、視聴者に見せたい映像を配信できる 配信者の画面 視聴者の画面 (© UTJ/UCL) UIを消した映像を配信するデモ
  20. 20. #denatechcon キャプチャーした映像ではなく、視聴者に見せたい映像を配信で きる 配信者の画面 視聴者の画面 配信者はゲームカメラであるが、 視聴者にはオーバービューの映像を配信するデモ Asset Store:https://assetstore.unity.com/packages/tools/animation/locomotion-system- 7135
  21. 21. #denatechcon アプリケーションをインストールさせずに映像を届けられる。SNSで拡散 できる この会場の私のスマートフォンからYouTubeを介して、 この会場の皆さんにライブ配信をするデモ (電波の調子が悪い場合は懇親会の場で再トライします)
  22. 22. #denatechcon 何ができるのか:ポイント • キャプチャーした映像ではなく、視聴者に見せた い映像を配信できる • アプリケーションをインストールさせずに映像を 届けられる。SNSで拡散できる • Unityの豊富なAssetが使える
  23. 23. #denatechcon Unityの豊富なAssetが使える:69,271点(2019/2/1) Characters Animals Creatures Humanoids Robots Environments Dungeons Fantasy Historic Industrial Landscapes Roadways Sci-Fi Urban Props Clothing Electronics Exterior Food Furniture Guns Industrial Interior Tools Weapons Vegetation Flowers Plants SpeedTree Trees Vehicles Air Land Sea Space 3D Characters Environments Fonts GUI Icons Textures&Materials Abstract Brick Building Concrete Fabric Floors Food Glass Metals Roads Sky Stone Water Wood 2D Applications Machine Learning Services Analytics Billing Add-Ons Audio Ambient Fantasy Nature Noise Sci-Fi Urban Music Electronic Orchestral Pop Rock World Sound FX Animals Creatures Foley Transportation Voices Weapons Templates Packs Systems Tutorials Tools AI Animation Audio Camera GUI Input Management Integration Level Design Localization Modeling Network Painting Particles&Effects Physics Sprite Management Terrain Utilities Version Control Video Visual Scripting VFX Particles Environment Fire&Explosions Spells Shaders DirectX11 Fullscreen&Camera Effects Substances 引用: https://assetstore.unity.com
  24. 24. #denatechcon しばしのポエム
  25. 25. #denatechcon 現実:典型的な状況 *画像はイメージで実際とは異なる場合があります。 キャプチャーボード+PC or コンソール 9割弱がスマートフォンから配信 7割強〜8割弱がスマートフォンで視聴 ライブ配信PF internet 配信 ゲーム実況 internet 配信 Media streaming service internet 視聴 視聴者 ライブ配信PFの配信者とゲーム実況者は別セクター です。
  26. 26. #denatechcon 余談:SHOWROOMでアイドルのVRライブ配信で配信側も難儀だった点 *画像はイメージで実際とは異なる場合があります。 ↑の配信者が↓以上の機材を使う状況 VRカメラ 視聴側にHMDが必要である以前に、 配信者に機材がない。扱えない→スタジオのみ 配信者の動機を考えることは重要
  27. 27. #denatechcon 論点:スマートフォンのゲームをやる人は配信するのか • ライブ配信の前提となっていたこと • 撮影、キャプチャーした映像を使う • 配信者の動機が必要(わざわざ撮影してまで、わざわざキャプチャー してまで…) • 前提を覆す • キャプチャーした映像を使うのではなく、視聴者に見せたい映像を サービス側でつくる • ゲームエンジンは強力なリアルタイム編集ツール • 配信者に依存しない内容にする。サービス、アプリの機能にする • 機械的な方が5Gの恩恵あり
  28. 28. #denatechcon 他力依存で苦労するところ 因数分解 プラット フォームイ ンフラ 視聴 クライアン ト 視聴者 コミュニ ティ ゲームコン テンツ スタジオ 配信 クライアン ト X X X X 配信者 コンテンツX X 芸能事務所 コミュニ ティ運営 ライブ配信PF スマートフォン ゲーム実況 Unityで強化できるとこ ろ Unityが多く使われているところ
  29. 29. #denatechcon 他に • 地図アプリ
  30. 30. #denatechcon 現実:Unityで制作されるゲーム • iOS/Androidゲーム(有料・無料)の上位1000 中38%がUnityを使用 • 四半期24億のデバイスがUnity製ゲームを実行 • Unity製のモバイルアプリケーションのインス トール数は、160億 引用:https://licensecounter.jp/unity/
  31. 31. #denatechcon 何ができるのか:まとめ • キャプチャーした映像ではなく、視聴者に見せた い映像を配信できる • ゲームエンジンは強力なリアルタイム編集ツール • 配信者に依存しない内容にする • アプリケーションをインストールさせずに映像を 届けられる。SNSで拡散できる • Unityの豊富なAssetが使える
  32. 32. #denatechcon ②具体的な実装のポイント
  33. 33. #denatechcon ライブ • 映像 • 音声
  34. 34. #denatechcon フロー:Nativeのライブ配信クライアント 音声 映像 iOS Native VideoTool Box.frame work RTMP Multiplexe r AudioTool Box.frame work aac h.264CMSampleBuffer CMSampleBuffer rtm p CCBY:Flaticon
  35. 35. #denatechcon フロー:Unityのライブ配信クライアント 音声 映像 Unity Low-level Native Plugin Interface VideoTool Box.frame work RTMP Multiplexe r AudioTool Box.frame work Native Audio Plugin SDK aac h.264CMSampleBuffer CMSampleBuffer rtm p renderTextur e float[] CCBY:Flaticon このセッションで話す範囲は◯の範囲です。
  36. 36. #denatechcon 映像
  37. 37. #denatechcon Unity - Low-level Native Plugin Interface 引用:https://docs.unity3d.com/ja/current/Manual/NativePluginInterface.html 〜中略〜 参考:https://bitbucket.org/Unity- Technologies/graphicsdemos
  38. 38. #denatechcon フロー renderTextureを定義 cacheTextureでrenderTargetを定義 視聴者に見せたいものをレンダリング camera.OnPostRender()で GL.IssuePluginEvent()を呼ぶ renderTextureを使ってrenderTarget に正投影でレンダリング renderTargetをsampleBufferに渡す cameraにrenderTextureを設定 視聴者に見せたいものをレンダリング するcameraを定義 renderTexture.GetNativeTexturePtr() でのIDをネイティブ側に渡す Unity iOS
  39. 39. #denatechcon renderTextureを定義 • 縦持ちを想定した解像度
  40. 40. #denatechcon 視聴者に見せたいものをレンダリングするcameraを定義 • カメラの位置、アングルを設定
  41. 41. #denatechcon 視聴者に見せたいものをレンダリングするcameraを定義 • Culling Maskで視聴者に見せたい オブジェクトのレイヤーを選別
  42. 42. #denatechcon Culling Maskとレイヤー UI AR AR UI Portrait Default Defaultだけを レンダリング (© UTJ/UCL)
  43. 43. #denatechcon cameraにrenderTextureを設定 • 先ほど定義したrenderTexture • Target Textureへ指定
  44. 44. #denatechcon renderTexture.GetNativeTexturePtr()でのIDをネイティブ側に渡す var texture = mainCamera.targetTexture; System.IntPtr ptr = texture.GetNativeTexturePtr(); LLNRPI.SetTextureFromUnity(ptr, texture.width, texture.height);
  45. 45. #denatechcon camera.OnPostRender()でGL.IssuePluginEvent()を呼ぶ void OnPostRender() { LLNRPI.SetTimeFromUnity(Time.timeSinceLevelLoad); LLNRPI.IssuePluginEventGetRenderEventFunc(); RenderTexture.active = null; }
  46. 46. #denatechcon cacheTextureでrenderTargetを定義 • renderTargetの解像度は renderTextureと同じにする 参考: https://developer.apple.com/documentation/corevideo/cvpixelbuffer?language=objc参考: https://developer.apple.com/documentation/corevideo/cvopenglestexturecache?language=objc
  47. 47. #denatechcon renderTextureを使ってrenderTargetに正投影でレンダリング RenderTexture RenderTerget polygon (© UTJ/UCL)
  48. 48. #denatechcon renderTargetをsampleBufferに渡す CMVideoFormatDescriptionCreateForImageBuffer() CMSampleBufferCreateForImageBuffer() 参考:https://developer.apple.com/documentation/coremedia/1489414- cmsamplebuffercreateforimagebuff?language=objc
  49. 49. #denatechcon 音声
  50. 50. #denatechcon アンケート • グラフィックには慣れているが動画やストリーミ ングには慣れていない? • 映像と音声を一人でやってよと言われた?
  51. 51. #denatechcon 音声のプログラミング • 映像と音声はデータを取る周期が違う • フレームレート: 30frame • システムサンプリング周波数: 24KHz • Dsp Buffer Size:Best Latency → length: 256 とすると… 24KHz = 800 * 30 = 256* 93.75 1フレームにUpdateと同じ回数呼ばれる保証がない →映像と音声はデータを取る周期が違う しかし、動画、ストリーミングでは映像と音声を同期する必要がある
  52. 52. #denatechcon 音声のプログラミング • Unityのシステムサンプリング周波数(デフォル ト):24KHz • スピーカーの再生周波数:48KHz • iPhone6s以降:48KHz固定 →スピーカーの再生周波数に合わせるか、 24KHzのデータを時間軸で引き延ばす (24KHzのAudioBufferを作れなかった)
  53. 53. #denatechcon Unity - Native Audio Plugin SDK 参考: https://docs.unity3d.com/ja/current/Manual/AudioMixerNativeAudioPlugin.html 参考:https://bitbucket.org/Unity- Technologies/nativeaudioplugins Unity Native Audio Plugin SDK float[] float[] inbuffe r outbuffe r ProcessCallback() source mixer listene r Audio Mixerを通っているため、Unity内でイフェクトがかけられた音声 を取り出すこと、もしくはNativeでイフェクトをかけることが可能 UIなどの値
  54. 54. #denatechcon フロー ProcessCallback()が呼ばれる inbufferの内容をPCM音源のフォー マットに変換してaudioBufferに書く audioBufferをsampleBufferに渡す Audio Managerでサンプリング周波数 を設定 Unity iOS audioBufferを定義 inbufferの内容をoutbufferへコピー
  55. 55. #denatechcon システムサンプリング周波数を設定 • Audio Manager • Edit→Project Settings→Audio • System Sample Rate • 0はOSのデフォルト • iOS/Androidのデフォルトは24000 • 48000にしておく • DSP Buffer Size • Best Latency
  56. 56. #denatechcon audioBufferを定義 CMAudioFormatDescriptionCreate()
  57. 57. #denatechcon ProcessCallback()が呼ばれる UNITY_AUDIODSP_RESULT UNITY_AUDIODSP_CALLBACK ProcessCallback( UnityAudioEffectState* state, float* inbuffer, float* outbuffer, unsigned int length, int inchannels, int outchannels)
  58. 58. #denatechcon inbufferの内容をoutbufferへコピー memcpy(outbuffer, inbuffer, sizeof(float) * length * inchannels);
  59. 59. #denatechcon inbufferの内容をPCM音源のフォーマットに変換してaudioBufferに書 く int16_t *ab = (int16_t *)audioBuffer; for (unsigned int n = 0; n < length; n++) { float li = inbuffer[n * inchannels]; int16_t sli = (int16_t)(li * 32768); ab[ n ] = sli; }
  60. 60. #denatechcon audioBufferをsampleBufferに渡す 参考:https://developer.apple.com/documentation/coremedia/1489723-cmsamplebuffercreate?language=objc CMSampleBufferCreate() CMSampleBufferSetDataBufferFromAudioBufferList()
  61. 61. #denatechcon フロー:Unityのライブ配信クライアント 音声 映像 Unity Low-level Native Plugin Interface VideoTool Box.frame work RTMP Multiplexe r AudioTool Box.frame work Native Audio Plugin SDK aac h.264CMSampleBuffer CMSampleBuffer rtm p renderTextur e float[] CCBY:Flaticon
  62. 62. #denatechcon ③今後どうなっていくのか
  63. 63. #denatechcon スマートフォンの進化 カメラ、AI、5G、AR
  64. 64. #denatechcon 余談:個人で修理します
  65. 65. #denatechcon スマートフォンの進化 • インカメラは顔の動きを細かく把握するように • アウトカメラはデュアルカメラへ • 単眼RGBカメラでもDepthが取れるように • 顔認識、ポーズ推定のライブラリが出回る • NPUが積まれ、推論がより強く • 通信環境が5Gへ
  66. 66. #denatechcon インカメラは顔の動きを細かく把握するように •iPhone X TrueDepth • 赤外線のドットを3万個照射し て、赤外線カメラで撮影する • Neural Engineにて3D形状を把 握する • $16.50 Dot ProjectorFront CameraInfra Camera
  67. 67. #denatechcon アウトカメラはデュアルカメラへ •Depthが取れる • $33.33
  68. 68. #denatechcon Depthでできること 3D Photo (Facebook) Portrait mode (iPhone X) Portrait Matte Depth 背景除去Original 現時点のデュアルカメラとDepthを使ってできることは限定的である。 デュアルカメラの2眼の距離が瞳孔間距離65mm周辺になると、 3DのVRライブ配信が可能。 技術的には可能で、そうした専用機材は既にあるが、需要が少ないのでスマートフォンではやっていない。5G待ち
  69. 69. #denatechcon 単眼RGBカメラでもDepthが取れるように AR • 近景、遠景のピクセルの動きを見て、 Depthを予測 CNN • ディーブラーニングでDepthを推定
  70. 70. #denatechcon 顔認識、ポーズ推定のライブラリが出回る Unity Asset Storeにも相当数あり =数千円、数万円で高機能のものが 手軽に組み込める状態で入手できる
  71. 71. #denatechcon NPU • NVIDIA DLA • Google Edge TPU • Apple Neural Engine • ARM ML ハードウェアによるインファレンス側の強化 NVIDIA, Googleは目下IoT、自動車用途 Neural Engineは既にiPhone Xで使用されている ARMも参入
  72. 72. #denatechcon 5G(第5世代通信技術) • 高速・大容量:20Gbps(4G の 20倍) • 低遅延:1ms(4G の 1/10倍以下) • 多接続:10^6デバイス/km^2(4G の 10倍以上)
  73. 73. #denatechcon 引用:https://www.sankei.com/economy/news/180711/ecn1807110023-n1.html 料金を引き上げない方針
  74. 74. #denatechcon 直近で恩恵があるのはストリーミング • 4G LTEでVRライブ配信を実際にやっ たときの数字 • Maker Faire Tokyo 2017 • VR180 解像度4K 帯域10Mbps • 1分:75MB/m • 1時間:4.5GB • 8時間:36GB • Maker Faire Tokyo 2016 • 360 解像度2K 帯域3kbps • 1時間:1.35GB • 8時間:10.8GB • 通信料金 • IIJMIO 10GB/月プラン 2500円 • データオプション 30GB 5000円 4Gでは8時間でパケ死する 5Gで1/10の値段になると現実的
  75. 75. #denatechcon 総務省の資料におけるサービスのイメージ(BtoC該当部分) 引用:http://www.soumu.go.jp/main_content/000430220.pdf
  76. 76. #denatechcon これまでと考え方が逆 〜4G •自分のスマホの電波が 通じている=使用して いる基地局の付近にい る 5G •自分の位置が基地局に 正確に捕捉されている =電波が通じる
  77. 77. #denatechcon 街中で普及するまで時間がかかる • 多大なインフラ投資が必要 • 電波の直進性が高い、減衰しやすい • 基地局のアンテナが沢山必要 • フォーミング • エッジサーバーの性能が必要 • 最初はイベント会場などから
  78. 78. #denatechcon ARデバイスの独占販売を通信キャリアがやりはじめる 引用:https://techcrunch.com/2018/07/11/att-takes-strategic-stake-in-ar-company-magic-leap-in-its-latest-push-into-digital-media/ キャリアが独占販売するということはスマートフォン の次なるデバイスへ向けて配備側の金が動いている ということ(ただし、1度や2度で成功する ような短期的な話ではないです) 個人的に、歩きスマホは人類の黒歴史になると思う。 「人類はかつて四角い画面を持って歩いていた…」
  79. 79. #denatechcon まとめ
  80. 80. #denatechcon センサー、カメラ、チップなどのハード及び、通信環境はより強力に 音声 映像 リアルタ イム 編集 ストリー ミング renderTextur e float[] ハードウェアの進化 通信環境の進化 CCBY:Flaticon センサー、ハードウェアは進化し、通信環境も良くなります。つまり、インとアウトが急激に強くなるその中間で、 付加価値を向上するための編集作業が重要になってきます。そこにリアルタイム編集が強く、アセットが沢山あり、 クリエーターの集うゲームエンジンを使用することは有意義なのではないかというまとめです。
  81. 81. #denatechcon ご静聴ありがとう ございました
  82. 82. #denatechcon 募集要項 参考: https://career.dena.jp/job.phtml?job_code=1271
  83. 83. #denatechcon #denatechcon

×