æé©åãããåŠçæè¡ã§WebXRã³ã³ãããŒã©ãŒã®ããã©ãŒãã³ã¹ãæå€§åãXRã¢ããªã±ãŒã·ã§ã³ã§ã®äœé å»¶ã€ã³ã¿ã©ã¯ã·ã§ã³ãšãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹åäžæŠç¥ãåŠã¶ã
WebXRå ¥åãœãŒã¹ããã©ãŒãã³ã¹ïŒã³ã³ãããŒã©ãŒåŠçéåºŠã®æé©å
WebXRã¯ãéçºè ããã©ãŠã¶å ã§çŽæ¥æ²¡å ¥æã®ããä»®æ³çŸå®ããã³æ¡åŒµçŸå®äœéšãäœæã§ããããã«ããŸããé åçãªXRäœéšãæäŸããäžã§éèŠãªåŽé¢ã¯ãç°å¢ãšã®å¿çæ§ãšäœé å»¶ã®ã€ã³ã¿ã©ã¯ã·ã§ã³ã§ãããã®ã€ã³ã¿ã©ã¯ã·ã§ã³ã¯ãäž»ã«å ¥åãœãŒã¹ãæãäžè¬çã«ã¯XRã³ã³ãããŒã©ãŒãä»ããŠåŠçãããŸããããããã³ã³ãããŒã©ãŒããŒã¿ã®éå¹ççãªåŠçã¯ãé¡èãªé å»¶ããªã¢ãªãºã ã®äœäžããããŠæçµçã«ã¯è²§åŒ±ãªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã«ã€ãªããå¯èœæ§ããããŸãããã®èšäºã§ã¯ãWebXRã¢ããªã±ãŒã·ã§ã³ã«ãããã³ã³ãããŒã©ãŒåŠçéåºŠã®æé©åã«é¢ããå æ¬çãªã¬ã€ããæäŸããäžçäžã®ãŠãŒã¶ãŒã®ããã«ã¹ã ãŒãºã§æ²¡å ¥æã®ããã€ã³ã¿ã©ã¯ã·ã§ã³ãä¿èšŒããŸãã
å ¥åãã€ãã©ã€ã³ã®çè§£
æé©åæè¡ã«é£ã³èŸŒãåã«ãã³ã³ãããŒã©ãŒããŒã¿ãç©çããã€ã¹ããWebXRã¢ããªã±ãŒã·ã§ã³ã«æž¡ããããŸã§ã®çµè·¯ãçè§£ããããšãäžå¯æ¬ ã§ãããã®ããã»ã¹ã¯ããã€ãã®ã¹ããããå«ã¿ãŸã:
- ããŒããŠã§ã¢å ¥åïŒç©çã³ã³ãããŒã©ãŒããŠãŒã¶ãŒã®ã¢ã¯ã·ã§ã³ïŒãã¿ã³ã®æŒäžããžã§ã€ã¹ãã£ãã¯ã®ç§»åãªã©ïŒãæ€åºãããã®ããŒã¿ãXRããã€ã¹ïŒäŸïŒãããã»ããïŒã«éä¿¡ããŸãã
- XRããã€ã¹åŠçïŒXRããã€ã¹ïŒãŸãã¯ãã®ã©ã³ã¿ã€ã ïŒã¯ãçã®å ¥åããŒã¿ãåŠçããã¹ã ãŒãžã³ã°ã¢ã«ãŽãªãºã ãé©çšããå Žåã«ãã£ãŠã¯è€æ°ã®ã»ã³ãµãŒããã®ããŒã¿ãçµåããŸãã
- WebXR APIïŒXRããã€ã¹ã¯ããã©ãŠã¶å ã§å®è¡ãããŠããWebXR APIã«åŠçæžã¿ã®ã³ã³ãããŒã©ãŒããŒã¿ãå ¬éããŸãã
- JavaScriptåŠçïŒJavaScriptã³ãŒãã¯ãWebXRãã¬ãŒã ã«ãŒããä»ããŠã³ã³ãããŒã©ãŒããŒã¿ãåä¿¡ããããã䜿çšããŠä»®æ³ç°å¢ã®ç¶æ ãæŽæ°ããŸãã
- ã¬ã³ããªã³ã°ïŒæåŸã«ãæŽæ°ãããä»®æ³ç°å¢ãã¬ã³ããªã³ã°ããããŠãŒã¶ãŒã«è¡šç€ºãããŸãã
ãããã®åã¹ãããã«ã¯æœåšçãªé å»¶ã䌎ããŸããããã§ã¯ãéçºè ãæãçŽæ¥çãªå¶åŸ¡ãè¡ããJavaScriptåŠçã¹ããŒãžã®æé©åã«çŠç¹ãåœãŠãŸãã
ããã©ãŒãã³ã¹ã®ããã«ããã¯ã®ç¹å®
æé©åã®æåã®ã¹ãããã¯ãã³ãŒãå ã®ããã«ããã¯ãç¹å®ããããšã§ããã³ã³ãããŒã©ãŒåŠçã®é å»¶ã«ã€ãªããå¯èœæ§ã®ããèŠå ã¯ããã€ããããŸã:
- è€éãªèšç®ïŒãã¬ãŒã ã«ãŒãå ã§èšç®è² è·ã®é«ãèšç®ãå®è¡ãããšãããã©ãŒãã³ã¹ã«èãã圱é¿ããŸãã
- éå°ãªãªããžã§ã¯ãäœæïŒé »ç¹ãªãªããžã§ã¯ãã®äœæãšç Žæ£ãç¹ã«ãã¬ãŒã ã«ãŒãå ã§ã®ãªããžã§ã¯ãã®äœæãšç Žæ£ã¯ãã¬ããŒãžã³ã¬ã¯ã·ã§ã³ãããªã¬ãŒãããã¬ãŒã ãããããåŒãèµ·ããå¯èœæ§ããããŸãã
- éå¹ççãªããŒã¿æ§é ïŒã³ã³ãããŒã©ãŒããŒã¿ã®æ ŒçŽãšåŠçã«éå¹ççãªããŒã¿æ§é ã䜿çšãããšãã¢ã¯ã»ã¹ãšæäœãé ããªããŸãã
- ããããã³ã°æäœïŒåæãããã¯ãŒã¯ãªã¯ãšã¹ããè€éãªãã¡ã€ã«I/Oãªã©ã®ããããã³ã°æäœãå®è¡ãããšãã¡ã€ã³ã¹ã¬ãããããªãŒãºããã¬ã³ããªã³ã°ã忢ããŸãã
- äžèŠãªæŽæ°ïŒã³ã³ãããŒã©ãŒã®ç¶æ ã«å®éã®å€æŽããªãå Žåã«ãã³ã³ãããŒã©ãŒå ¥åã«åºã¥ããŠèŠèŠèŠçŽ ãã²ãŒã ããžãã¯ãæŽæ°ããããšã¯ç¡é§ã§ãã
ãããã¡ã€ãªã³ã°ããŒã«
ææ°ã®ãã©ãŠã¶ã¯ãWebXRã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ã®ããã«ããã¯ãç¹å®ããã®ã«åœ¹ç«ã€åŒ·åãªãããã¡ã€ãªã³ã°ããŒã«ãæäŸããŠããŸãããããã®ããŒã«ã¯ãã³ãŒãã®ããŸããŸãªéšåã®å®è¡æéãèšé²ããã³åæã§ããŸãã
- Chrome DevToolsïŒChrome DevToolsã¯ãCPU䜿çšçãã¡ã¢ãªå²ãåœãŠãã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ãèšé²ããã³åæã§ããå æ¬çãªããã©ãŒãã³ã¹ãã¬ãŒãµãŒãæäŸããŸãã
- Firefox Developer ToolsïŒFirefox Developer Toolsã¯ãããŸããŸãªé¢æ°ã®ã³ãŒã«ã¹ã¿ãã¯ãšå®è¡æéãèŠèŠåãããã¬ãŒã ãã£ãŒããã¥ãŒãå«ããåæ§ã®ãããã¡ã€ãªã³ã°æ©èœãæäŸããŸãã
- WebXRãšãã¥ã¬ãŒã¿ãŒæ¡åŒµæ©èœïŒãããã¯ãChromeãFirefoxã§å©çšã§ããããšããããããç©ççãªãããã»ãããå¿ èŠãšããã«ãã©ãŠã¶å ã§XRå ¥åãã·ãã¥ã¬ãŒãã§ããããããããã¡ã€ãªã³ã°ãšãããã°ã容æã«ãªããŸãã
ãããã®ããŒã«ã䜿çšããããšã§ãæãå€ãã®åŠçæéãæ¶è²»ããŠããç¹å®ã®ã³ãŒãè¡ãç¹å®ããããã«å¿ããŠæé©åã®åãçµã¿ã«éäžã§ããŸããããšãã°ãè€éãªè¡çªæ€åºã¢ã«ãŽãªãºã ããã¬ãŒã æéã®å€§éšåãå ããŠããããšããŸãã¯å ¥ååŠçã«ãŒãå ã§äžèŠãªãªããžã§ã¯ããäœæããŠããããšãããããããããŸããã
æé©åææ³
ããã«ããã¯ãç¹å®ããããã³ã³ãããŒã©ãŒåŠçé床ãåäžãããããã«ããŸããŸãªæé©åææ³ãé©çšã§ããŸãã
1. ãã¬ãŒã ã«ãŒãã§ã®èšç®ã®æå°å
ãã¬ãŒã ã«ãŒãã¯å¯èœãªéã軜éã§ããã¹ãã§ãããã¬ãŒã ã«ãŒãå ã§èšç®è² è·ã®é«ãèšç®ãå®è¡ããããšã¯é¿ããŠãã ããã代ããã«ãå€ãäºåã«èšç®ããããå¯èœãªå Žåã¯è¿äŒŒå€ã䜿çšããããšãæ€èšããŠãã ããã
äŸïŒåãã¬ãŒã ã§è¡åã®éè¡åãèšç®ãã代ããã«ãã³ã³ãããŒã©ãŒãåæåããããšãããŸãã¯å¶åŸ¡å¯Ÿè±¡ãªããžã§ã¯ãã®åãã倿Žããããšãã«äžåºŠèšç®ããåŸç¶ã®ãã¬ãŒã ã§ãã®çµæãåå©çšããŸãã
2. ãªããžã§ã¯ãããŒãªã³ã°
ãªããžã§ã¯ãã®äœæãšç Žæ£ã¯ã³ã¹ãã®ãããæäœã§ãããªããžã§ã¯ãããŒãªã³ã°ã¯ãäºåã«åå©çšå¯èœãªãªããžã§ã¯ãã®ããŒã«ãäœæããæ°ãããªããžã§ã¯ããæ¯ãã¬ãŒã äœæããã®ã§ã¯ãªãããããåå©çšããããšãå«ã¿ãŸããããã«ãããã¬ããŒãžã³ã¬ã¯ã·ã§ã³ã®ãªãŒããŒããããå€§å¹ ã«åæžãããããã©ãŒãã³ã¹ãåäžããŸãã
äŸïŒè¡çªæ€åºã®ããã«ã¬ã€ãã£ã¹ãã£ã³ã°ã䜿çšããŠããå Žåãã¢ããªã±ãŒã·ã§ã³ã®éå§æã«ã¬ã€ãªããžã§ã¯ãã®ããŒã«ãäœæããåã¬ã€ãã£ã¹ãã£ã³ã°æäœã§ããããåå©çšããŸããæ¯ãã¬ãŒã æ°ããã¬ã€ãªããžã§ã¯ããäœæãã代ããã«ãããŒã«ãããªããžã§ã¯ããååŸãã䜿çšããåŸã§äœ¿çšããããã«ããŒã«ã«æ»ããŸãã
3. ããŒã¿æ§é ã®æé©å
ã¿ã¹ã¯ã«é©ããããŒã¿æ§é ãéžæããŠãã ãããããšãã°ãããŒã§å€ãé »ç¹ã«æ€çŽ¢ããå¿
èŠãããå Žåã¯ãé
åã®ä»£ããã« Map ã䜿çšããŸããèŠçŽ ã®ã³ã¬ã¯ã·ã§ã³ãå埩åŠçããå¿
èŠãããå Žåã¯ãé åºãç¶æããå¿
èŠããããã©ãããããã³éè€ãèš±å¯ããããã©ããã«å¿ããŠãé
åãŸã㯠Set ã䜿çšããŸãã
äŸïŒã³ã³ãããŒã©ãŒã®ãã¿ã³ç¶æ
ãæ ŒçŽãããšãã¯ãããŒã«å€ã®é
åã®ä»£ããã«ããããã¹ã¯ãŸã㯠Set ã䜿çšããŸããããããã¹ã¯ã¯ããŒã«å€ã®å¹ççãªæ ŒçŽãšæäœãå¯èœã«ãã Set ã¯é«éãªã¡ã³ããŒã·ãããã¹ããæäŸããŸãã
4. éåææäœ
ãã¬ãŒã ã«ãŒãã§ããããã³ã°æäœãå®è¡ããããšã¯é¿ããŠãã ããããããã¯ãŒã¯ãªã¯ãšã¹ãããã¡ã€ã«I/Oãå®è¡ããå¿
èŠãããå Žåã¯ãéåææäœïŒäŸïŒ async/await ãŸã㯠PromiseïŒã䜿çšããŠãã¡ã€ã³ã¹ã¬ãããããªãŒãºããªãããã«ããŸãã
äŸïŒãªã¢ãŒããµãŒããŒããã¢ãã«ãããŒãããå¿
èŠãããå Žåã¯ã async/await ã䜿çšãã fetch ã䜿çšããŠã¢ãã«ãéåæã«ããŒãããŸããã¢ãã«ãããŒããããŠããéãããŒãã£ã³ã°ã€ã³ãžã±ãŒã¿ãŒã衚瀺ããŠãŠãŒã¶ãŒã«ãã£ãŒãããã¯ãæäŸããŸãã
5. ãã«ã¿å§çž®
ã³ã³ãããŒã©ãŒå ¥åãå®éã«å€æŽãããå Žåã«ã®ã¿ãä»®æ³ç°å¢ã®ç¶æ ãæŽæ°ããŸãããã«ã¿å§çž®ã䜿çšããŠã³ã³ãããŒã©ãŒç¶æ ã®å€æŽãæ€åºãã圱é¿ãåããã³ã³ããŒãã³ãã®ã¿ãæŽæ°ããŸãã
äŸïŒå¶åŸ¡å¯Ÿè±¡ãªããžã§ã¯ãã®äœçœ®ãæŽæ°ããåã«ãçŸåšã®ã³ã³ãããŒã©ãŒäœçœ®ãšä»¥åã®ã³ã³ãããŒã©ãŒäœçœ®ãæ¯èŒããŸãã2ã€ã®äœçœ®ã®å·®ãç¹å®ã®ãããå€ãã倧ããå Žåã«ã®ã¿ããªããžã§ã¯ãã®äœçœ®ãæŽæ°ããŸããããã«ãããã³ã³ãããŒã©ãŒããããã«ç§»åããå Žåã§ããäžèŠãªæŽæ°ãé²ããŸãã
6. ã¬ãŒãå¶é
ã³ã³ãããŒã©ãŒå ¥åã®åŠçé »åºŠãå¶éããŸãããã¬ãŒã ã¬ãŒããé«ãå Žåããã¹ãŠã®ãã¬ãŒã ã§ã³ã³ãããŒã©ãŒå ¥åãåŠçããå¿ èŠã¯ãªããããããŸãããã³ã³ãããŒã©ãŒå ¥åãããäœãé »åºŠãããšãã°1ãã¬ãŒã ãããŸãã¯2ãã¬ãŒã ããã«åŠçããããšãæ€èšããŠãã ããã
äŸïŒæåŸã«ã³ã³ãããŒã©ãŒå ¥åãåŠçãããŠããçµéãããã¬ãŒã æ°ã远跡ããããã®åçŽãªã«ãŠã³ã¿ãŒã䜿çšããŸããã«ãŠã³ã¿ãŒãç¹å®ã®ãããå€ã«éããå Žåã«ã®ã¿ã³ã³ãããŒã©ãŒå ¥åãåŠçããŸããããã«ããããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã«èãã圱é¿ãäžããããšãªããã³ã³ãããŒã©ãŒå ¥åã«è²»ããåŠçæéãåæžã§ããŸãã
7. Web Workers
ç°¡åã«æé©åã§ããªãè€éãªèšç®ã«ã€ããŠã¯ãWeb Workerã«ãªãããŒãããããšãæ€èšããŠãã ãããWeb Workerã¯ãã¡ã€ã³ã¹ã¬ããããããã¯ããããšãªããããã¯ã°ã©ãŠã³ãã¹ã¬ããã§JavaScriptã³ãŒããå®è¡ã§ããŸããããã«ãããéå¿ é æ©èœïŒé«åºŠãªç©çãããã·ãŒãžã£ã«çæãªã©ïŒã®èšç®ãåå¥ã«åŠçã§ããã¬ã³ããªã³ã°ã«ãŒããã¹ã ãŒãºã«ä¿ã€ããšãã§ããŸãã
äŸïŒWebXRã¢ããªã±ãŒã·ã§ã³ã§è€éãªç©çã·ãã¥ã¬ãŒã·ã§ã³ãå®è¡ããŠããå Žåãã·ãã¥ã¬ãŒã·ã§ã³ããžãã¯ãWeb Workerã«ç§»åããŸãããã®åŸãã¡ã€ã³ã¹ã¬ããã¯Web Workerã«ã³ã³ãããŒã©ãŒå ¥åãéä¿¡ã§ããWeb Workerã¯ç©çã·ãã¥ã¬ãŒã·ã§ã³ãæŽæ°ããçµæãã¡ã€ã³ã¹ã¬ããã«è¿ããŠã¬ã³ããªã³ã°ããŸãã
8. WebXRãã¬ãŒã ã¯ãŒã¯å ã§ã®æé©åïŒA-FrameãThree.jsïŒ
A-FrameãThree.jsãªã©ã®WebXRãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠããå Žåã¯ããã¬ãŒã ã¯ãŒã¯ã«çµã¿èŸŒãŸããŠããæé©åæ©èœã掻çšããŠãã ããããããã®ãã¬ãŒã ã¯ãŒã¯ã¯ãã³ã³ãããŒã©ãŒå ¥åã®åŠçãä»®æ³ç°å¢ã®ã¬ã³ããªã³ã°ã®ããã®æé©åãããã³ã³ããŒãã³ããšãŠãŒãã£ãªãã£ãããæäŸããŠããŸãã
A-Frame
A-Frameã¯ãã¢ãžã¥ãŒã«æ§ãšåå©çšæ§ãä¿é²ããã³ã³ããŒãã³ãããŒã¹ã®ã¢ãŒããã¯ãã£ãæäŸããŸããA-Frameã®çµã¿èŸŒã¿ã³ã³ãããŒã©ãŒã³ã³ããŒãã³ãïŒäŸïŒ oculus-touch-controlsã vive-controlsïŒã䜿çšããŠã³ã³ãããŒã©ãŒå
¥åãåŠçããŸãããããã®ã³ã³ããŒãã³ãã¯ããã©ãŒãã³ã¹ã®ããã«æé©åãããŠãããã³ã³ãããŒã©ãŒããŒã¿ãžã®ã¢ã¯ã»ã¹ã䟿å©ã«æäŸããŸãã
äŸïŒ raycaster ã³ã³ããŒãã³ãã䜿çšããŠãã³ã³ãããŒã©ãŒããã®ã¬ã€ãã£ã¹ãã£ã³ã°ãå®è¡ããŸãã raycaster ã³ã³ããŒãã³ãã¯ããã©ãŒãã³ã¹ã®ããã«æé©åãããŠãããçµæã®ãã£ã«ã¿ãªã³ã°ãšãœãŒãã®ãªãã·ã§ã³ãæäŸããŸãã
Three.js
Three.jsã¯ã匷åãªã¬ã³ããªã³ã°ãšã³ãžã³ãš3Dã°ã©ãã£ãã¯ã¹äœæã®ããã®è±å¯ãªãŠãŒãã£ãªãã£ãæäŸããŸããThree.jsã®æé©åããããžãªã¡ããªãšãããªã¢ã«ã¿ã€ãã䜿çšããŠãã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ãåäžãããŸãããŸããæŽæ°ããå¿
èŠããããªããžã§ã¯ãã®ã¿ãæŽæ°ããããã«ããThree.jsã®æŽæ°ãã©ã°ïŒäŸïŒãã¯ã¹ãã£ããããªã¢ã«ã® needsUpdateïŒã掻çšããŠãã ããã
äŸïŒéçã¡ãã·ã¥ã«ã¯ Geometry ã®ä»£ããã« BufferGeometry ã䜿çšããŸãã BufferGeometry ã¯ã倧éã®éçãžãªã¡ããªã®ã¬ã³ããªã³ã°ã«ããå¹ççã§ãã
ã¯ãã¹ãã©ãããã©ãŒã ããã©ãŒãã³ã¹ã®ããã®ãã¹ããã©ã¯ãã£ã¹
WebXRã¢ããªã±ãŒã·ã§ã³ã¯ããã€ãšã³ãVRãããã»ããããã¢ãã€ã«ARãã©ãããã©ãŒã ãŸã§ãããŸããŸãªããã€ã¹ã§ã¹ã ãŒãºã«å®è¡ãããå¿ èŠããããŸããã¯ãã¹ãã©ãããã©ãŒã ããã©ãŒãã³ã¹ã確ä¿ããããã®ãã¹ããã©ã¯ãã£ã¹ã次ã«ç€ºããŸã:
- æäœãã¬ãŒã ã¬ãŒããç®æšã«ããïŒæ¯ç§60ãã¬ãŒã ïŒFPSïŒã®æäœãã¬ãŒã ã¬ãŒããç®æããŠãã ãããäœããã¬ãŒã ã¬ãŒãã¯ãä¹ãç©é ãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã®äœäžã«ã€ãªããå¯èœæ§ããããŸãã
- ã¢ãããã£ãå質èšå®ã䜿çšããïŒããã€ã¹ã®ããã©ãŒãã³ã¹èœåã«åºã¥ããŠã¬ã³ããªã³ã°å質ãèªåçã«èª¿æŽããã¢ãããã£ãå質èšå®ãå®è£ ããŸããããã«ãããããŒãšã³ãããã€ã¹ã§äžè²«ãããã¬ãŒã ã¬ãŒããç¶æããªããããã€ãšã³ãããã€ã¹ã®ãã«ããã³ã·ã£ã«ã掻çšã§ããŸãã
- ããŸããŸãªããã€ã¹ã§ãã¹ãããïŒããŸããŸãªããã€ã¹ã§ã¢ããªã±ãŒã·ã§ã³ããã¹ãããŠãããã©ãŒãã³ã¹ã®ããã«ããã¯ãç¹å®ããäºææ§ã確ä¿ããŸãããªã¢ãŒããããã°ããŒã«ã䜿çšããŠãçŽæ¥ã¢ã¯ã»ã¹ãå°é£ãªããã€ã¹ã®ããã©ãŒãã³ã¹ããããã¡ã€ã«ããŸãã
- ã¢ã»ãããæé©åããïŒ3Dã¢ãã«ããã¯ã¹ãã£ããªãŒãã£ãªã¢ã»ãããæé©åããŠããµã€ãºãšè€éããåæžããŸããå§çž®æè¡ã䜿çšããŠãã¡ã€ã«ãµã€ãºãåæžããããŒãæéãæ¹åããŸãã
- ãããã¯ãŒã¯ãèæ ®ããïŒãªã³ã©ã€ã³ãã«ããã¬ã€ã€ãŒäœéšã®å Žåãé å»¶ãæå°éã«æããããã«ãããã¯ãŒã¯éä¿¡ãæé©åããŸããå¹ççãªããŒã¿ã·ãªã¢ã©ã€ãŒãŒã·ã§ã³åœ¢åŒã䜿çšããå¯èœãªå Žåã¯ãããã¯ãŒã¯ãã©ãã£ãã¯ãå§çž®ããŸãã
- ã¢ãã€ã«ããã€ã¹ã«æ³šæããïŒã¢ãã€ã«ããã€ã¹ã¯åŠçèœåãšããããªãŒå¯¿åœãéãããŠããŸããé»åãç¯çŽããéç±ãåé¿ããããã«ãé«åºŠãªãšãã§ã¯ããšæ©èœã®äœ¿çšãæžãããŸãã
äŸïŒããã€ã¹ã®ããã©ãŒãã³ã¹èœåãæ€åºããããã€ã¹ã®æ©èœã«åºã¥ããŠã¬ã³ããªã³ã°è§£å床ããã¯ã¹ãã£å質ã詳现ã¬ãã«ïŒLODïŒãèªåçã«èª¿æŽããã·ã¹ãã ãå®è£ ããŸããããã«ãããå¹ åºãããã€ã¹ã§äžè²«ãããšã¯ã¹ããªãšã³ã¹ãæäŸã§ããŸãã
ç£èŠãšã€ãã¬ãŒã·ã§ã³
æé©åã¯å埩çãªããã»ã¹ã§ããWebXRã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãç¶ç¶çã«ç£èŠããå¿ èŠã«å¿ããŠèª¿æŽããŸãããããã¡ã€ãªã³ã°ããŒã«ã䜿çšããŠæ°ããããã«ããã¯ãç¹å®ããæé©åææ³ã®å¹æããã¹ãããŸãã
- ããã©ãŒãã³ã¹ã¡ããªã¯ã¹ã®åéïŒãã¬ãŒã ã¬ãŒããCPU䜿çšçãã¡ã¢ãªå²ãåœãŠãªã©ã®ããã©ãŒãã³ã¹ã¡ããªã¯ã¹ãåéããŸãããããã®ã¡ããªã¯ã¹ã䜿çšããŠãæéã®çµéã«äŒŽãæé©åã®åãçµã¿ã®åœ±é¿ã远跡ããŸãã
- èªåãã¹ãïŒéçºãµã€ã¯ã«ã®åææ®µéã§ããã©ãŒãã³ã¹ã®äœäžãæ€åºããããã«èªåãã¹ããå®è£ ããŸãããããã¬ã¹ãã©ãŠã¶ãŸãã¯WebXRãšãã¥ã¬ãŒã¿ãŒæ¡åŒµæ©èœã䜿çšããŠãããã©ãŒãã³ã¹ãã¹ããèªåçã«å®è¡ããŸãã
- ãŠãŒã¶ãŒãã£ãŒãããã¯ïŒããã©ãŒãã³ã¹ãšå¿çæ§ã«é¢ãããŠãŒã¶ãŒãã£ãŒãããã¯ãåéããŸãããã®ãã£ãŒãããã¯ã䜿çšããŠããããªãæé©åãå¿ èŠãªé åãç¹å®ããŸãã
çµè«
ã³ã³ãããŒã©ãŒåŠçéåºŠã®æé©åã¯ãã¹ã ãŒãºã§æ²¡å ¥æã®ããWebXRäœéšãæäŸããããã«äžå¯æ¬ ã§ããå ¥åãã€ãã©ã€ã³ãçè§£ããããã©ãŒãã³ã¹ã®ããã«ããã¯ãç¹å®ãããã®èšäºã§æŠèª¬ãããŠããæé©åææ³ãé©çšããããšã§ãWebXRã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãå€§å¹ ã«åäžãããäžçäžã®ãŠãŒã¶ãŒã«ããé åçã§æ¥œããäœéšãäœæã§ããŸããã³ãŒãããããã¡ã€ã«ããã¢ã»ãããæé©åããããã©ãŒãã³ã¹ãç¶ç¶çã«ç£èŠããŠãã¢ããªã±ãŒã·ã§ã³ãããŸããŸãªããã€ã¹ã§ã¹ã ãŒãºã«å®è¡ãããããã«ããããšãå¿ããªãã§ãã ãããWebXRãã¯ãããžãŒãé²åãç¶ããã«ã€ããŠãæå 端ã®XRäœéšãäœæããããã«ææ°ã®æé©åææ³ãææ°ã®ç¶æ ã«ä¿ã€ããšãäžå¯æ¬ ã«ãªããŸãã
ãããã®æŠç¥ãæ¡çšããããã©ãŒãã³ã¹ç£èŠã«æ³šæãæãããšã§ãéçºè ã¯WebXRã®åãæŽ»çšããŠãã°ããŒãã«ãªãŒãã£ãšã³ã¹ã«ãªãŒãããçã«æ²¡å ¥çã§é åçãªäœéšãäœæã§ããŸãã