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
Android上でUnityを動かすためのノウハウ / Android with Unity
Search
morizooo
August 22, 2018
Programming
2
780
Android上でUnityを動かすためのノウハウ / Android with Unity
morizooo
August 22, 2018
Tweet
Share
More Decks by morizooo
See All by morizooo
Flipperを活用した デバッグ効率化について/flipper
morizooo
0
680
Androidアプリをリアーキテクチャした話/Android-rearchitecture
morizooo
1
200
Mirrativ-android-efforts
morizooo
1
7.3k
消費型課金を導入する / Introduction to consumable In-App Billing
morizooo
0
470
カンファレンスアプリを作ったぞ!! / builderscon tokyo 2017 LT
morizooo
0
3.1k
Other Decks in Programming
See All in Programming
クックパッド検索システム統合/Cookpad Search System Consolidation
giga811
0
140
もう少しテストを書きたいんじゃ〜 #phpstudy
o0h
PRO
21
4.3k
Boos Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
620
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
160
DRFを少しずつ オニオンアーキテクチャに寄せていく DjangoCongress JP 2025
nealle
2
290
AWS Step Functions は CDK で書こう!
konokenj
5
870
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
1
650
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
260
Djangoにおける複数ユーザー種別認証の設計アプローチ@DjangoCongress JP 2025
delhi09
PRO
4
510
良いコードレビューとは
danimal141
9
7.8k
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
230
Datadog DBMでなにができる? JDDUG Meetup#7
nealle
0
160
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Into the Great Unknown - MozCon
thekraken
35
1.6k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Docker and Python
trallard
44
3.3k
The Cost Of JavaScript in 2023
addyosmani
47
7.4k
Being A Developer After 40
akosma
89
590k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
Typedesign – Prime Four
hannesfritz
41
2.5k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Transcript
Android上でUnityを 動かすためのノウハウ LIVE STREAMING HACK #1 2018.08.22 YUTA MORIOKA Mirrativ,
Inc. © 2018 Mirrativ, Inc.
•Profile •morizooo •2018年2月入社 •ミラティブのAndroid作ってます •UnityはAndroidビルド部分しか触ってません
•Android上でUnityを動かす
•Unityからのエクスポート • ARM64はUnity 2018.2から使用可能 • apply pluginをlibraryに変更 • Manifestの不要な部分を削除 → AARを作成
•UnityPlayerの使い方 • UnityPlayerにcontextを渡してFrameLayoutにAddすればOK • SurfaceViewにアバターが映るのでリフレクション使って透過させる
•UnitySendMessageについて UnitySendMessage("GameObjectName1", "MethodName1", "Message to send"); •NativeからUnityのコールバックを実行するための関数 •主な用途はUnity用のプラグインをNativeで書くときに使われている → MirrativではAndroid/iOSからUnityを操作するために利用
•困ったこと •UnityPlayerを破棄するとアプリが落ちる →android:processを設定することで対処
•困ったこと •UnityPlayerを一度破棄すると、再生成できない - 配信視聴時にインスタンス作成、終了時に破棄したかった - 原因わからず。そもそも複数回作られるような想定がされてなさそう → Applicationクラスにグローバルインスタンスとして作成して対処 → UnityPlayerを破棄することはできないので、 Activity破棄時にUnityPlayer.pause()を実行
•困ったこと •UnityPlayerの上にViewを重ねる - Viewを配置するだけだとUnityPlayerが最前面になる - WindowManagerでアプリに重ねて表示する →配信時にパーミションは取っているが視聴時は取ってない ... - 透過したDialogFragmentを使うことで実現
•今後の展望 •Android5,6系のパフォーマンス改善 - 電池使用量が多いので現状対象外(充電中でも30分で10%減る) - 原因調査中。内部で動いているのがSurfaceViewなのが原因か? •リップシンクの精度向上 - 配信時はマイク音声、視聴時はRTMP音声を基にリップシンクしてます •他にもやりたいことが沢山あります!!
現在ゲーム好きなAndroidエンジニアを積極採用中! © 2018 Mirrativ, Inc. 詳細はこちら! https://www.wantedly.com/projects/226247 ◆具体的な業務内容 ・MirrativのAndroidアプリ開発 ◆必須の経験/能
・Java or Kotlinでの Androidアプリ開発経験 ・Mirrativのサービス内容や コンセプト、未来像に共感できる