Slide 1

Slide 1 text

ࠨଆͱӈଆͰผͷ΋ͷ͕ ݟ͑ΔΑ͏ʹͯ͠Έͨ ୈճ-PPLJOH(MBTTษڧձ גࣜձࣾΧϒΫߴڮݑҰ

Slide 2

Slide 2 text

ΧϒΫͷड෇ʹೖͬͯ͘Δͱʜ

Slide 3

Slide 3 text

ΧϒΫͷड෇ʹೖͬͯ͘Δͱʜ

Slide 4

Slide 4 text

ΧϒΫͷड෇ʹೖͬͯ͘Δͱʜ

Slide 5

Slide 5 text

ΧϒΫͷड෇ʹೖͬͯ͘Δͱʜ

Slide 6

Slide 6 text

ࡢ೥य़ʹ-PPLJOH(MBTTΛձࣾͰߪೖ w %ͷσʔλΛѻ͏ձࣾͳΜ͔ͩΒड෇ʹஔ͍͓ͯ͘ͱө͑ΔͷͰ͸ w ͱཧ༝Λ͚ͭͯ-BSHFߪೖͷ᜛ٞΛ௨ͯ͠΋Βͬͨ w ʢ%ͷσʔλ͕Ξοϓϩʔυ͞ΕΔͱଈ࣌ݟੵ΋ΓΛग़͢Α͏ͳ੡଄ۀ޲͚ αʔϏε΍ίϯγϡʔϚʔ޲͚αʔϏεΛ΍ͬͯ·͢ʣ

Slide 7

Slide 7 text

Ͱ΋୯७ʹ%ϞσϧΛग़ͯ͠ճ͢ఔ౓Ͱ ͸ͭ·Βͳ͍͠ʜͱࢥ͍ͬͯͨͱ͜Ζ

Slide 8

Slide 8 text

ώϯτ͸-PPL`JO#BTFCBMM w ώϯτΛٻΊͯୈճ-PPLJOH(MBTTϋο Χιϯͷ੒Ռలࣔձ΁ʢࡢ೥݄೔ʣ w ӈͱࠨͰҟͳΔࢹ఺ͷ΋ͷΛݟͤΔ͜ͱ͕ Ͱ͖Δͱ͸ʜ w ͦΜͳ͜ͱ΋Ͱ͖Δͷ͔ʂͱ͍͏িܸ IUUQTUXJUUFSDPNLFO@UBLBTUBUVT

Slide 9

Slide 9 text

Ͳ͏΍͍ͬͯΔͷ͔ͨͣͶΔͱʜ w ʮ-PPLJOH(MBTTͷ6OJUZ༻4%,ʹखΛೖΕͨʯͱͷ͜ͱ w ͳΔ΄ͲʜͦΕͳΒࣗ෼ʹ΋Ͱ͖ͦ͏

Slide 10

Slide 10 text

݄຤ʹΑ͏΍࣮͘෺͕ಧ͍࣮ͯݧ w ΍Γ͔ͨͬͨͷ͸ෳ਺ͷࢹ఺ͱ͍͏ ΑΓ͸ෳ਺ͷϞσϧΛݟͤΔ͜ͱ w ӈ͸௨ৗͷϞσϧɺࠨ͸εέϧτ ϯͱ͔΍ΕͨΒ໘നͦ͏ʜ w ࣗ෼ͳΓͷํ๏Ͱ4%,಺ͷεΫϦ ϓτΛϋοΫͯ͠Έ·ͨ͠ w ͜ΕΛݟͨಉ྅ͷײ૝ w ʮγϡϨʔσΟϯΨʔͷೣʁʯ IUUQTUXJUUFSDPNLFO@UBLBTUBUVT

Slide 11

Slide 11 text

࣮૷ํ๏ )PMP1MBZ

Slide 12

Slide 12 text

-PPLJOH(MBTTͷཱମࢹͷ࢓૊Έ w ϑϨʔϜ͋ͨΓɺࠨӈͷํ޲ʹͷࢹ఺Ͱ ϨϯμϦϯά w ͦΕΛ࣮ߦ͍ͯ͠Δ৔ॴΛ୳͢

Slide 13

Slide 13 text

-PPLJOH(MBTTΛ࢖͏ࡍͷγʔϯ w )PMPQMBZ 4DSJQU ίϯϙʔωϯτ͕૊Έࠐ ·Ε͍ͯΔ

Slide 14

Slide 14 text

)PMPQMBZDTΛ։͘ͱ w "TTFUT)PMPQMBZ4DSJQUT)PMPQMBZDT w QVCMJDWPJE3FOEFS2VJMUͱ͍͏ϝιου͕ ͋Γɺࢹ఺਺ʢRVJMU4FUUJOHTOVN7JFXTʣ ෼ͷϧʔϓΛ͍ͯ͠ΔՕॴ͕͋Δ w ࠨӈํ޲ʹࢹ఺ΛͣΒ͠ͳ͕ΒϨϯμϦ ϯά 㱺͜͜ʹखΛՃ͑Δ // render the views for (int i = 0; i < quiltSettings.numViews; i++) { if (i % ViewInterpolation != 0 && i != quiltSettings.numViews - 1) continue; // onViewRender if (onViewRender != null) onViewRender.Invoke(this, i); . . . // move the camera var viewMatrix = centerViewMatrix; var projMatrix = centerProjMatrix; float currentViewLerp = 0f; // if numviews is 1, take center view if (quiltSettings.numViews > 1) currentViewLerp = (float)i / (quiltSettings.numViews - 1) - 0.5f; viewMatrix.m03 += currentViewLerp * viewConeSweep; projMatrix.m02 += currentViewLerp * viewConeSweep * projModifier; cam.worldToCameraMatrix = viewMatrix; cam.projectionMatrix = projMatrix; // render and copy the quilt cam.Render(); // copy to quilt CopyViewToQuilt(i, viewRT, quiltRT); CopyViewToQuilt(i, viewRTDepth, quiltRTDepth); . . .

Slide 15

Slide 15 text

)PMPQMBZDTʹखΛՃ͑Δ w ͭͷQVCMJDม਺Λ௥Ճ w ࠨӈผϞσϧදࣔͷ0/0'' w ࠨ໨༻ͷϞσϧͷ(BNF0CKFDU w ӈ໨༻ͷϞσϧͷ(BNF0CKFDU public class Holoplay : MonoBehaviour { // variables public bool splitView = false; public GameObject leftModel; public GameObject rightModel; . . .

Slide 16

Slide 16 text

)PMPQMBZDTʹखΛՃ͑Δ w QVCMJDWPJE3FOEFS2VJMUϝιουʹॲཧ Λ௥Ճ w ࢹ఺਺෼ϧʔϓͷ w લ൒͸ӈ໨༻ϞσϧΛΞΫςΟϒʹ w ޙ൒͸ࠨ໨༻ϞσϧΛΞΫςΟϒʹ // render the views for (int i = 0; i < quiltSettings.numViews; i++) { if (i % ViewInterpolation != 0 && i != quiltSettings.numViews - 1) continue; // onViewRender if (onViewRender != null) onViewRender.Invoke(this, i); if (splitView) { if (i == 0) { leftModel.SetActive(false); rightModel.SetActive(true); } else if (i == quiltSettings.numViews / 2) { leftModel.SetActive(true); rightModel.SetActive(false); } } . .

Slide 17

Slide 17 text

6OJUZͷΤσΟλͰͷઃఆ w QVCMJDม਺Λ௥Ճͨ͜͠ͱͰ૿͑ͨઃఆ߲ ໨ w ࠨӈผϞσϧදࣔͷ0/0'' w ࠨ໨༻ͷϞσϧͷ(BNF0CKFDU w ӈ໨༻ͷϞσϧͷ(BNF0CKFDU

Slide 18

Slide 18 text

6OJUZͷΤσΟλͰͷઃఆ w γʔϯʹ̎ͭͷϞσϧΛ௥Ճ͓ͯ͘͠ w ࠨ༻ͷϞσϧ w ӈ༻ͷϞσϧ w ΠϯεϖΫλʔʹυϥοάˍυϩοϓ w ࠨ༻ͷϞσϧˠ-FGU.PEFM w ӈ༻ͷϞσϧˠ3JHIU.PEFM w 4QMJU7JFXΛ0/

Slide 19

Slide 19 text

ݸ෼ͷࢹ఺Λӈ໨༻ͷϞσϧͰϨϯμϦϯά

Slide 20

Slide 20 text

׬੒ʂ

Slide 21

Slide 21 text

׬੒ʂ

Slide 22

Slide 22 text

׬੒ʂ

Slide 23

Slide 23 text

ษڧձ౰೔ʹలࣔͨ͠΋ͷ

Slide 24

Slide 24 text

ษڧձ౰೔ʹలࣔͨ͠΋ͷ

Slide 25

Slide 25 text

ษڧձ౰೔ʹలࣔͨ͠΋ͷ ಈը͸ͪ͜ΒIUUQTUXJUUFSDPNLFO@UBLBTUBUVT

Slide 26

Slide 26 text

͞ΒͳΔৄࡉ͸ΧϒΫͷ%FWϒϩάͰʂ ΧϒΫͷιϑτ΢ΣΞΤϯδχΞϒϩά IUUQTXXXLBCVLVDPKQEFWFMPQFSTIBDL@MPPLJOH@HMBTT