SlideShare a Scribd company logo
1 of 18
Download to read offline
エモモを動かす
Unityの技術
2018.09.27
Ryota Yokote
Mirrativ, Inc.
© 2018 Mirrativ, Inc.
Profile
●横手 良太 Yokote, Ryota
●2018年7月 Mirrativにjoin
●エモモの周辺、Unityエンジニア
●前の会社ではスマホゲームつくってました
https://github.com/n0mimono/GeoToybox
エモモ
●エモモ(=アバター)
●2018/8/1 βリリース
●スマホ1台でかんたんにVtuberに!
●着せ替え、雑談、ゲーム実況
●https://www.mirrativ.co.jp/emomo
エモモ
Embedded Unity
Native Application
(iOS/Android)
●エモモ(=アバター)
●アバターの部分はUnity実装
●Unity Embedding
●Unityをアプリケーションでなくライブ
ラリ(≒レンダリングエンジン)として
使う
Unity Embedding
●Unity x Android
●そもそもUnityアプリはただのSingle Activity Application
●なのでActivityを奪ってしまえば独自のアプリに組み込める
●Unity Embedding for Android
●UnityPlayer以下のレイヤをライブラリ化する
Engine -> libunity.so
Scripting Layer (C#) -> libil2cpp.so
Unity Editor
UnityPlayer (Surface View) @ unity-classes.jar
UnityPlayerActivity (Activity)
Replace
libmain.iso
Library
Embedded Unity
Native Application
(iOS/Android)
●...という感じで
●動いています
エモモ
エモモ
●エモモ、これまでとこれから
●着せ替えバリエーションを増やす
●感情、モーションを豊かに
●グラフィック、クオリティアップ
●???
●より没入感を上げていく
着せ替え 感情
モーション
カメラ等
性別
エモモ
エモモ
●エモモの機能は「着せ替え」と「アバ
ター制御」の2つがある
●エモモ特有の機能は着せ替えのみ
●Animatorで動くモデルなら(エモモでな
くても)動く
着せ替え 感情
モーション
カメラ等
性別
VRM
●VRM
●MirrativではVRMも動く
●ゲームキャラがゲーム実況するという状況 → エモい
●VRM x Unity
●UniVRM v0.43
●悩ましき1:VRM x Unity x CDN
●悩ましき2:VRMといっても..
VRM
●悩ましき1:VRM x Unity x CDN
●CDNはだいたいつらい
●スマホアプリ → ロード時間大事
●Unityのモデルロード時間
●ロード時間 = ダウンロード時間+ デシリアライズ時間
●デシリアライズ時間= max(モデルの展開, テクスチャの展開) ※並列処理
●メモリ使用 = メッシュサイズ+ テクスチャサイズ
●ファイルサイズ= (圧縮された)メッシュサイズ+ テクスチャサイズ
●Unityでの扱い方
●VRMをそのまま読む
●AssetBundle化されたVRMを読む
VRM
●VRM Runtime Load
●UniVRMの場合、VRMImporter.LoadVrmAsync で直接デシリアライズ
●VRMファイルをそのまま使えるので全体の設計はシンプル
●デシリアライズが遅い
●テクスチャがARGB32 → メモリとGPUに優しくない
●AssetBundle
●VRMをアセットバンドル化して読み込み
●デシリアライズが高速
●メモリとGPUに優しくなれる
●どこでAssetBundleをつくるのか?
● モデルをシンプルにしてRuntime Load..が現状のベストプラクティス..
●細かい制御したい場合はAssetBundleの方が楽
VRM
●悩ましき2:VRMといっても..
●自由度の高い規格なので...
●骨格問題
●モデルによって骨格、メッシュがかなり異なる
●大雑把な動きはともかく、細かい制御をさせるとつらみが多い
●人間とは?
VRM
●悩ましき2:VRMといっても..
●自由度の高い規格なので...
 人間とは・・?
VRM
●悩ましき2:VRMといっても..
●自由度の高い規格なので...
●骨格問題
●モデルによって骨格、メッシュがかなり異なる
●大雑把な動きはともかく、細かい制御をさせるとつらみが多い
●人間とは?
● → 細かい制御を吸収できるようにモーション+スクリプトで調整
●さらに悩ましい
● 人間以外になりたい人が多いという事実
● → VRMの定義から外れているのでちょっと。。
まとめ
●MirrativのキャラはUnity埋め込みで動いている
●VRMは便利だけど万能ではない
現在エンジニア積極採用中!
99
エンジニア体験入社はじめました!
・リモートOK
・2週間〜3ヶ月
・もちろん報酬もお支払い
・実際メンバーと一緒に働いてみませんか?
 詳細は「ミラティブnote」にて 
 https://note.mu/mirrativ/n/n2401bf45343d

More Related Content

Similar to エモモを動かすUnityの技術

波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)maginemu Mishimagi
 
