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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
morizooo
August 22, 2018
Programming
860
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Android上でUnityを動かすためのノウハウ / Android with Unity
morizooo
August 22, 2018
More Decks by morizooo
See All by morizooo
Flipperを活用した デバッグ効率化について/flipper
morizooo
0
810
Androidアプリをリアーキテクチャした話/Android-rearchitecture
morizooo
1
220
Mirrativ-android-efforts
morizooo
1
7.6k
消費型課金を導入する / Introduction to consumable In-App Billing
morizooo
0
540
カンファレンスアプリを作ったぞ!! / builderscon tokyo 2017 LT
morizooo
0
3.3k
Other Decks in Programming
See All in Programming
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
6
830
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
270
AIエージェントの隔離技術の徹底比較
kawayu
0
460
AutonomyとControlのあいだ:Graflowで記述するAIエージェント協調
myui
0
110
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
190
さぁV100、メモリをお食べ・・・
nilpe
0
130
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
130
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.1k
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
230
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
610
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
210
AIとASP.NET Coreで雑Webアプリを作った話
mayuki
0
320
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
220
Building an army of robots
kneath
306
46k
How to Ace a Technical Interview
jacobian
281
24k
We Have a Design System, Now What?
morganepeng
55
8.2k
How to build a perfect <img>
jonoalderson
1
5.6k
Building Applications with DynamoDB
mza
96
7.1k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
140
Mobile First: as difficult as doing things right
swwweet
225
10k
Optimizing for Happiness
mojombo
378
71k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
240
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のサービス内容や コンセプト、未来像に共感できる