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
700
アバターライブ配信アプリ「トピア」の開発の話アバターライブ配信アプリ「トピア」の開発の話
トピアのアバター・配信・視聴・開発の苦労話など幅広い内容が含まれています
Moomo
August 24, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
Tool Catalog Agent for Bedrock AgentCore Gateway
licux
6
2.3k
Rancher と Terraform
fufuhu
2
240
Putting The Genie in the Bottle - A Crash Course on running LLMs on Android
iurysza
0
140
AIと私たちの学習の変化を考える - Claude Codeの学習モードを例に
azukiazusa1
8
3.5k
CJK and Unicode From a PHP Committer
youkidearitai
PRO
0
110
Vue・React マルチプロダクト開発を支える Vite
andpad
0
110
Kiroで始めるAI-DLC
kaonash
2
580
プロパティベーステストによるUIテスト: LLMによるプロパティ定義生成でエッジケースを捉える
tetta_pdnt
0
300
AI Coding Agentのセキュリティリスク:PRの自己承認とメルカリの対策
s3h
0
200
「待たせ上手」なスケルトンスクリーン、 そのUXの裏側
teamlab
PRO
0
490
MCPでVibe Working。そして、結局はContext Eng(略)/ Working with Vibe on MCP And Context Eng
rkaga
5
2.2k
詳解!defer panic recover のしくみ / Understanding defer, panic, and recover
convto
0
230
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Designing for Performance
lara
610
69k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Git: the NoSQL Database
bkeepers
PRO
431
66k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
The Art of Programming - Codeland 2020
erikaheidi
55
13k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Optimizing for Happiness
mojombo
379
70k
Context Engineering - Making Every Token Count
addyosmani
1
33
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
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Λ