Mirrativでエモモ(アバター機能)をリリースするまで
Mirrativでエモモ(アバター機能)をリリースするまでMirrativでエモモ(アバター機能)をリリースするまで
Mirrativでエモモ(アバター機能)をリリースするまでSumihiko Natsu
 
Unityでleap motionを使ってみる~アセットまみれのLT大会~
Unityでleap motionを使ってみる~アセットまみれのLT大会~Unityでleap motionを使ってみる~アセットまみれのLT大会~
Unityでleap motionを使ってみる~アセットまみれのLT大会~hima_zinn
 
Unityでスマホアプリが作れるか?
Unityでスマホアプリが作れるか?Unityでスマホアプリが作れるか?
Unityでスマホアプリが作れるか?MakotoItoh
 
IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmio
IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmioIIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmio
IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmiotechlog (Internet Initiative Japan Inc.)
 
Unity恐くないよ!!
Unity恐くないよ!!Unity恐くないよ!!
Unity恐くないよ!!nakamura001
 
Unityでお手軽ロボット開発「toio SDK for Unity」最新事例
Unityでお手軽ロボット開発「toio SDK for Unity」最新事例Unityでお手軽ロボット開発「toio SDK for Unity」最新事例
Unityでお手軽ロボット開発「toio SDK for Unity」最新事例UnityTechnologiesJapan002
 
機械学習を利用したゲーム実況サービスMirrativならではの画像認識手法
機械学習を利用したゲーム実況サービスMirrativならではの画像認識手法機械学習を利用したゲーム実況サービスMirrativならではの画像認識手法
機械学習を利用したゲーム実況サービスMirrativならではの画像認識手法Sumihiko Natsu
 
ロボット「toio」をUnityで自在に制御!「toio SDK for Unity 」の紹介
ロボット「toio」をUnityで自在に制御!「toio SDK for Unity 」の紹介ロボット「toio」をUnityで自在に制御!「toio SDK for Unity 」の紹介
ロボット「toio」をUnityで自在に制御!「toio SDK for Unity 」の紹介UnityTechnologiesJapan002
 
【Unite Tokyo 2018】「リトルチャンピオンズ」癖になるアクションゲームの開発事例
【Unite Tokyo 2018】「リトルチャンピオンズ」癖になるアクションゲームの開発事例【Unite Tokyo 2018】「リトルチャンピオンズ」癖になるアクションゲームの開発事例
【Unite Tokyo 2018】「リトルチャンピオンズ」癖になるアクションゲームの開発事例UnityTechnologiesJapan002
 
はじめてのIoTプログラミング IchigoJam x sakura.io 体験
はじめてのIoTプログラミング IchigoJam x sakura.io 体験はじめてのIoTプログラミング IchigoJam x sakura.io 体験
はじめてのIoTプログラミング IchigoJam x sakura.io 体験Taisuke Fukuno
 
20121123 アド部定例会 unityアプリに広告を入れる方法
20121123 アド部定例会 unityアプリに広告を入れる方法20121123 アド部定例会 unityアプリに広告を入れる方法
20121123 アド部定例会 unityアプリに広告を入れる方法Yasuyuki Kamata
 
Unity x 自動運転シミュレーション、自動運転におけるGame Engineの役割
Unity x 自動運転シミュレーション、自動運転におけるGame Engineの役割Unity x 自動運転シミュレーション、自動運転におけるGame Engineの役割
Unity x 自動運転シミュレーション、自動運転におけるGame Engineの役割Tier_IV
 
2020 08-01 ALGYAN AI&ロボティクス (1)
2020 08-01 ALGYAN AI&ロボティクス (1)2020 08-01 ALGYAN AI&ロボティクス (1)
2020 08-01 ALGYAN AI&ロボティクス (1)Akira Tateishi
 
【Unity道場 建築スペシャル】はじめてのUnity
【Unity道場 建築スペシャル】はじめてのUnity【Unity道場 建築スペシャル】はじめてのUnity
【Unity道場 建築スペシャル】はじめてのUnityUnity Technologies Japan K.K.
 

Similar to エモモを動かすUnityの技術 (19)

波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
 
Mirrativでエモモ(アバター機能)をリリースするまで
Mirrativでエモモ(アバター機能)をリリースするまでMirrativでエモモ(アバター機能)をリリースするまで
Mirrativでエモモ(アバター機能)をリリースするまで
 
Unityでleap motionを使ってみる~アセットまみれのLT大会~
Unityでleap motionを使ってみる~アセットまみれのLT大会~Unityでleap motionを使ってみる~アセットまみれのLT大会~
Unityでleap motionを使ってみる~アセットまみれのLT大会~
 
