Upgrade to Pro — share decks privately, control downloads, hide ads and more …

アバターライブ配信アプリ「トピア」の開発の話アバターライブ配信アプリ「トピア」の開発の話

Moomo
August 24, 2019

 アバターライブ配信アプリ「トピア」の開発の話アバターライブ配信アプリ「トピア」の開発の話

トピアのアバター・配信・視聴・開発の苦労話など幅広い内容が含まれています

Moomo

August 24, 2019
Tweet

Other Decks in Programming

Transcript

  1. ΞόλʔϥΠϒ഑৴ΞϓϦ
    ʮτϐΞʯͷ։ൃͷ࿩
    גࣜձࣾ6/#&3&"-ΤϯδχΞ
    ߴऔହ༸

    View Slide

  2. ࣗݾ঺հ
    ɾ๭ϝΨϕϯνϟʔͱݺ͹ΕΔձࣾͰιʔγϟϧήʔϜͷ։ൃʹैࣄ
    ɾϑϦʔϥϯεͰΦϯϥΠϯ6OJUZߨࢣΧδϡΞϧήʔϜͷडୗ։ൃ
    ɾ೥ʹ6/#&3&"-ʹδϣΠϯ
    ɾτϐΞͷΫϥΠΞϯταΠυͷ։ൃΛ୲౰ɹˡ/PX
    $PNQBOZגࣜձࣾ6/#&3&"-
    1PTJUJPOऔక໾ɾΤϯδχΞ
    /BNFߴऔହ༸ʢ͔ͨͱΓ΍͢ͻΖʣ
    ɾ౦ژήʔϜγϣʔͰ73ήʔϜʮΞʔςΟϑΝΠτʯΛग़ల

    View Slide

  3. ձࣾ঺հ
    ɾि̏ʢ݄ɾਫɾۚʣۈ຿ɺि̎ϦϞʔτϫʔΫ
    ɾ΋ͪΖΜ
    ɾٸͳϙϯϙϯϖΠϯʢෲ௧ʣ
    ɾՆόςർ࿑
    ɾؾ෼͕৐Βͳ͍
    ͳͲཧ༝ͰͷϦϞʔτϫʔΫҠߦʹ΋ॊೈʹରԠʂ
    ۈ຿ܗଶ
    ΦϑΟε
    ɾכ৔ொӺెา̑෼ͷ'VUVSF5FDI)VC
    ਓһ
    ɾΤϯδχΞ໊̏ɺاը໊ɼσβΠϯ໊̏

    View Slide

  4. ΞϓϦ
    ɾΞόλʔϥΠϒ഑৴ʮτϐΞʯΛ։ൃɾӡӦதʂ
    ɾڈ೥݄̍̌຤ʹϦϦʔεʂ
    ɾଟ࠼ͳΞόλʔϝΠΩϯάػೳɾΧϥΦέ
    ද৘ɾϞʔγϣϯΤϞʔτΛ༻͍ͨ഑৴ػೳ

    View Slide

  5. ։ൃ೥ද
    ։ൃ։࢝͸ڈ೥ͷ݄̍ʢΤϯδχΞ໊̍ʣ
    ౰ॳ͸ڈ೥ͷ݄̔ͷϦϦʔεΛ໨ࢦ͍͕ͯͨ͠։ൃ͕஗ΕΔ
    ڈ೥ͷ݄̍̌຤ϦϦʔε
    ΞόλʔΛ༻͍ͨϥΠϒ഑৴ܕͷίϛϡχςΟΞϓϦΛ໨ࢦ͍ͯ͠
    ͕ͨࠓ೥ʹೖͬͯ̍ରଟͷ౤͛મܕϥΠϒ഑৴ΞϓϦʹϐϘοτ
    ݄̐ʹ՝ۚɾΪϑτػೳΛ࣮૷
    ݄̓ʹΞόλʔͷେ෯ΫΦϦςΟΞοϓɾΧϥΦέػೳͷ౥ࡌ
    ݄̔ʹେ෯ͳύϑΥʔϚϯεվળ

    View Slide

  6. ຊ೔ͷΞδΣϯμ
    Ξόλʔ
    ணͤସ͑
    ΧϥʔόϦΤʔγϣϯ
    ද৘τϥοΩϯά
    ϦοϓγϯΫɾ໨ͷಈ͖
    ഑৴ɾࢹௌ
    νϟοτɾΪϑτ౳ͷಉظ
    ද৘ɾ਎ମಈ͖ͷಉظ
    ։ൃͷۤ࿑࿩͠
    ࠓޙͷల๬

    View Slide

  7. Ξόλʔ

    View Slide

  8. Ξόλʔணͤସ͑
    τϐΞ͸༷ʑͳணͤସ͑Λߦ͏ࣄ͕Ͱ͖Δ
    ݱࡏ͸໿̍̌Օॴͷணͤସ͕͑Մೳ
    τοϓε
    ϘτϜε
    ൅ܕʢલ൅ɾޙΖ൅ʣ
    එໟ

    ޱ
    ۺ
    ۺԼ
    ϔουΞΫηαϦʢΧνϡʔγϟʣ
    ϑΣΠεΞΫηαϦ

    View Slide

  9. Ξόλʔணͤସ͑
    Ξόλʔͷணͤସ͑ͷ։ൃΛߦͬͨܦݧ͕ͳ͔ͬͨ
    Ͳ͏΍ͬͨΒ࣮૷Ͱ͖Δ͔
    ։ൃ౰ॳʜ
    ͱΓ͋͑ͣԿ΋ߟ͑ͣʹணͤସ͑ͷ෦ҐͷΦϒδΣΫτΛࠩ͠ସ͑ͯΈΔʜ
    ݁Ռɺ͜ͷํ๏Ͱ͸͏·͘ߦ͔ͣɾɾɾ

    View Slide

  10. Ξόλʔணͤସ͑
    %ΞόλʔϞσϧͷओͳߏ੒ཁૉ
    Ϙʔϯ
    ϙϦΰϯ
    ςΫενϟ

    View Slide

  11. Ξόλʔணͤସ͑
    Ϙʔϯͷಈ͖͸ϙϦΰϯʹӨڹΛ༩͑Δ
    ணͤସ͑ର৅ͷ̏%ϞσϧͷϙϦΰϯʹରͯ͠ϘʔϯͷࢀরεΫϦϓτͰઃఆ

    View Slide

  12. ΞόλʔΧϥʔόϦΤʔγϣϯ
    τϐΞͷΞόλʔΞΠςϜͷΧϥʔόϦΤʔγϣϯͷಛ௃
    ΞΠςϜ̍ʹ͖ͭ࠷େ̏Օॴ·Ͱ৭มߋՄೳ
    άϥσʔγϣϯ΋දݱՄೳ

    View Slide

  13. ΞόλʔΧϥʔόϦΤʔγϣϯ
    Ͳ͏΍͍ͬͯΔ͔ɾɾɾ
    ςΫενϟ 3(#ϚεΫςΫενϟ
    ̎ຕͷςΫενϟΛ༻ҙ

    View Slide

  14. ΞόλʔΧϥʔόϦΤʔγϣϯ
    ςΫενϟͱ3(#ϚεΫςΫενϟ
    ΛॏͶΔͱʜ
    ৭มߋ͍ͨ͠෦෼Λ3(#ͷࡾ৭ͰృΓͭͿ͢
    γΣʔμʔଆͰ3(#ςΫενϟΛݩʹ৭มߋ
    ෦ҐΛ൑ఆ
    ੺͸Χϥʔ̍
    ྘͸Χϥʔ̎
    ੨͸Χϥʔ̏

    View Slide

  15. ΞόλʔΧϥʔόϦΤʔγϣϯ
    άϥσʔγϣϯ͕͍ͭͨ3(#ϚεΫςΫενϟΛ༻ҙ͢Δͱɾɾɾ

    View Slide

  16. Ξόλʔද৘τϥοΩϯά
    τϥοΩϯά൓ө෦Ґ
    إͷ֯౓
    ޱ

    එໟ

    View Slide

  17. Ξόλʔද৘τϥοΩϯά
    إͷಛ௃఺ݕग़͸6-4'BDF5SBDLFSΛ࢖༻

    View Slide

  18. Ξόλʔද৘τϥοΩϯά
    ఺ͷ෦ҐΛݕग़Մೳ

    View Slide

  19. Ξόλʔද৘τϥοΩϯά
    ݕग़ͨ͠ಛ௃఺Λղੳ
    إͷ֯౓4%,ଆ͔ΒऔಘՄೳ
    ໨ޱඑໟಛ௃఺ͷڑ཭ΛଌΔ
    ڑ཭σʔλͷՃ޻ॲཧ
    εϜʔδϯά
    εϨογϣϧυ
    ϊΠζআڈ
    إͷճసิਖ਼

    View Slide

  20. Ξόλʔද৘τϥοΩϯά
    ಛ௃఺ͷ൓өɾௐ੔༻ΤσΟλΛ6OJUZͷ&EJUPS֦ுػೳͰ࡞੒

    View Slide

  21. ΞόλʔϦοϓγϯΫɾ໨ͷಈ͖
    <Ϣʔβʔ͔Βͷใࠂ>୺຤͕͙͢೤͘ͳΔɻΞϓϦ͕ॏ͍ɻ
    ˠϑϩϯτΧϝϥΛৗ࣌ىಈͤͯ͞إೝ͍ࣝͤͯ͞Δͷ͕ॏͦ͏
    ˠϑΣΠετϥοΩϯάΛ࢖ΘͣʹΞόλʔͷද৘Λදݱ͢Δํ๏Λ໛ࡧ͢Δ

    View Slide

  22. ΞόλʔϦοϓγϯΫ
    ·ͣ৭ʑͱࢼ͢
    - OVRLipsync : Oculus͕։ൃͨ͠ϦοϓγϯΫΞηοτɺ฼Իݕग़
    Λߦͬͯࢦఆͨ͠BlendShapeʹ஋ͷ൓өΛߦͬͯ͘ΕΔ༏Εͨػೳ
    Λ࣋ͭ
    →ػೳతʹ͸༏Ε͍͕ͯͨAndroid͔͠ରԠ͓ͯ͠Βͣɺ஗Ԇ͕໨ཱͬ
    ͨͷͰϦΞϧλΠϜͳϦοϓγϯΫʹ͸޲͔ͣ…

    View Slide


  23. ΞόλʔϦοϓγϯΫ
    - Salsa LipSync : UnityͷΞηοτετΞ͔ΒߪೖՄೳͰධՁ͸ׂͱ
    ྑ͍ɻϚΠΫ͔ΒरͬͨԻྔͷڧऑͰޱͷ։ด౓߹͍Λௐ੔Ͱ͖
    Δɻ
    →฼ԻͷมԽʢ͍͋͏͓͑ʣΛݕग़ͯ͘͠Εͳ͍ͷͰɺৗʹޱ͕։
    ͖ͬͺͳ͠ʹͳΔɻOVRLipSync΄ͲͰ͸ͳ͍͕஗Ԇ͕ൃੜ͢Δɻ

    View Slide


  24. ΞόλʔϦοϓγϯΫ
    ࢓ํͳ͍ͷͰࣗ࡞͢Δ
    - Իྔ͸Ի੠഑৴༻ͷSDKΛ௨ͯ͠ωΠςΟϒଆ͔Βऔಘ
    - ฼Իղੳ·Ͱ͸Ͱ͖ͳ͔ͬͨͷͰɺԻྔ೾ܗΛղੳ͠ɺ฼Իͷ۟੾
    ΕΛ൑ఆ͢Δ
    - Իྔͷޯ഑͕ҰఆҎ্ͩͱޱΛด͍ͯ͡Δͱ൑ఆ
    - ҰఆԻྔҎԼ͸ޱͷಈ͖ʹ൓ө͠ͳ͍

    View Slide


  25. Ξόλʔ໨ͷಈ͖
    -Χϝϥ໨ઢ
    -ॠ͖ʢ໨ύνʣΛࣗಈతʹߦ͏
    -ϥϯμϜͰ̎ճ࿈ଓॠ͖
    -ඍࡉ؟ٿӡಈ
    - ΑΓੜ͖͍ͯΔײΛදݱ͢Δ

    View Slide

  26. ഑৴ɾࢹௌ

    View Slide

  27. ഑৴ɾࢹௌ
    Ի੠ͷ഑৴ɾࢹௌ෦෼ͷΠϯϑϥ͸BHPSBJPͷαʔϏεΛར༻
    6OJUZ༻ͷ4%,΋ఏڙ͞Ε͓ͯΓɺؾܰʹө૾ɾԻ੠഑৴Λ։ൃͰ͖Δ༏Ε΋ͷ

    View Slide

  28. Ξόλʔͷಉظ
    ௨ৗͷϥΠϒ഑৴ΞϓϦ͸ө૾ετϦʔϛϯάํࣜͰ഑৴ߦ͍ͬͯΔͷͰࢹௌ
    ऀଆͷ௨৴؀ڥ͕ѱ͍ͱը࣭͕མͪͯ͠·͏
    τϐΞͰ͸Ξόλʔ͸ࢹௌऀɾ഑৴ऀͦΕͧΕੜ੒ͨ͠΋ͷʹإͷಛ௃఺σʔ
    λΛಉظ͍ͯ͠ΔͰ௨৴؀ڥ͕ѱͯ͘΋ը࣭͕མͪͳ͍
    ഑৴ऀଆ ࢹௌऀଆ

    View Slide

  29. νϟοτɾΪϑτ౳ͷಉظ
    νϟοτɾΪϑτͷಉظ͸'JSFCBTFͷ3FBMUJNF%#Λར༻
    6OJUZ༻ͷ4%,͕༻ҙ͞Ε͓ͯΓɺ௿஗ԆͰ͓खܰʹ
    νϟοτ౳ͷσʔλΛಉظͰ͖Δ

    View Slide

  30. ։ൃͷۤ࿑࿩͠

    View Slide

  31. ΞϓϦͷ඼࣭վળ
    ϦϦʔε౰ॳ͸ෆ۩߹͕େྔʹൃੜ
    ΞϓϦͷΫϥογϡͷසൃ
    ഑৴͕ಥવऴྃ͢Δ
    ࢹௌϦετ͕഑৴͕දࣔ͞Εͳ͍
    ΞϓϦ͕ॏ͗ͯ͢·ͱ΋ʹ༡΂ͳ͍
    ͳͲͳͲʜ
    ݪҼ͸༷ʑ
    ϦϦʔεεέδϡʔϧͷ஗Ε΋
    ͋Γݱ৔ͷযΓ͕։ൃ඼࣭ͷ
    ௿Լʹʜ
    ࣮૷׬ྃˠ֬ೝϑϩʔ͕੔ͬ
    ͍ͯͳ͔ͬͨ
    όάϨϙʔτͷӡ༻͕Ͱ͖ͯ
    ͍ͳ͔ͬͨ

    View Slide

  32. ΞϓϦͷ඼࣭վળ
    #VHTOBHΛಋೖ͠ൃੜස౓ͷߴ͍όάͷൃݟ
    ͲͷϢʔβʔͰى͖ͨόά͔
    όάͷൃੜ݅਺
    Ϋϥογϡͷ༗ແ
    όάൃੜ࣌ͷελοΫτϨʔε
    ΤϯδχΞ͕࣮૷ͨ͠΋ͷ͸νέοτ୯ҐͰඞͣνΣοΫϑϩʔΛ௨ͯ֬͠ೝͯ͠΋Β
    ͏Α͏ϧʔϧԽ
    ࢓༷ܾΊ ࣮૷ ֬ೝ ϦϦʔε

    View Slide

  33. ΞϓϦͷ඼࣭վળ
    ͔֬ͳվળޮՌʜJ04ͷඇΫϥογϡ཰͕ˋۙ͘·Ͱ౸ୡ

    View Slide

  34. ΞϓϦͷ඼࣭վળ
    ύϑΥʔϚϯεվળ
    $16ෛՙ͸ओʹ6OJUZͷ1SPpMFSͰ֬ೝ͢Δ

    View Slide

  35. ࠓޙͷల๬

    View Slide

  36. ࠓޙͷల๬
    Ξόλʔͷදݱͷ෯Λߋʹ৳͹͍͖ͯ͠·͢ʂ
    6*ͷϞοαϦײΛղফ͠ɺΑΓշదʹ࢖͑ΔΞϓϦΛ໨ࢦ͠·͢ʂ
    ΧϥΦέػೳΛॆ࣮͍ͤͯ͘͞༧ఆʂ
    ҰॹʹτϐΞΛ੝Γ্͛ͯ։ൃ͢Δ஥ؒΛઈࢍืूதͰ͢ʂ

    View Slide

  37. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠
    ྑ͖6OJUZ-JGFΛ

    View Slide