WebXRåç §ç©ºéã®å¢çã«ã€ããŠæ·±ãæãäžãã空éå¢çã®å®çŸ©ãåç §ç©ºéã®çš®é¡ããã¹ããã©ã¯ãã£ã¹ããããŠã€ã³ã¯ã«ãŒã·ãã§ã¢ã¯ã»ã·ãã«ãªXRäœéšãåµé ããããã®èæ ®äºé ã解説ããŸãã
WebXRåç §ç©ºéã®å¢çïŒæ²¡å ¥åäœéšã«ããã空éçå¢çã®å®çŸ©
æ²¡å ¥åã®ãŠã§ãäœéšãåµé ããããã®ãªãŒãã³ã¹ã¿ã³ããŒãã§ããWebXRã¯ãéçºè ã«ãã©ãŠã¶ã§çŽæ¥ãä»®æ³çŸå®ïŒVRïŒããã³æ¡åŒµçŸå®ïŒARïŒã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããåãæäŸããŸããé åçã§å®å šãªXRäœéšãåµé ããäžã§éèŠãªåŽé¢ã¯ãåç §ç©ºéã®å¢çãçè§£ãã广çã«å©çšããããšã§ãããã®ã¬ã€ãã§ã¯ãåç §ç©ºéã®å¢çããã®éèŠæ§ãWebXRã§å©çšå¯èœãªããŸããŸãªçš®é¡ããããŠå®è£ ã®ããã®ãã¹ããã©ã¯ãã£ã¹ã«ã€ããŠå æ¬çãªæŠèŠãæäŸããŸãã
WebXRåç §ç©ºéãšã¯ïŒ
å¢çã«ã€ããŠæãäžããåã«ãåç §ç©ºéãå®çŸ©ããŸããããWebXRã«ãããŠãåç §ç©ºéã¯ãä»®æ³çŸå®ãŸãã¯æ¡åŒµçŸå®ã®ã·ãŒã³ãååšãã座æšç³»ãå®çŸ©ããŸãããªããžã§ã¯ãã®é 眮ããŠãŒã¶ãŒã®åãã®è¿œè·¡ã空éé¢ä¿ã®å®çŸ©ã®ããã®åºæºãã¬ãŒã ãæäŸããŸããããã¯ãXRäœéšå šäœãæ§ç¯ãããåºç€ãšèããŠãã ãããåç §ç©ºéãçè§£ããããšã¯ãã¢ããªã±ãŒã·ã§ã³å ã§çŽæçã§äºæž¬å¯èœãªã€ã³ã¿ã©ã¯ã·ã§ã³ãäœæããããã«äžå¯æ¬ ã§ãã
ãªãåç §ç©ºéã®å¢çã¯éèŠãªã®ãïŒ
åç §ç©ºéã®å¢çã¯ãXRäœéšå ã§ãŠãŒã¶ãŒãå©çšã§ããç©ççãªç©ºéãå®çŸ©ããŸãããããã¯ããã€ãã®éèŠãªç®çãæãããŸãïŒ
- ãŠãŒã¶ãŒã®å®å šæ§ïŒãã¬ã€ãšãªã¢ã®å¢çãå®çŸ©ããããšã§ããŠãŒã¶ãŒãçŸå®äžçã®ãªããžã§ã¯ããå£ããã®ä»ã®å±éºç©ãšç©ççã«è¡çªããã®ãé²ããŸããããã¯ããŠãŒã¶ãŒãèªç±ã«åãåãã«ãŒã ã¹ã±ãŒã«ã®VRäœéšã«ãããŠç¹ã«éèŠã§ããã²ãŒã ã«å€¢äžã«ãªã£ããŠãŒã¶ãŒãçªç¶ã³ãŒããŒããŒãã«ã«æ©ããŠããã®ãæ³åããŠã¿ãŠãã ãããå¢çãå®çŸ©ããããšã§ãããé²ããŸãã
- çŽæçãªããã²ãŒã·ã§ã³ïŒå¢çã¯ããŠãŒã¶ãŒãä»®æ³ç°å¢ã®éçãçè§£ããã®ã«åœ¹ç«ã€èŠèŠçãªæããããæäŸããŸããããã«ããããŠãŒã¶ãŒã¯ããèªä¿¡ãæã£ãŠç©ºéãããã²ãŒãããæå³ããã€ã³ã¿ã©ã¯ã·ã§ã³ãšãªã¢ãã誀ã£ãŠå€ã«åºãããšãé¿ããããšãã§ããŸããããããªèŠèŠçãªã°ãªãããè²ä»ãã®ã¢ãŠãã©ã€ã³ã倧ããªéããçã¿ãŸãã
- äžè²«ããäœéšïŒå¢çãäžè²«ããŠå®çŸ©ãã¬ã³ããªã³ã°ããããšã§ããŠãŒã¶ãŒã䜿çšããŠããç¹å®ã®ããŒããŠã§ã¢ãç°å¢ã«é¢ããããäœéšãäºæž¬å¯èœã§å¿«é©ãªãŸãŸã§ããããšãä¿èšŒããŸããäžè²«ããå¢çã¯ãããŸããŸãªããã€ã¹éã§ã¹ã ãŒãºã§æ²¡å ¥æã®ããäœéšãå®çŸããããã«äžå¯æ¬ ã§ãã
- ããã©ãŒãã³ã¹ã®æé©åïŒã¢ã¯ãã£ããšãªã¢ã®å¢çãç¥ãããšã§ãWebXRã©ã³ã¿ã€ã ã¯ã¬ã³ããªã³ã°ãšåŠçãªãœãŒã¹ãæé©åã§ããŸãããŠãŒã¶ãŒã®èŠéå ã«ãããªããžã§ã¯ãã®ã¬ã³ããªã³ã°ãåªå ããå®çŸ©ãããå¢çå€ã®èŠçŽ ã«å¯ŸããäžèŠãªèšç®ãé¿ããããšãã§ããŸããå¹ççãªãªãœãŒã¹å²ãåœãŠã¯ãããã¹ã ãŒãºãªããã©ãŒãã³ã¹ã«ã€ãªãããŸãã
WebXRåç §ç©ºéã®çš®é¡ãšãã®å¢ç
WebXRã¯ããã€ãã®çš®é¡ã®åç §ç©ºéãæäŸããŠãããããããã«ç¬èªã®ç¹åŸŽãšå¢çå®çŸ©ãžã®åœ±é¿ããããŸãïŒ
1. Vieweråç §ç©ºé
'viewer'åç
§ç©ºéã¯æãåçŽãªã¿ã€ãã§ããããã¯ãããããã¯ãããŠãããåç
§ç©ºéã®åç¹ãåžžã«ãŠãŒã¶ãŒã®é ã«çžå¯ŸããŠåºå®ãããŠããããšãæå³ããŸãããã®çµæããŠãŒã¶ãŒã¯é ãå転ãããŠåšããèŠãããšããã§ããŸããããŠãŒã¶ãŒã¯ä»®æ³ç°å¢å
ã§ç©ççã«ç§»åããããšã¯ã§ããŸããã'viewer'åç
§ç©ºéã¯å¢çãæã¡ãŸããã
ãŠãŒã¹ã±ãŒã¹ïŒ
- 360°ãããªãããŠãŒã¶ãŒã鿢ããŠããåçŽãªãªããžã§ã¯ããã¥ãŒã¢ã®ãããªéçãªäœéšã
- ã€ã³ã¿ã©ã¯ã·ã§ã³ãšåããå¶éãããã¢ããªã±ãŒã·ã§ã³ã
2. Localåç §ç©ºé
'local'åç
§ç©ºéã¯ããŠãŒã¶ãŒãéããããšãªã¢å
ãåãåãããšãå¯èœã«ããŸããåç
§ç©ºéã®åç¹ã¯ãã»ãã·ã§ã³éå§æã®ãŠãŒã¶ãŒã®åæäœçœ®ã«åºå®ãããŸãã'local'åç
§ç©ºéã¯å¢çãæããªãå ŽåããããŸããã€ãŸããã·ã¹ãã ãæ¬è³ªçã«å¢çæ
å ±ãæäŸããããã§ã¯ãããŸãããå¢çãå¿
èŠãªå Žåãéçºè
ã¯ãã°ãã°ã¯ãŒã«ãå
ã®ãªããžã§ã¯ããèŠèŠçãªæãããã䜿ã£ãŠäººå·¥çãªå¢çãäœæããŸããåºç€ãšãªãããŒããŠã§ã¢ãšã©ã³ã¿ã€ã ãå¢çæ
å ±ããµããŒãããŠããå Žåã`xrFrame.getViewerPose(xrReferenceSpace).transform.matrix`çµç±ã§å©çšã§ããããšããããŸãã
ãŠãŒã¹ã±ãŒã¹ïŒ
- ãŠãŒã¶ãŒãå°ããªä»®æ³ç©ºéãåãåãããšãã§ããã¢ããªã±ãŒã·ã§ã³ã
- ç©çç°å¢ã®æ£ç¢ºãªè¿œè·¡ãäžèŠãªäœéšã
- åæã®è¿œè·¡ãšãªã¢ãè¶ ããŠç§»åããããã®ãã¬ããŒãã¡ã«ããºã ãæã€ã²ãŒã ãã¢ããªã±ãŒã·ã§ã³ã
äŸïŒæŠå¿µçïŒïŒçŸè¡é€šã®ã¢ããªã±ãŒã·ã§ã³ãæ³åããŠãã ããããŠãŒã¶ãŒã¯ä»®æ³ã®éšå±ããå§ãŸããå£ã®çµµç»ãèŠãããã«æ©ãåãããšãã§ããŸãããlocalãåç §ç©ºéã«ããããã®éããã空éãèªç±ã«æ¢çŽ¢ã§ããŸãã
3. Local-Flooråç §ç©ºé
'local'åç
§ç©ºéã«äŒŒãŠããŸãããY軞ãåºã«æãããããšããå¶çŽãå ãããŸããããã«ãããå°é¢ããŒã¹ã®ã€ã³ã¿ã©ã¯ã·ã§ã³ãæ±ãéã®éçºãç°¡çŽ åãããŸãã'local-floor'åç
§ç©ºéããåºç€ãšãªãã·ã¹ãã ã«ãã£ãŠæäŸãããªãéãå¢çãæããªãå ŽåããããŸãã
ãŠãŒã¹ã±ãŒã¹ïŒ
- å®çŸ©ãããåºå¹³é¢ã«äŸåããã¢ããªã±ãŒã·ã§ã³ã
- å°é¢ããŒã¹ã®ã€ã³ã¿ã©ã¯ã·ã§ã³ãç©çã·ãã¥ã¬ãŒã·ã§ã³ã䌎ãäœéšã
äŸïŒä»®æ³ãããã²ãŒã ã§ãããããåºãåºã«çœ®ããããªããžã§ã¯ããšå¯Ÿè©±ããã
4. Bounded-Flooråç §ç©ºé
'bounded-floor'åç
§ç©ºéã¯ãã«ãŒã ã¹ã±ãŒã«ã®VRäœéšã®ããã«ç¹å¥ã«èšèšãããŠããŸããåºã®åœ¢ç¶ã寞æ³ãªã©ããŠãŒã¶ãŒã®ç©ççãªåšå²ã«é¢ããæ
å ±ãæäŸããŸãããããã`getBounds()`ã¡ãœãããéããŠå¢çæ
å ±ãæäŸããåç
§ç©ºéã§ãã空éã®åç¹ã¯åºã¬ãã«ã«ãããXZå¹³é¢ãåºã衚ããŸããéèŠãªããšã«ããã¹ãŠã®ããã€ã¹ã'bounded-floor'ããµããŒãããŠããããã§ã¯ãããŸããã`navigator.xr.isSessionSupported('immersive-vr', { requiredFeatures: ['bounded-floor'] })`ã䜿çšããŠããã®å¯çšæ§ã確èªããå¿
èŠããããŸãã
getBounds()ã®çè§£ïŒ
xrReferenceSpace.getBounds()ã¡ãœããã¯DOMPointReadOnlyã®é
åãè¿ããŸãããã®é
åã¯ãåç
§ç©ºéå
ã®åºã®å¢çããªãŽã³ãèšè¿°ããŸããç¹ã¯ãé ã«ãã©ããšãŠãŒã¶ãŒãå©çšå¯èœãªåºé¢ç©ãå®çŸ©ããéããããªãŽã³ã圢æããããã«é åºä»ããããŠããŸããç¹ã¯Y = 0ã®XZå¹³é¢å
ã«ãããŸããç¹ã®æ°ã¯ç°å¢ã®ã¹ãã£ã³ã«ãã£ãŠç°ãªããŸãã
ãŠãŒã¹ã±ãŒã¹ïŒ
- ãŠãŒã¶ãŒãèªç±ã«åãåããã«ãŒã ã¹ã±ãŒã«ã®VRã²ãŒã ãã¢ããªã±ãŒã·ã§ã³ã
- å®çŸ©ããã空éå ã§ã®ãŠãŒã¶ãŒã®äœçœ®ã®æ£ç¢ºãªè¿œè·¡ãå¿ èŠãšããäœéšã
- çŸå®äžçã®ç°å¢ãæš¡å£ãããã¬ãŒãã³ã°ã·ãã¥ã¬ãŒã·ã§ã³ã
äŸïŒä»®æ³è±åºã²ãŒã ã§ããŠãŒã¶ãŒãéšå±ãç©ççã«æ¢çŽ¢ããããºã«ãè§£ãããªããžã§ã¯ããšå¯Ÿè©±ããŠè±åºããå¿ èŠãããã
5. Unboundedåç §ç©ºé
'unbounded'åç
§ç©ºéã¯ããŠãŒã¶ãŒãäºåã«å®çŸ©ãããå¢çãªãã«èªç±ã«ç§»åã§ããããã«ããŸããããã¯ããŠãŒã¶ãŒãéåžžã«å€§ããªãŸãã¯ç¡éã®ç©ºéã«ãããšæ³å®ãããäœéšã«é©ããŠããŸãã'unbounded'åç
§ç©ºéã¯å¢çãæã¡ãŸããããã®åç
§ç©ºéã䜿çšããå ŽåãçŸå®äžçã®ãªããžã§ã¯ããšã®è¡çªãé²ãçµã¿èŸŒã¿ã®ã¡ã«ããºã ããªãããããŠãŒã¶ãŒã®å®å
šæ§ãæ
éã«èæ
®ããããšãéèŠã§ãããã±ãŒã·ã§ã³ããŒã¹ã®ARã¢ããªã±ãŒã·ã§ã³ã¯éåžžããã®çš®ã®åç
§ç©ºéã䜿çšããŸãã
ãŠãŒã¹ã±ãŒã¹ïŒ
- ãŠãŒã¶ãŒãå±å€ã®åºããšãªã¢ãç§»åããæ¡åŒµçŸå®äœéšã
- ç¡éã®ç©ºéãæœè±¡çãªç°å¢ã®ä»®æ³çŸå®ã·ãã¥ã¬ãŒã·ã§ã³ã
äŸïŒãŠãŒã¶ãŒãéœåžãæ©ããªãããçŸå®äžçã«ä»®æ³æ å ±ãéããŠè¡šç€ºããARã¢ããªã±ãŒã·ã§ã³ã
åç §ç©ºéã®å¢çãžã®ã¢ã¯ã»ã¹ãšå©çš
åç §ç©ºéã®å¢çã«ã¢ã¯ã»ã¹ããå©çšããããã»ã¹ã¯ãéåžžã以äžã®æé ãå«ã¿ãŸãïŒ
- WebXRã»ãã·ã§ã³ã®ãªã¯ãšã¹ãïŒ
navigator.xr.requestSession()ã䜿çšããŠWebXRã»ãã·ã§ã³ããªã¯ãšã¹ãããããšããå§ããŸãã䜿çšããäºå®ãããå Žåã¯ã'bounded-floor'ãå«ãå¿ èŠãªæ©èœããªã¯ãšã¹ãããããšã確èªããŠãã ãããäŸïŒnavigator.xr.requestSession('immersive-vr', { requiredFeatures: ['bounded-floor'] }) .then(onSessionStarted) .catch(handleFailure); - åç
§ç©ºéã®ååŸïŒã»ãã·ã§ã³ãã¢ã¯ãã£ãã«ãªã£ããã
session.requestReferenceSpace()ã䜿çšããŠåç §ç©ºéããªã¯ãšã¹ãããŸãã'bounded-floor'åç §ç©ºéã®å ŽåïŒsession.requestReferenceSpace('bounded-floor') .then(onBoundedFloorReferenceSpace) .catch(handleFailure); - å¢çã®ååŸïŒ
'bounded-floor'åç §ç©ºéã䜿çšããŠããå ŽåãgetBounds()ã¡ãœããã䜿çšããŠå¢çãååŸã§ããŸãïŒfunction onBoundedFloorReferenceSpace(referenceSpace) { const bounds = referenceSpace.getBounds(); if (bounds) { // Process the bounds data console.log("Bounds found:", bounds); } else { console.log("No bounds available."); } } - å¢çã®èŠèŠåãšåŒ·å¶ïŒå¢çããŒã¿ã䜿çšããŠãã¬ã€ãšãªã¢ãèŠèŠåãããŠãŒã¶ãŒãå®çŸ©ãããå¢çã®å€ã«åºãã®ãé²ãã¡ã«ããºã ãå®è£ ããŸããããã«ã¯ãèŠèŠçãªã°ãªããã®ã¬ã³ããªã³ã°ãèŠåã¡ãã»ãŒãžã®è¡šç€ºããŸãã¯è§ŠèŠãã£ãŒãããã¯ã®å®è£ ãå«ãŸããå ŽåããããŸãã
空éå¢çã®å®çŸ©ãšäœ¿çšã«é¢ãããã¹ããã©ã¯ãã£ã¹
WebXRã¢ããªã±ãŒã·ã§ã³ã§ç©ºéå¢çãå®çŸ©ããã³äœ¿çšããéã«èæ ®ãã¹ããã¹ããã©ã¯ãã£ã¹ãããã€ã玹ä»ããŸãïŒ
- å¯çšæ§ã®ç¢ºèªïŒãªã¯ãšã¹ããããåç
§ç©ºéãšãã®å¢çããŠãŒã¶ãŒã®ããã€ã¹ãšç°å¢ã§ãµããŒããããŠããããåžžã«ç¢ºèªããŠãã ãããã»ãã·ã§ã³ããªã¯ãšã¹ãããåã«ã
navigator.xr.isSessionSupported()ã䜿çšããŠ'bounded-floor'ã®ãµããŒãã確èªããŸããgetBounds()ã¡ãœãããnullãè¿ãå Žåãããã¯å¢çãå©çšã§ããªãããšãæå³ãã代æ¿ã®å®å šå¯ŸçãæäŸããããäœéšãé©å®èª¿æŽããããšã§ããã®ã·ããªãªãé©åã«åŠçããå¿ èŠããããŸãã - æç¢ºãªèŠèŠçæãããã®æäŸïŒãã¬ã€ãšãªã¢ã®å¢çã瀺ãããã«ãæç¢ºã§çŽæçãªèŠèŠçæãããã䜿çšããŠãã ãããããã«ã¯ãåºã«ããããªã°ãªãããã¬ã³ããªã³ã°ããããè²ä»ãã®ã¢ãŠãã©ã€ã³ã衚瀺ããããããŒãã£ã¯ã«ãšãã§ã¯ãã䜿çšãããããããšãå«ãŸããŸããæ²¡å ¥åäœéšããæ³šæããããå¯èœæ§ã®ãããé床ã«äŸµå ¥çãŸãã¯æ°ãæ£ããèŠèŠçæãããã¯é¿ããŠãã ããã
- ãŠãŒã¶ãŒã®å¿«é©æ§ã®èæ ®ïŒå¢çããŠãŒã¶ãŒã®ç©ççãªç©ºéå ã§å¿«é©ã«é 眮ãããŠããããšã確èªããŠãã ãããçŸå®äžçã®ãªããžã§ã¯ããå£ã«è¿ãããå Žæã«å¢çãé 眮ãããšãäžå¿«æãéæææçãåŒãèµ·ããå¯èœæ§ãããããé¿ããŠãã ãããå¿ èŠãªå¢çãéå°è©äŸ¡ããããã¯ãåžžã«é倧è©äŸ¡ããæ¹ãè¯ãã§ãã
- è§ŠèŠãã£ãŒãããã¯ã®å®è£ ïŒãŠãŒã¶ãŒãå¢çã«è¿ã¥ãããšãã«è§ŠèŠçãªæããããæäŸããããã«ãè§ŠèŠãã£ãŒãããã¯ã®äœ¿çšãæ€èšããŠãã ãããããã¯ãèŠèŠçãªæ²¡å ¥æã劚ããããšãªãããŠãŒã¶ãŒãç©ããã«ãã¬ã€ãšãªã¢ã«æ»ã广çãªæ¹æ³ãšãªãåŸãŸãã
- ç°ãªããŠãŒã¶ãŒèº«é·ãžã®é æ ®ïŒå¢çã®é«ããå®çŸ©ããéã¯ãæœåšçãªãŠãŒã¶ãŒèº«é·ã®ç¯å²ãèæ ®ããŠãã ãããèã®é«ããŠãŒã¶ãŒãä»®æ³ãªããžã§ã¯ãã倩äºã«èª€ã£ãŠé ãã¶ã€ããªãããã«ãå¢çãååã«é«ãããšã確èªããŠãã ããã
- ã«ã¹ã¿ãã€ãºãªãã·ã§ã³ã®æäŸïŒå Žåã«ãã£ãŠã¯ããŠãŒã¶ãŒããã¬ã€ãšãªã¢ã®ãµã€ãºãšåœ¢ç¶ãã«ã¹ã¿ãã€ãºã§ããããã«ããããšãæçãªå ŽåããããŸããããã¯ãããŸããŸãªéšå±ã®ãµã€ãºãæ§æã«äœéšãé©å¿ãããã®ã«åœ¹ç«ã¡ãŸãããã ãããŠãŒã¶ãŒãå°ãããããŸãã¯å®å šã§ãªãå¢çãäœæããªãããã«ãæç¢ºãªã¬ã€ãã³ã¹ãšå®å šèŠåãæäŸããŠãã ããã
- å¢çã®å®æçãªæŽæ°ïŒè©²åœããå ŽåïŒïŒç©ççãªç©ºéãå€åããå¯èœæ§ã®ããåçãªç°å¢ã§ã¯ãçŸåšã®ç¶æ³ãåæ ããããã«åç §ç©ºéã®å¢çã宿çã«æŽæ°ããããšãæ€èšããŠãã ãããããã«ããã粟床ãç¶æããäºæãã¬è¡çªãé²ãã®ã«åœ¹ç«ã¡ãŸããå©çšå¯èœãªæŽæ°ã®é »åºŠã¯ãããŒããŠã§ã¢ãšWebXRå®è£ ã®æ©èœã«äŸåããããšã«æ³šæããŠãã ããã
- ã¢ã¯ã»ã·ããªãã£ã«é¢ããèæ ®äºé ïŒç©ºéå¢çãèšèšããéã¯ãé害ã®ãããŠãŒã¶ãŒãèæ ®ããŠãã ãããããšãã°ãéåé害ã®ãããŠãŒã¶ãŒã¯ãããåºããã¬ã€ãšãªã¢ã代æ¿ã®ããã²ãŒã·ã§ã³æ¹æ³ãå¿ èŠãšããå ŽåããããŸããæç¢ºãªèŠèŠçããã³èŽèŠçãªæãããã¯ãèŠèŠãŸãã¯èŽèŠã«é害ã®ãããŠãŒã¶ãŒã«ãšã£ãŠãæçã§ãã座ã£ããŸãŸã§ãç«ã£ããŸãŸã§ãã€ã³ã¿ã©ã¯ã·ã§ã³ãå¯èœã§ããããšã確èªããŠãã ããã
å¢çã®å®è£ äŸ
WebXRã¢ããªã±ãŒã·ã§ã³ã§å¢çãå®è£ ããæ¹æ³ã®ããã€ãã®å®çšçãªäŸã以äžã«ç€ºããŸãïŒ
1. åºã®èŠèŠçãªã°ãªãã
ããã¯ããã¬ã€ãšãªã¢ãèŠèŠåããããã®äžè¬çã§å¹æçãªæ¹æ³ã§ããåºã«ã¬ã³ããªã³ã°ãããç·ãåè§åœ¢ã®ã°ãªãããäœæãã空éã®å¢çã瀺ãããšãã§ããŸããã°ãªããã®è²ãšäžéæåºŠã¯ãã¢ããªã±ãŒã·ã§ã³ã®çŸèгã«åãããŠèª¿æŽã§ããŸãã
2. è²ä»ãã®ã¢ãŠãã©ã€ã³
å¥ã®ã¢ãããŒãã¯ããã¬ã€ãšãªã¢ã®åšå²ã«è²ä»ãã®ã¢ãŠãã©ã€ã³ãã¬ã³ããªã³ã°ããããšã§ããããã¯ãå¢çã«æ²¿ã£ãŠé 眮ãããäžé£ã®åçŽãªå¹³é¢ãŸãã¯åæ±ãäœæããããšã§å®çŸã§ããŸããã¢ãŠãã©ã€ã³ã®è²ã¯ããŠãŒã¶ãŒãå¢çã«è¿ã¥ãã«ã€ããŠæãããªã£ããã圩床ãé«ããªã£ããããŠãå¢çãžã®è¿ãã瀺ãããã«å€æŽã§ããŸãã
3. ããŒãã£ã¯ã«ãšãã§ã¯ã
ããŒãã£ã¯ã«ãšãã§ã¯ãã䜿çšããŠãããç¹çްã§èŠèŠçã«é åçãªå¢çãäœæã§ããŸããããšãã°ãå¢çã«æ²¿ã£ãŠæµããããŒãã£ã¯ã«ã®ã¹ããªãŒã ãæŸåºãããããããŸãã¯èŒã广ãäœæã§ããŸããããŒãã£ã¯ã«ã®å¯åºŠãšè²ã¯ãå¢çã®å¯èŠæ§ãå¶åŸ¡ããããã«èª¿æŽã§ããŸãã
4. è§ŠèŠãã£ãŒãããã¯
åè¿°ã®ããã«ãè§ŠèŠãã£ãŒãããã¯ã¯ããŠãŒã¶ãŒãå¢çã«è¿ã¥ãããšãã«è§ŠèŠçãªæããããæäŸããããã«äœ¿çšã§ããŸããããã¯ããŠãŒã¶ãŒã®ã³ã³ãããŒã©ãŒããããã»ããã§æ¯åãããªã¬ãŒããããšã§å®è£ ã§ããŸããæ¯åã®åŒ·åºŠã¯ããŠãŒã¶ãŒãå¢çã«è¿ã¥ãã«ã€ããŠå¢å ãããããšãã§ããŸãã
é«åºŠãªèæ ®äºé
ã¬ãŒãã£ã¢ã³ã·ã¹ãã
å€ãã®VRãããã»ããã«ã¯ãçµã¿èŸŒã¿ã®ãã¬ãŒãã£ã¢ã³ããŸãã¯ãå¢çãã·ã¹ãã ãè£
åãããŠããŸãããããã®ã·ã¹ãã ã«ããããŠãŒã¶ãŒã¯ç©çç°å¢å
ã§ãã¬ã€ãšãªã¢ãå®çŸ©ããå¢çã«è¿ã¥ãããšãã«èŠèŠçãªèŠåãæäŸã§ããŸããWebXRã¢ããªã±ãŒã·ã§ã³ã¯ãé©åãªåç
§ç©ºéïŒäŸïŒ'bounded-floor'ïŒããªã¯ãšã¹ãããæäŸãããå¢çæ
å ±ãå©çšããããšã§ããããã®æ¢åã®ã·ã¹ãã ãæŽ»çšã§ããŸãããã®å Žåãåºç€ãšãªãã©ã³ã¿ã€ã ããŠãŒã¶ãŒã®ããã«å¢ç衚çŸãçæããéåŽåãè¡ã£ãŠããŸãããã ããã¢ããªã±ãŒã·ã§ã³éçºè
ã¯ãå®å
šã§äžè²«ããäœéšãä¿èšŒããããã«ãå¢çæ
å ±ã«åå¿ãã責任ããããŸãããŠãŒã¶ãŒã¯ããã€ã¹ã®èšå®å
ã§ã¬ãŒãã£ã¢ã³ã·ã¹ãã ãã«ã¹ã¿ãã€ãºã§ããããšãå€ããããã¢ããªã±ãŒã·ã§ã³ã¯ãŠãŒã¶ãŒãå®çŸ©ããå¢çã«åžžã«é©å¿ãããããäžæžããã¹ãã§ã¯ãªãããšã«æ³šæããŠãã ããã
è€åçŸå®ãšã·ãŒã³çè§£
è€åçŸå®ïŒMRïŒã¢ããªã±ãŒã·ã§ã³ã§ã¯ãä»®æ³äžçãšçŸå®äžçã®å¢çãææ§ã«ãªããŸããããã«ã¯ããŠãŒã¶ãŒã®ç©çç°å¢ãæ£ç¢ºã«ãããã³ã°ããé©åãªå¢çãå®çŸ©ããããã®ãããæŽç·Žãããã·ãŒã³çè§£èœåãå¿ èŠã§ããé«åºŠãªMRãã©ãããã©ãŒã ã¯ãã³ã³ãã¥ãŒã¿ããžã§ã³ãšæ·±åºŠã»ã³ã·ã³ã°ã䜿çšããŠåšå²ã®3D衚çŸãäœæããããåçã§æèã«å¿ããå¢çå®çŸ©ãå¯èœã«ããå ŽåããããŸããããšãã°ãã·ã¹ãã ãå®¶å ·ãå£ãªã©ã®é害ç©ãèªåçã«æ€åºããŠåé¿ããããšããããŸããWebXRã¯ããããã®é«åºŠãªæ©èœãçµã¿èŸŒãããã«çµ¶ããé²åããŠããŸããWebXR Device APIã®å¹³é¢æ€åºã®ãããªæè¡ã«ãããéçºè ã¯ã·ãŒã³çè§£æ å ±ã䜿çšããŠARäœéšã«ããè¯ãå¢çãæ§ç¯ã§ããŸãã
å°çäœçœ®æ å ±ãšå±å€AR
'unbounded'åç
§ç©ºéã䜿çšããå±å€ARã¢ããªã±ãŒã·ã§ã³ã§ã¯ãå¢çã®å®çŸ©ãããå°é£ã«ãªããŸãããããã®ã·ããªãªã§ã¯ãå°çäœçœ®æ
å ±ããŒã¿ãšå°å³æ
å ±ã«äŸåããŠãçŸå®äžçã®ã©ã³ãããŒã¯ãå°ççç¹åŸŽã«åºã¥ããŠä»®æ³å¢çãäœæããå¿
èŠãããå ŽåããããŸããããã¯ããŠãŒã¶ãŒãå±éºãªãšãªã¢ã«ç«ã¡å
¥ã£ãããç§æå°ã«äŸµå
¥ãããããã®ãé²ãããã«äœ¿çšã§ããŸããäœçœ®æ
å ±ãåéããã³äœ¿çšããéã«ã¯ããã©ã€ãã·ãŒãžã®é
æ
®ãéèŠã§ãããŠãŒã¶ãŒã®äœçœ®ããŒã¿ãã©ã®ããã«äœ¿çšãããŠããããåžžã«ãŠãŒã¶ãŒã«ç¥ãããäœçœ®è¿œè·¡ãå¶åŸ¡ãŸãã¯ç¡å¹ã«ãããªãã·ã§ã³ãæäŸããŠãã ããããšãŒãããã®GDPRã®ãããªèŠå¶ã¯ãäœçœ®æ
å ±ãå«ãå人ããŒã¿ã®åéãšäœ¿çšã«å³ããå¶éã課ããŠããŸããã¢ããªã±ãŒã·ã§ã³ãé©çšããããã¹ãŠã®ãã©ã€ãã·ãŒèŠå¶ã«æºæ ããŠããããšã確èªããŠãã ããã
WebXRãšç©ºéå¢çã®æªæ¥
WebXRã®åéã¯æ¥éã«é²åããŠãããä»åŸæ°å¹Žéã§ç©ºéå¢çã®å®çŸ©ã«ãããŠå€§ããªé²æ©ãèŠããããšæåŸ ã§ããŸããããã€ãã®æœåšçãªå°æ¥ã®çºå±ã«ã¯ã以äžã®ãããªãã®ããããŸãïŒ
- æ¹åãããã·ãŒã³çè§£ïŒããæŽç·Žãããã·ãŒã³çè§£ã¢ã«ãŽãªãºã ã«ãããVRããã³ARã¢ããªã±ãŒã·ã§ã³ã®äž¡æ¹ã§ãããæ£ç¢ºã§åçãªå¢çå®çŸ©ãå¯èœã«ãªããŸãã
- AIã«ããå¢ççæïŒäººå·¥ç¥èœïŒAIïŒã䜿çšããŠããŠãŒã¶ãŒã®ç°å¢ãšæŽ»åã«åºã¥ããŠæé©ãªå¢çãèªåçã«çæããããšãã§ããŸãã
- ããã°ã©ãã£ãã¯ãã£ã¹ãã¬ã€ãšã©ã€ããã£ãŒã«ãæè¡ïŒæ°ãããã£ã¹ãã¬ã€æè¡ã«ãããããæ²¡å ¥æããããªã¢ã«ãªå¢çã®èŠèŠåãå¯èœã«ãªããŸãã
- æšæºåãããå¢çAPIïŒç°ãªãWebXRãã©ãããã©ãŒã éã§å¢çAPIãæšæºåããåãçµã¿ã«ãããéçºãç°¡çŽ åãããäºææ§ãåäžããŸãã
- 匷åãããè§ŠèŠãã£ãŒãããã¯ïŒããé«åºŠãªè§ŠèŠãã£ãŒãããã¯ã·ã¹ãã ã«ãããå¢çèªèã®ããã®ããè±ãã§ãã¥ã¢ã³ã¹ã®ããè§ŠèŠçæããããæäŸãããŸãã
çµè«
WebXRåç §ç©ºéã®å¢çãçè§£ã广çã«å©çšããããšã¯ãå®å šã§çŽæçããããŠé åçãªXRäœéšãåµé ããããã«äžå¯æ¬ ã§ããç°ãªãçš®é¡ã®åç §ç©ºéãæ éã«æ€èšããå¢çããŒã¿ã«ã¢ã¯ã»ã¹ããŠåŠçããé©åãªèŠèŠçããã³è§ŠèŠçãªæããããå®è£ ããããšã§ãéçºè ã¯ãŠãŒã¶ãŒãæå³ãããã¬ã€ãšãªã¢å ã«ãšã©ãŸããçŸå®äžçã®ãªããžã§ã¯ããšã®è¡çªãåé¿ããããšãä¿èšŒã§ããŸããWebXRæè¡ãé²åãç¶ããã«ã€ããŠã空éå¢çå®çŸ©ã«å¯Ÿããããã«æŽç·Žããåçãªã¢ãããŒããç»å ŽãããŠã§ãã®æ²¡å ¥åããã³å¯Ÿè©±åã®å¯èœæ§ãããã«é«ããããšãæåŸ ãããŸãã
XRäœéšãèšèšããéã«ã¯ãåžžã«ãŠãŒã¶ãŒã®å®å šæ§ãšã¢ã¯ã»ã·ããªãã£ãåªå ããããšãå¿ããªãã§ãã ããããã®ã¬ã€ãã§æŠèª¬ãããã¹ããã©ã¯ãã£ã¹ã«åŸãããšã§ããŠã§ãã§å¯èœãªããšã®éçãæŒãåºãããé åçã§è²¬ä»»ããã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸããã°ããŒãã«ãªãªãŒãã£ãšã³ã¹åãã«XRäœéšãèšèšããéã¯ãç©ççãªç©ºéãšå人çãªå¢çã«ãããæåçãªéããèæ ®ããŠãã ãããå人çãªç©ºéã®æèŠã¯æåã«ãã£ãŠå€§ããç°ãªããããæåã§å¿«é©ãšããããã®ãå¥ã®æåã§ã¯äŸµå ¥çãšèªèãããããšããããŸãã倿§ãªã°ã«ãŒãã§ãŠãŒã¶ãŒãªãµãŒããšãã¹ãã宿œããå¢çããã¹ãŠã®ãŠãŒã¶ãŒã«ãšã£ãŠé©åã§æ¬æãæã£ããã®ã§ããããšã確èªããŠãã ããã