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
680
アバターライブ配信アプリ「トピア」の開発の話アバターライブ配信アプリ「トピア」の開発の話
トピアのアバター・配信・視聴・開発の苦労話など幅広い内容が含まれています
Moomo
August 24, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
CursorはMCPを使った方が良いぞ
taigakono
1
190
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
540
Team operations that are not burdened by SRE
kazatohiei
1
260
A2A プロトコルを試してみる
azukiazusa1
2
1.2k
関数型まつりレポート for JuliaTokai #22
antimon2
0
160
ReadMoreTextView
fornewid
1
480
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
1
700
VS Code Update for GitHub Copilot
74th
1
420
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
580
Select API from Kotlin Coroutine
jmatsu
1
190
今ならAmazon ECSのサービス間通信をどう選ぶか / Selection of ECS Interservice Communication 2025
tkikuc
20
3.7k
WindowInsetsだってテストしたい
ryunen344
1
200
Featured
See All Featured
Music & Morning Musume
bryan
46
6.6k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
KATA
mclloyd
29
14k
Code Reviewing Like a Champion
maltzj
524
40k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
Six Lessons from altMBA
skipperchong
28
3.9k
How to Ace a Technical Interview
jacobian
277
23k
A better future with KSS
kneath
239
17k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
The Cost Of JavaScript in 2023
addyosmani
51
8.5k
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Λ