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
アバターライブ配信アプリ「トピア」の開発の話アバターライブ配信アプリ「トピア」の開発の話
Search
Moomo
August 24, 2019
Programming
0
690
アバターライブ配信アプリ「トピア」の開発の話アバターライブ配信アプリ「トピア」の開発の話
トピアのアバター・配信・視聴・開発の苦労話など幅広い内容が含まれています
Moomo
August 24, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
脱Riverpod?fqueryで考える、TanStack Queryライクなアーキテクチャの可能性
ostk0069
0
570
0から始めるモジュラーモノリス-クリーンなモノリスを目指して
sushi0120
0
210
AI時代の『改訂新版 良いコード/悪いコードで学ぶ設計入門』 / ai-good-code-bad-code
minodriven
24
10k
DataformでPythonする / dataform-de-python
snhryt
0
110
ご注文の差分はこちらですか? 〜 AWS CDK のいろいろな差分検出と安全なデプロイ
konokenj
4
720
商品比較サービス「マイベスト」における パーソナライズレコメンドの第一歩
ucchiii43
0
230
[Codecon - 2025] Como não odiar seus testes
camilacampos
0
100
中級グラフィックス入門~効率的なメッシュレット描画~
projectasura
3
2k
Understanding Kotlin Multiplatform
l2hyunwoo
0
240
What's new in Adaptive Android development
fornewid
0
130
バイブコーディング超えてバイブデプロイ〜CloudflareMCPで実現する、未来のアプリケーションデリバリー〜
azukiazusa1
2
750
オンコール⼊⾨〜ページャーが鳴る前に、あなたが備えられること〜 / Before The Pager Rings
yktakaha4
2
1.2k
Featured
See All Featured
It's Worth the Effort
3n
185
28k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Rails Girls Zürich Keynote
gr2m
95
14k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
770
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Done Done
chrislema
185
16k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Transcript
ΞόλʔϥΠϒ৴ΞϓϦ ʮτϐΞʯͷ։ൃͷ גࣜձࣾ6/#&3&"-ΤϯδχΞ ߴऔହ༸
ࣗݾհ ɾϝΨϕϯνϟʔͱݺΕΔձࣾͰιʔγϟϧήʔϜͷ։ൃʹैࣄ ɾϑϦʔϥϯεͰΦϯϥΠϯ6OJUZߨࢣ ΧδϡΞϧήʔϜͷडୗ։ൃ ɾʹ6/#&3&"-ʹδϣΠϯ ɾτϐΞͷΫϥΠΞϯταΠυͷ։ൃΛ୲ɹˡ/PX $PNQBOZגࣜձࣾ6/#&3&"- 1PTJUJPOऔకɾΤϯδχΞ /BNFߴऔହ༸ʢ͔ͨͱΓ͢ͻΖʣ ɾ౦ژήʔϜγϣʔͰ73ήʔϜʮΞʔςΟϑΝΠτʯΛग़ల
ձࣾհ ɾि̏ʢ݄ɾਫɾۚʣۈɺि̎ϦϞʔτϫʔΫ ɾͪΖΜ ɾٸͳϙϯϙϯϖΠϯʢෲ௧ʣ ɾՆόςർ࿑ ɾؾ͕Βͳ͍ ͳͲཧ༝ͰͷϦϞʔτϫʔΫҠߦʹॊೈʹରԠʂ ۈܗଶ ΦϑΟε ɾכொӺెา̑ͷ'VUVSF5FDI)VC
ਓһ ɾΤϯδχΞ໊̏ɺاը໊ɼσβΠϯ໊̏
ΞϓϦ ɾΞόλʔϥΠϒ৴ʮτϐΞʯΛ։ൃɾӡӦதʂ ɾڈ݄̍̌ʹϦϦʔεʂ ɾଟ࠼ͳΞόλʔϝΠΩϯάػೳɾΧϥΦέ දɾϞʔγϣϯΤϞʔτΛ༻͍ͨ৴ػೳ
։ൃද ։ൃ։࢝ڈͷ݄̍ʢΤϯδχΞ໊̍ʣ ॳڈͷ݄̔ͷϦϦʔεΛࢦ͍͕ͯͨ͠։ൃ͕ΕΔ ڈͷ݄̍̌ϦϦʔε ΞόλʔΛ༻͍ͨϥΠϒ৴ܕͷίϛϡχςΟΞϓϦΛࢦ͍ͯ͠ ͕ͨࠓʹೖͬͯ̍ରଟͷ͛મܕϥΠϒ৴ΞϓϦʹϐϘοτ ݄̐ʹ՝ۚɾΪϑτػೳΛ࣮ ݄̓ʹΞόλʔͷେ෯ΫΦϦςΟΞοϓɾΧϥΦέػೳͷࡌ ݄̔ʹେ෯ͳύϑΥʔϚϯεվળ
ຊͷΞδΣϯμ Ξόλʔ ணͤସ͑ ΧϥʔόϦΤʔγϣϯ දτϥοΩϯά ϦοϓγϯΫɾͷಈ͖
৴ɾࢹௌ νϟοτɾΪϑτͷಉظ දɾମಈ͖ͷಉظ ։ൃͷۤ࿑͠ ࠓޙͷల
Ξόλʔ
Ξόλʔணͤସ͑ τϐΞ༷ʑͳணͤସ͑Λߦ͏ࣄ͕Ͱ͖Δ ݱࡏ̍̌Օॴͷணͤସ͕͑Մೳ τοϓε ϘτϜε ܕʢલɾޙΖʣ එໟ ඓ ޱ ۺ
ۺԼ ϔουΞΫηαϦʢΧνϡʔγϟʣ ϑΣΠεΞΫηαϦ
Ξόλʔணͤସ͑ Ξόλʔͷணͤସ͑ͷ։ൃΛߦͬͨܦݧ͕ͳ͔ͬͨ Ͳ͏ͬͨΒ࣮Ͱ͖Δ͔ ։ൃॳʜ ͱΓ͋͑ͣԿߟ͑ͣʹணͤସ͑ͷ෦ҐͷΦϒδΣΫτΛࠩ͠ସ͑ͯΈΔʜ ݁Ռɺ͜ͷํ๏Ͱ͏·͘ߦ͔ͣɾɾɾ
Ξόλʔணͤସ͑ %ΞόλʔϞσϧͷओͳߏཁૉ Ϙʔϯ ϙϦΰϯ ςΫενϟ
Ξόλʔணͤସ͑ Ϙʔϯͷಈ͖ϙϦΰϯʹӨڹΛ༩͑Δ ணͤସ͑ରͷ̏%ϞσϧͷϙϦΰϯʹରͯ͠ϘʔϯͷࢀরεΫϦϓτͰઃఆ
ΞόλʔΧϥʔόϦΤʔγϣϯ τϐΞͷΞόλʔΞΠςϜͷΧϥʔόϦΤʔγϣϯͷಛ ΞΠςϜ̍ʹ͖ͭ࠷େ̏Օॴ·Ͱ৭มߋՄೳ άϥσʔγϣϯදݱՄೳ
ΞόλʔΧϥʔόϦΤʔγϣϯ Ͳ͏͍ͬͯΔ͔ɾɾɾ ςΫενϟ 3(#ϚεΫςΫενϟ ̎ຕͷςΫενϟΛ༻ҙ
ΞόλʔΧϥʔόϦΤʔγϣϯ ςΫενϟͱ3(#ϚεΫςΫενϟ ΛॏͶΔͱʜ ৭มߋ͍ͨ͠෦Λ3(#ͷࡾ৭ͰృΓͭͿ͢ γΣʔμʔଆͰ3(#ςΫενϟΛݩʹ৭มߋ ෦ҐΛఆ Χϥʔ̍
Χϥʔ̎ ੨Χϥʔ̏
ΞόλʔΧϥʔόϦΤʔγϣϯ άϥσʔγϣϯ͕͍ͭͨ3(#ϚεΫςΫενϟΛ༻ҙ͢Δͱɾɾɾ
ΞόλʔදτϥοΩϯά τϥοΩϯάө෦Ґ إͷ֯ ޱ එໟ
ΞόλʔදτϥοΩϯά إͷಛݕग़6-4'BDF5SBDLFSΛ༻
ΞόλʔදτϥοΩϯά ͷ෦ҐΛݕग़Մೳ
ΞόλʔදτϥοΩϯά ݕग़ͨ͠ಛΛղੳ إͷ֯4%,ଆ͔ΒऔಘՄೳ ޱඑໟಛͷڑΛଌΔ ڑσʔλͷՃॲཧ εϜʔδϯά εϨογϣϧυ
ϊΠζআڈ إͷճసิਖ਼
ΞόλʔදτϥοΩϯά ಛͷөɾௐ༻ΤσΟλΛ6OJUZͷ&EJUPS֦ுػೳͰ࡞
ΞόλʔϦοϓγϯΫɾͷಈ͖ <Ϣʔβʔ͔Βͷใࠂ>͕͙͘͢ͳΔɻΞϓϦ͕ॏ͍ɻ ˠϑϩϯτΧϝϥΛৗ࣌ىಈͤͯ͞إೝ͍ࣝͤͯ͞Δͷ͕ॏͦ͏ ˠϑΣΠετϥοΩϯάΛΘͣʹΞόλʔͷදΛදݱ͢Δํ๏Λࡧ͢Δ
ΞόλʔϦοϓγϯΫ ·ͣ৭ʑͱࢼ͢ - OVRLipsync : Oculus͕։ൃͨ͠ϦοϓγϯΫΞηοτɺԻݕग़ Λߦͬͯࢦఆͨ͠BlendShapeʹͷөΛߦͬͯ͘ΕΔ༏Εͨػೳ Λ࣋ͭ →ػೳతʹ༏Ε͍͕ͯͨAndroid͔͠ରԠ͓ͯ͠ΒͣɺԆཱ͕ͬ ͨͷͰϦΞϧλΠϜͳϦοϓγϯΫʹ͔ͣ…
ΞόλʔϦοϓγϯΫ - Salsa LipSync : UnityͷΞηοτετΞ͔ΒߪೖՄೳͰධՁׂͱ ྑ͍ɻϚΠΫ͔ΒरͬͨԻྔͷڧऑͰޱͷ։ด߹͍ΛௐͰ͖ Δɻ →ԻͷมԽʢ͍͋͏͓͑ʣΛݕग़ͯ͘͠Εͳ͍ͷͰɺৗʹޱ͕։
͖ͬͺͳ͠ʹͳΔɻOVRLipSync΄ͲͰͳ͍͕Ԇ͕ൃੜ͢Δɻ
ΞόλʔϦοϓγϯΫ ํͳ͍ͷͰࣗ࡞͢Δ - ԻྔԻ৴༻ͷSDKΛ௨ͯ͠ωΠςΟϒଆ͔Βऔಘ - Իղੳ·ͰͰ͖ͳ͔ͬͨͷͰɺԻྔܗΛղੳ͠ɺԻͷ۟ ΕΛఆ͢Δ - Իྔͷޯ͕ҰఆҎ্ͩͱޱΛด͍ͯ͡Δͱఆ
- ҰఆԻྔҎԼޱͷಈ͖ʹө͠ͳ͍
Ξόλʔͷಈ͖ -Χϝϥઢ -ॠ͖ʢύνʣΛࣗಈతʹߦ͏ -ϥϯμϜͰ̎ճ࿈ଓॠ͖ -ඍࡉ؟ٿӡಈ - ΑΓੜ͖͍ͯΔײΛදݱ͢Δ
৴ɾࢹௌ
৴ɾࢹௌ Իͷ৴ɾࢹௌ෦ͷΠϯϑϥBHPSBJPͷαʔϏεΛར༻ 6OJUZ༻ͷ4%,ఏڙ͞Ε͓ͯΓɺؾܰʹө૾ɾԻ৴Λ։ൃͰ͖Δ༏Εͷ
Ξόλʔͷಉظ ௨ৗͷϥΠϒ৴ΞϓϦө૾ετϦʔϛϯάํࣜͰ৴ߦ͍ͬͯΔͷͰࢹௌ ऀଆͷ௨৴ڥ͕ѱ͍ͱը࣭͕མͪͯ͠·͏ τϐΞͰΞόλʔࢹௌऀɾ৴ऀͦΕͧΕੜͨ͠ͷʹإͷಛσʔ λΛಉظ͍ͯ͠ΔͰ௨৴ڥ͕ѱͯ͘ը࣭͕མͪͳ͍ ৴ऀଆ ࢹௌऀଆ
νϟοτɾΪϑτͷಉظ νϟοτɾΪϑτͷಉظ'JSFCBTFͷ3FBMUJNF%#Λར༻ 6OJUZ༻ͷ4%,͕༻ҙ͞Ε͓ͯΓɺԆͰ͓खܰʹ νϟοτͷσʔλΛಉظͰ͖Δ
։ൃͷۤ࿑͠
ΞϓϦͷ࣭վળ ϦϦʔεॳෆ۩߹͕େྔʹൃੜ ΞϓϦͷΫϥογϡͷසൃ ৴͕ಥવऴྃ͢Δ ࢹௌϦετ͕৴͕දࣔ͞Εͳ͍ ΞϓϦ͕ॏ͗ͯ͢·ͱʹ༡ͳ͍ ͳͲͳͲʜ ݪҼ༷ʑ ϦϦʔεεέδϡʔϧͷΕ
͋ΓݱͷযΓ͕։ൃ࣭ͷ Լʹʜ ࣮ྃˠ֬ೝϑϩʔ͕ͬ ͍ͯͳ͔ͬͨ όάϨϙʔτͷӡ༻͕Ͱ͖ͯ ͍ͳ͔ͬͨ
ΞϓϦͷ࣭վળ #VHTOBHΛಋೖ͠ൃੜසͷߴ͍όάͷൃݟ ͲͷϢʔβʔͰى͖ͨόά͔ όάͷൃੜ݅ Ϋϥογϡͷ༗ແ όάൃੜ࣌ͷελοΫτϨʔε ΤϯδχΞ͕࣮ͨ͠ͷνέοτ୯ҐͰඞͣνΣοΫϑϩʔΛ௨ͯ֬͠ೝͯ͠Β ͏Α͏ϧʔϧԽ ༷ܾΊ ࣮
֬ೝ ϦϦʔε
ΞϓϦͷ࣭վળ ͔֬ͳվળޮՌʜJ04ͷඇΫϥογϡ͕ˋۙ͘·Ͱ౸ୡ
ΞϓϦͷ࣭վળ ύϑΥʔϚϯεվળ $16ෛՙओʹ6OJUZͷ1SPpMFSͰ֬ೝ͢Δ
ࠓޙͷల
ࠓޙͷల Ξόλʔͷදݱͷ෯Λߋʹ৳͍͖ͯ͠·͢ʂ 6*ͷϞοαϦײΛղফ͠ɺΑΓշదʹ͑ΔΞϓϦΛࢦ͠·͢ʂ ΧϥΦέػೳΛॆ࣮͍ͤͯ͘͞༧ఆʂ ҰॹʹτϐΞΛΓ্͛ͯ։ൃ͢ΔؒΛઈࢍืूதͰ͢ʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ ྑ͖6OJUZ-JGFΛ