IIJmio meeting 21 IIJmio Updates
IIJmio meeting 21 IIJmio UpdatesIIJmio meeting 21 IIJmio Updates
IIJmio meeting 21 IIJmio Updates
 
Unityでスマホアプリが作れるか?
Unityでスマホアプリが作れるか?Unityでスマホアプリが作れるか?
Unityでスマホアプリが作れるか?
 
IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmio
IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmioIIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmio
IIJmio meeting 28 端末トーク2020 ~スマホだけじゃないIIJmio
 
Unity恐くないよ!!
Unity恐くないよ!!Unity恐くないよ!!
Unity恐くないよ!!
 
Unityでお手軽ロボット開発「toio SDK for Unity」最新事例
Unityでお手軽ロボット開発「toio SDK for Unity」最新事例Unityでお手軽ロボット開発「toio SDK for Unity」最新事例
Unityでお手軽ロボット開発「toio SDK for Unity」最新事例
 
機械学習を利用したゲーム実況サービスMirrativならではの画像認識手法
機械学習を利用したゲーム実況サービスMirrativならではの画像認識手法機械学習を利用したゲーム実況サービスMirrativならではの画像認識手法
機械学習を利用したゲーム実況サービスMirrativならではの画像認識手法
 
ロボット「toio」をUnityで自在に制御!「toio SDK for Unity 」の紹介
ロボット「toio」をUnityで自在に制御!「toio SDK for Unity 」の紹介ロボット「toio」をUnityで自在に制御!「toio SDK for Unity 」の紹介
ロボット「toio」をUnityで自在に制御!「toio SDK for Unity 」の紹介
 
【Unite Tokyo 2018】「リトルチャンピオンズ」癖になるアクションゲームの開発事例
【Unite Tokyo 2018】「リトルチャンピオンズ」癖になるアクションゲームの開発事例【Unite Tokyo 2018】「リトルチャンピオンズ」癖になるアクションゲームの開発事例
【Unite Tokyo 2018】「リトルチャンピオンズ」癖になるアクションゲームの開発事例
 
はじめてのIoTプログラミング IchigoJam x sakura.io 体験
はじめてのIoTプログラミング IchigoJam x sakura.io 体験はじめてのIoTプログラミング IchigoJam x sakura.io 体験
はじめてのIoTプログラミング IchigoJam x sakura.io 体験
 
IIJmio meeting 19 端末?それならIIJmioをチェックしよう!
IIJmio meeting 19 端末?それならIIJmioをチェックしよう!IIJmio meeting 19 端末?それならIIJmioをチェックしよう!
IIJmio meeting 19 端末?それならIIJmioをチェックしよう!
 
VUI on IoT Device
VUI on IoT DeviceVUI on IoT Device
VUI on IoT Device
 
20121123 アド部定例会 unityアプリに広告を入れる方法
20121123 アド部定例会 unityアプリに広告を入れる方法20121123 アド部定例会 unityアプリに広告を入れる方法
20121123 アド部定例会 unityアプリに広告を入れる方法
 
Unity x 自動運転シミュレーション、自動運転におけるGame Engineの役割
Unity x 自動運転シミュレーション、自動運転におけるGame Engineの役割Unity x 自動運転シミュレーション、自動運転におけるGame Engineの役割
Unity x 自動運転シミュレーション、自動運転におけるGame Engineの役割
 
Toolsの杜- 弥生株式会社の自動仕訳エンジンを支えるフロントエンド ~ 「ダサいは、バグだ!」を標榜してUXを徹底的に追求する ~
Toolsの杜- 弥生株式会社の自動仕訳エンジンを支えるフロントエンド ~ 「ダサいは、バグだ!」を標榜してUXを徹底的に追求する ~Toolsの杜- 弥生株式会社の自動仕訳エンジンを支えるフロントエンド ~ 「ダサいは、バグだ!」を標榜してUXを徹底的に追求する ~
Toolsの杜- 弥生株式会社の自動仕訳エンジンを支えるフロントエンド ~ 「ダサいは、バグだ!」を標榜してUXを徹底的に追求する ~
 
2020 08-01 ALGYAN AI&ロボティクス (1)
2020 08-01 ALGYAN AI&ロボティクス (1)2020 08-01 ALGYAN AI&ロボティクス (1)
2020 08-01 ALGYAN AI&ロボティクス (1)
 
【Unity道場 建築スペシャル】はじめてのUnity
【Unity道場 建築スペシャル】はじめてのUnity【Unity道場 建築スペシャル】はじめてのUnity
【Unity道場 建築スペシャル】はじめてのUnity
 

エモモを動かすUnityの技術