$30 off During Our Annual Pro Sale. View Details »

360°写真、動画を用いた VR 対応アプリの開発方法

yuky_az
August 20, 2016

360°写真、動画を用いた VR 対応アプリの開発方法

iOSDC 2016で発表した際のスライドです。スマートフォンのVR対応についてお話です。

yuky_az

August 20, 2016
Tweet

More Decks by yuky_az

Other Decks in Programming

Transcript

  1. ˃ࣸਅɺಈըΛ༻͍ͨ
    73ରԠΞϓϦͷ։ൃํ๏
    :VLJOBHB"[VNB
    !ZVLZ@B[
    J04%$+BQBO

    View Slide

  2. ࣗݾ঺հ
    :VLJOBHB"[VNB

    ʢզ࠺޾௕ʣ
    J04ΤϯδχΞ3%
    େֶͷݚڀһɺϝʔΧʔۈ຿ɺϓϩάϥϛϯά
    ߨࢣɺϑϦʔϥϯεΛܦͯɺ%VDLMJOHTגࣜձࣾͰ
    εϚϗ޲͚73"*Λ։ൃத
    !ZVLZ@B[
    TBJJMBCDPN
    ਓ޻஌ೳɺਓ޻ੜ໋ɺੜ෺ֶɺ
    ϓϩάϥϛϯάڭҭɺ

    ϒϥδϦΞϯॊज़
    ଞͷڵຯͷର৅

    View Slide

  3. ൃදͷྲྀΕ
    εϚʔτϑΥϯʹΑΔ73ʹ͍ͭͯ
    ˠҰൠ࿦ɺ໰୊఺ɺΞϓϦ΁ͷཁٻ
    ౓ϥΠϒετϦʔϛϯάΞϓϦͷ։ൃྫ
    ˠΧϝϥରԠɺ).%ରԠɺ࣮૷ํ๏

    View Slide

  4. όʔνϟϧϦΞϦςΟʔ(VR)ͱ͸ʁ
    ޒײ΍૝૾ྗΛܹࢗ͠ɺͦ͜ʹͳ͍΋ͷΛ࡞Γग़͢

    View Slide

  5. VRʹඞཁͳཁૉ
    ྟ৔ײ
    ˠө૾΍Ի੠ͱ਎ମײ֮ͷҰகʹΑΓɺຊ౰ʹͦͷ৔ʹ͍Δ
    Α͏ͳ೴ͷࡨ͕֮ى͖Δ
    շదੑ
    ˠө૾΍Ի੠ͱ਎ମײ֮ͷෆҰகʹΑΓɺ73ਲ͍͕ൃੜ͢Δ

    ͷͰɺ͜ΕΛ௿ݮ͢Δ

    View Slide

  6. εϚʔτϑΥϯʹΑΔVR
    ೋ؟ϔουϚ΢ϯτσΟεϓϨΠ ).%
    ʹεϚϗΛ૷ண
    σόΠεͷ޲͖ͱө૾ͷ޲͖ΛҰகͤ͞Δ

    View Slide

  7. εϚʔτϑΥϯVRͷಛ௃
    ϋΠΤϯυσόΠε
    0DVMVT3JGUɺ)5$7JWFɺ1MBZ4UBUJPO73ɺFUD
    ˠ1$ͱͷ઀ଓ͕ඞཁɺϦιʔεେɺ਎ମҠಈͷݕ஌͕Մೳ
    εϚʔτϑΥϯ
    J1IPOFɺ"OESPJEεϚϗɺFUD
    ˠ1$ͱͷ઀ଓ͸ෆཁɺϦιʔεখɺ਎ମҠಈͷݕ஌͕೉͍͠

    View Slide

  8. ΞϓϦ΁ͷཁٻ
    ྟ৔ײˍշదੑͷͨΊʹ
    ˠߴ͍ϑϨʔϜϨʔτͱɺटͷಈ͖ʹର͢Δө૾ͷ௥ैੑ
    ڑ཭ͷݕ஌͸΄΅ෆՄ

    ˠମͷҠಈͷݕ஌͸೉͍͠ɻ਎ମҐஔΛݻఆͯ͠࢖༻͕લఏ
    Ϧιʔεʹ༨༟͕ͳ͍

    ˠ$16ɺ(16ɺϝϞϦͷແବݣ͍Λۃྗ཈͑Δ

    View Slide

  9. ˃ϥΠϒετϦʔϛϯάΞϓϦͷ։ൃྫ
    )6(73EFHSFFMJWF
    ˃ϥΠϒಈըΛࢹௌɺ).%ରԠ
    ϦΞϧλΠϜͰίϛϡχέʔγϣϯ
    ࢖༻࣮੷

    ˠԻָϥΠϒɺΧϯϑΝϨϯεɺFUD

    ͔ࠃͰͷར༻

    View Slide

  10. ΞϓϦ΁ͷཁٻ
    ϥΠϒதɺϦΞϧλΠϜͰҎԼͷॲཧ͕ൃੜ
    ಈըͷड৴ɺϐΫηϧόοϑΝͷॲཧɺ
    ›ΧϝϥରԠɺ%ඳըɺ
    ϝοηʔδͷૹड৴ɺϞʔγϣϯηϯαɺFUD
    J1IPOFͷੑೳΛϑϧʹҾ͖ग़͢͜ͱ͕ඞཁ

    View Slide

  11. ࣮૷ํ๏ͷબఆ
    (PPHMF734%,
    ˠ࣮૷͕؆୯͕ͩɺΧελϚΠζੑ͕௿͍
    6OJUZ

    ˠϢχόʔαϧͳ։ൃ؀ڥͷͨΊɺ
    J1IPOFͷੑೳΛϑϧʹҾ͖ग़͢ͷ͸೉͍͠

    View Slide

  12. ࣮૷ํ๏ͷબఆ
    4DFOF,JU
    ˠߴϑϨʔϜϨʔτͰͷಈը࠶ੜ͕೉͍͠ɻ
    0QFO(-&4(-,JU

    ˠѻ͍͕೉͍͕͠ɺ
    ύϑΥʔϚϯεΧελϚΠζੑ͕ߴ͍
    ADOPTED

    View Slide


  13. ॲཧͷྲྀΕͷུ֓
    ϥΠϒσʔλͷड৴
    J1IPOFεΫϦʔϯʹඳը
    ಄ͷ޲͖ͷݕग़
    ֤ॲཧ͸ϚϧνεϨουͰ࣮ߦ͞ΕΔ
    ٿͷ಺໘ʹ
    ςΫενϟΛషΓ෇͚
    Ұఆִ࣌ؒؒͰ࣮ߦ
    ࢹઢϕΫτϧͷճస

    View Slide

  14. ςΫενϟͷషΓ෇͚,PEBL41,
    %ม׵Λߦ͍

    ٿͷ಺໘ʹషΓ෇͚Δ
    x = R * sin(φ) * cos(θ)
    y = R * cos(φ)
    z = R * sin(φ) * sin(θ)
    ੾Γൈ͖
    ࠲ඪม׵
    ݩը૾4JOHMFpTIFZF
    D
    8BMUFS
    θ
    φ

    View Slide

  15. ςΫενϟͷషΓ෇͚3JDPI5IFUB4
    ݩը૾%VBMpTIFZF
    %ม׵Λߦ͍ɺͦΕͧΕ

    ൒ٿͷ಺໘ʹషΓ෇͚Δ
    x = R * sin(φ) * cos(θ)
    y = R * sin(φ) * sin(θ)
    z = R * cos(φ)
    ੾Γൈ͖
    ճస
    ࠲ඪม׵

    View Slide

  16. ಄ͷ޲͖ͷݕग़
    MFUNPUJPO.BOBHFS$..PUJPO.BOBHFS

    NPUJPO.BOBHFSEFWJDF.PUJPO6QEBUF*OUFSWBM
    NPUJPO.BOBHFSTUBSU%FWJDF.PUJPO6QEBUFT5P2VFVF /40QFSBUJPO2VFVF


    \ EFWJDF.BOBHFS FSSPS
    JO
    MFUZBXEFWJDF.BOBHFSBUUJUVEFZBX
    MFUQJUDIEFWJDF.BOBHFSBUUJUVEFSPMM
    MFUSPMMEFWJDF.BOBHFSBUUJUVEFQJUDI
    ^
    $PSF.PUJPOΛར༻ͯ͠
    σόΠεͷ޲͖ ಄ͷ޲͖
    Λऔಘ

    View Slide

  17. ࢹઢϕΫτϧͷճస
    D
    +VBOTFNQFSF
    Ψ = yaw
    θ = pitch
    Φ = roll
    ࢹઢϕΫτϧΛճస͠
    ࢹઢͷઌΛεΫϦʔϯʹඳը͢Δ
    ΫΥλʔχΦϯʢ࢛ݩ਺ʣ
    ͷར༻͕ඞཁ

    View Slide

  18. ϚϧνεϨουઃܭ
    ༷ʑͳॲཧΛฒྻͰߦ͍ɺϘτϧωοΫ͕ੜ͡ͳ͍Α͏ʹ͢Δ
    ಈըσʔλͷड৴
    ϐΫηϧόοϑΝͷॲཧ
    ςΫενϟͷషΓ෇͚
    ಄ͷ޲͖ͷݕग़
    ࢹઢϕΫτϧͷઃఆ
    εΫϦʔϯʹඳը
    γϦΞϧΩϡʔ༏ઌ౓௿
    ը໘ͷϦϑϨογϡͱಉظ
    ௨৴ͱಉظ
    γϦΞϧΩϡʔ༏ઌ౓ߴ
    Ϟʔγϣϯηϯαͱಉظ

    View Slide

  19. GPUͷνϡʔχϯά
    %FCVHOBWJHBUPS'14*OTUSVNFOUT0QFO(-&4"OBMZTJT
    ෛՙͷେ͖͍ॲཧ͸ແ͍͔ʁϝογϡͷܗঢ়͸ద੾͔ʁFUD

    View Slide

  20. ࣮ԋಈը -ѱ͍ྫ-
    ϚϧνεϨουͷઃܭ͕ෆద੾
    ύϑΥʔϚϯεͷνϡʔχϯά͕े෼Ͱͳ͍
    ྟ৔ײ͕௿͍ɺ73ਲ͍͕ൃੜɺ୺຤͕ߴԹ

    View Slide

  21. ࣮ԋಈը -ྑ͍ྫ-
    ϚϧνεϨουͷઃܭ͕ద੾
    ύϑΥʔϚϯεͷνϡʔχϯά͕े෼
    ྟ৔ײ͕ߴ͍ɺ73ਲ͍͕ൃੜ͠ͳ͍ɺ୺຤͕ߴԹʹͳΒͳ͍

    View Slide

  22. ·ͱΊ
    ύϑΥʔϚϯεͷ޲্
    ˠ$16ɺ(16ͷ࠷దԽ
    %ඳը
    ˠඳ͖͍ͨΠϝʔδΛ਺ࣜԽ͢Δ
    ྟ৔ײ͕͋ΓɺշదͳεϚʔτϑΥϯ73ͷͨΊʹ
    ϚϧνεϨου
    ˠෳ਺ͷॲཧΛฒߦͯ͠ߦ͍ɺಛఆͷεϨου͕ϘτϧωοΫ
    ʹͳΔͷΛ๷͙

    View Slide