NECãœãªã¥ãŒã·ã§ã³ã€ãããŒã¿ã®ãã¯ãããžãŒã¢ã³ããµããŒããã¡ã¿ããŒã¹æªçµéšè åãã«æ³šç®ãã€ã³ããæè¡ç¿åŸã解説ïŒ
ã²ãŒã ããã£ãããçŸå®äžçãããŒãã£ã«ç©ºéã§ãªã¢ã«ã«åçŸããããžã¿ã«ãã€ã³ãªã©ããŸããŸãçãäžãããèŠããã¡ã¿ããŒã¹ãä»åã¯NECãœãªã¥ãŒã·ã§ã³ã€ãããŒã¿ã®ãã¯ãããžãŒã¢ã³ããµããŒããã¡ã¿ããŒã¹ãã°ã©ãã£ãã¯ã®é¢é£æè¡ã®ãã£ããã¢ããæ¹æ³ãèªã£ããåå è ãå®éã«VRç°å¢ãæ§ç¯ãäœéšãããªã©ãã¯ãŒã¯ã·ã§ããã§çãäžãã£ããECSãA-Frameãªã©ãXRæè¡ã«é¢ããåºç€ç¥èã解説
NECãœãªã¥ãŒã·ã§ã³ã€ãããŒã¿æ ªåŒäŒç€Ÿ
ãã©ãããã©ãŒã äºæ¥ã©ã€ã³
ãã©ãããã©ãŒã ãµãŒãã¹äºæ¥éš
森 ç¥ç£šæ°
2019å¹Žã«æ°åã§NECãœãªã¥ãŒã·ã§ã³ã€ãããŒã¿ã«å ¥ç€Ÿããæ£®ç¥ç£šæ°ã¯ãéä¿¡åºç€ã®ç ç©¶ãæ°èŠäºæ¥ã®ç«ã¡äžããAWSãWebéçºãšãã£ãæ¥åããããžã§ã¯ãã«æºãã£ãŠããããã®ãããå®åã«ãããŠã¯VRãARãšãã£ãæè¡ã«è§Šããããšã¯ãªãã£ãã
äžæ¹ã§ãCGå¶äœãè¶£å³ã§ãã£ãããšããããã©ã€ããŒãã§VRãARã«èå³ãæã¡ãèªãåŠã³ãããŸããŸãªæè¡ã身ã«ä»ããŠãããšããã
ãåå è å šå¡ãVRã®æŠå¿µãçè§£ããèªãæãåããç°¡åãªWebVR/ARãå®è£ ã§ããããã«ãªã£ãŠã»ããããšè¿°ã¹ããŸãã¯VRãARã®æŠå¿µãªã©ã®è§£èª¬ããã»ãã·ã§ã³ãéå§ããã
VRã¯ä»®æ³çŸå®ãšãèšããããšããããã¹ãŠãããžã¿ã«ã§æ§ç¯ããã空éã§ãããå€çš®å€æ§ãªäžçãå®çŸã§ããå¯èœæ§ãç§ããŠãããäžæ¹ãæ¡åŒµçŸå®ãšåŒã°ããARã¯ããžã¿ã«æ å ±ãçŸå®ç©ºéã«è¡šç€ºããããšã§ãçŸå®äžçã®æ å ±æ¡åŒµãã§ãããšããç¹åŸŽãæã€ã
ããã«æè¿ã¯ãARãšVRã®äžçãè¡ãæ¥ãããäŸãã°ãVRäžã§æããããŒã«ãçŸå®ã®å£ã«åå°ãããšãã£ããMRïŒè€åçŸå®ïŒãšã®æè¡ã泚ç®ãããŠãããApple Vision ProãMeta Quest 3ãªã©ã®ããã€ã¹ããããã®æè¡ãäœéšã§ããã

ç¶ããŠè§£èª¬ãããã®ã¯ãã²ãŒã éçºãªã©ã§äœ¿ãããéçºææ³ãECSïŒEntity Component SystemïŒãã ãECSã¯Entity ãComponentãSystemã®3èŠçŽ ããæ§æãããŠãããããããã®é æåãåã£ãèšèã§ãããã
Entityã¯ããã£ã©ã¯ã¿ãŒãã¢ã€ãã ãšãã£ãç»é¢äžã«æç»ãããŠãããªããžã§ã¯ãã§ããããã®ãªããžã§ã¯ããEntityã«ç©æ§ã座æšãé床ãšãã£ãåçš®ããŒã¿ã³ã³ãããçŽä»ããã®ãComponentã®åœ¹å²ã ããããŠãåComponentã«å¯ŸããŠç§»åãç©çæŒç®åŠçãè¡ãã®ãSystemãšãªãã

äŸãã°ãã²ãŒã ã§ãã£ã©ã¯ã¿ãŒãç§»åããããã«ã¡ã©äœçœ®ãå€ãã£ããããã®ã¯ãŸãããECSã®ç§»åã·ã¹ãã ã«ãããã®ã ã
ãã Componentã¯å€ãããšãã§ãããããåŸ æ©ç¶æ ã®ãŸãŸæ©ããŠããŸããšãã£ã倱æããã°ãèµ·ãããããšãã匱ç¹ããããšææãããã

ãŸãã以äžã¹ã©ã€ãã®ããã«è¡çªå€å®ãšã®èšå®ãããã°ã©ã ããªããšãããæããŠããŸããããªããšãçãããšãããæŽ»çšã«ãããæ³šæç¹ãè¿°ã¹ãããã

ç¶ããŠãå®éã«VRç°å¢ãå®çŸãããã¬ãŒã ã¯ãŒã¯ãA-Frameãã玹ä»ããããA-Frameã¯HTMLã§WebVR/ARãæ§ç¯ã§ããOSSãã¬ãŒã ã¯ãŒã¯ã§ããã
WebVR/ARãšã¯å°çšã®ã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ããããšãªããWebãã©ãŠã¶äžã§çŽæ¥ããã°ã©ãã³ã°ã§ããç¹åŸŽãæã€ã森æ°ã¯æ¬¡ã®ããã«è£è¶³ããã
ãç°¡åãªVRãæè»œã«äœãããå Žåã¯åããŠããŸããããªãããªã³ã³ãã³ããå¶äœããããšæãéã«ã¯åããŠããŸãããæ¬æ Œçã«äœã蟌ãéã«ã¯ãUnityãUnreal Engineãšãã£ãã¢ããªã±ãŒã·ã§ã³ã®æ¹ãåããŠããããã§ããïŒæ£®æ°ïŒ
UnityãUnreal Engineãšã¯ãã²ãŒã éçºã«å¿ èŠãªåçš®ããŒã«ãç°å¢ãæŽåãããéçºãã©ãããã©ãŒã ã§ãããäžççã«æåãªã²ãŒã ã®å€ããäž¡ãšã³ãžã³ã«ããéçºãããŠããã
ããããã¯å®éã«ãA-Frameã䜿ã£ãŠWebVR/ARãåå è ãäœéšããã¯ãŒã¯ã·ã§ãããšãªã£ããæ£®æ°ã¯ä»¥äžã®ãœãŒã¹ã³ãŒããã¹ã©ã€ãã§ã¹ã©ã€ãã§ç€ºãããã£ããã§ãå ±æããã
<script>ã¿ã°å ã§A-Frameã®ã€ã³ããŒãããã¿ã°ã§VR空éã®äœæããã¿ã°ã§ç®±ãäœæããäœçœ®ãéãè²ãšãã£ãè²æå®ãããŠãããªã©ããœãŒã¹ã³ãŒãã®å 容ã解説ããããžã·ã§ã³ãã«ã©ãŒãå ã»ã©èª¬æããã³ã³ããŒãã³ãã«ãªããŸãããšè£è¶³ããã

å®éãå€ãã®åå è ãåãœãŒã¹ã³ãŒããå®è¡ããã¹ã©ã€ãå·Šäžã«ç€ºãããŠããVRç°å¢ããã©ãŠã¶äžã§äœéšããã
A-Frameã䜿ã£ãŠARç°å¢ãäœéšã§ããã¯ãŒã¯ã·ã§ããã§ã¯ããµã³ãã«ã³ãŒãã瀺ããŠåå è ãšå ±æãããA-Frameã®ã€ã³ããŒãã«å ããAR空éãå®çŸããããã®ã©ã€ãã©ãªAR.jsãã€ã³ããŒããããŠããã
Entityãå®ç©ºéã«è¡šç€ºãããããã®ç®å°ãšãªãARããŒã«ãŒïŒ< a-marker >ïŒã远å ãæå®ãããŠããããšãåããããªãã¯ãŒã¯ã·ã§ããã§ã¯VR/ARãšãEntityã¯éãç®±ã§ãã£ãããå€ããããšã§å€æ§ãªè¡šçŸãã§ãããšããã

Networked A-Frameã䜿ã£ãã¯ãŒã¯ã·ã§ããã§ãåå è ãWebVR/ARãäœéšïŒ
ç¶ããŠã®ã¹ãããã¯ãè€æ°ã®ãŠãŒã¶ãŒãã¡ã¿ããŒã¹ç©ºéãå ±æã§ãããWebRTCïŒWeb Real-Time CommunicationïŒããšããæè¡ãšãåæè¡ãå®è¡ãããã¬ãŒã ã¯ãŒã¯ãNetworked A-FrameïŒä»¥äžãNAFïŒãã®ã¯ãŒã¯ã·ã§ããã§ããã
ä»åã®ã¯ãŒã¯ã·ã§ããã§ã¯ããã§ã«æ§ç¯ãããŠããã¡ã¿ããŒã¹ç©ºéã®ã¢ãã¬ã¹ãåå è ã«å ¬éãããŸãã¯äœéšããŠããã£ãæ¹ãåãããããããšãå®éã«ã¢ã¯ã»ã¹ã§ãããœãŒã¹ã³ãŒããå ±æããã

森æ°ãäœæããã¡ã¿ããŒã¹ã¯å®å®ãæš¡ãã空éã«ãçæ¿ãããããæµ·ããã³ã®ã³ããããŠã£ãŒã³ã§ç»å Žãããã£ã©ã¯ã¿ãŒãªã©ãæ°å€ãæãããŠããããŠãŒã¶ãŒã¯ããŸããŸãªãšãªã¢ã«ç§»åããããšãã§ããã
ãŸãããã¡ããåããç©çæŒç®ã·ã¹ãã ãå®è£ ãããŠãããããã¹ããŒã¹ããŒã§çãçºå°ããããããããã£ã©ã¯ã¿ãŒãåãããšãå¯èœã ã
森æ°ãäœã£ãã¡ã¿ããŒã¹ç©ºéãäœéšããåå è ããã¯ãé©ããç§°è³ã®çµµæåãå€ãçºãããããæ£®æ°ã¯æ¹ããŠã¡ã¿ããŒã¹ç©ºéã®ç¹åŸŽãæŽ»çšæ¹æ³ã次ã®ããã«è¿°ã¹ãã
ãäŒç€Ÿã®ã¡ã³ããŒã§éãŸãã€ãã³ãã£ãŠãããŸãããããã®éã«ããã®ããã«ã²ãŒã æ§ãæãããã¡ã¿ããŒã¹ãå®è£ ããŠãããšãé¢çœã¿ãæ°é®®å³ãåºããšèããŠããŸããïŒæ£®æ°ïŒ

WebRTCã¯ãæåããå
±éã®ã·ã°ããªã³ã°ãµãŒããŒã«ã¢ã¯ã»ã¹ãããã以éã¯ãŠãŒã¶ãŒå士ãçŽæ¥éä¿¡ããããããµãŒããŒãžã®è² æ
ãããã»ã©ã§ã¯ãªããšãããã¡ãªããã§ããã
森æ°ã¯ãNAFãAWSã§æ§ç¯ããããã®æ§æå³ãæ§ç¯æé ã䜵ããŠç޹ä»ããçããããã²ãšãå®éã«ç°å¢ãæ§ç¯ããããããäœã£ãŠã¿ãŠãã ããããšãçµå§æãåãããªãããäœéšããããšã®éèŠæ§ãèªã£ãã

森æ°ã¯ãXRã®ä»åŸã®æŽ»çšäºäŸã«ã€ããŠãèŠè§£ãè¿°ã¹ããMRã§ã¯HMDãè£
çããããšã§ãã¬ã·ãåç»ãèŠãªããæçãé²ããããšãã§ããããéã®äžã«ããŒãã£ã«ã®ãããã³ã¿ã€ããŒãã»ããã§ãããããããã«ãªãã
VRã§ã¯ä»ãŸãã«çãäžãã£ãŠããSNSãã²ãŒã ã¯ããã«çºå±ããŠãããšåæã«ãGoogle Earth VRãæŽ»çšããå®¶ã«ããªããäžçäžãæ
è¡ããŠãããããªäœéšãåŸãããããã«ãªããARã§ã¯åŸ
ã¡åããã®éã建ç©ã®è£åŽã«ããçžæãããã«èŠã€ãããããšãã£ã掻çšãããã ãããšèªã£ãã æåŸã«æ£®æ°ã¯ãä»åã®ã³ã³ãã³ããäœæããããã«å©çšããæè¡èŠçŽ ãæµããæ¹ããŠç޹ä»ãããã€ã©ã¹ãäœæã¯Illustratorã3Dã¢ãã«ã®äœæã¯BlenderãäœæããEntityãA-Frameäžã«å®è£
ããAWSã«ãããã€ããŠãã£ããã€ãŸããã¡ã¿ããŒã¹ç©ºéãå®çŸããããã«ã¯ããã ãã®æè¡èŠçŽ ãå¿
èŠãšããããšã«ãªãã

森æ°ã¯æ¬¡ã®ããã«è¿°ã¹ãè¬æŒã»ãã·ã§ã³ãç· ããã
ãå®éã¯ä»ã®æè¡ãããŒã«ãå¿
èŠã§ãããå€ãã®ã¹ãã«ã»ãããæ±ããããŸãããŸããè€æ°ã®æè¡èŠçŽ ãæããããšã®ã§ãããã£ã¬ã¯ã·ã§ã³ã¹ãã«ãå¿
èŠã«ãªã£ãŠãããªã©ããªãããªã³ã³ãã³ããå¶äœããã«ã¯åå
¥éå£ã¯äœããªããšèããŠããŸããïŒæ£®æ°ïŒ
å€ãã®è³ªåãå¯ããããçãäžãã£ãQ&Aã¿ã€ã
è¬æŒã»ãã·ã§ã³åŸã¯Q&Aã¿ã€ã ãšãªããæ£®æ°ãåå è ããã®åãã«åçãåå è ããã¯æ¬¡ã ãšè³ªåãå¯ãããããã®æ°ã¯æçµçã«40åè¿ããªãã倧ãã«çãäžãã£ããæç²ããŠç޹ä»ããã
QïŒ3dã¢ãã«ã®ããŒã¿ã¯äœã䜿ã£ãŠããã
GLTFïŒGL Transmission FormatïŒãšãã圢åŒã䜿ã£ãŠããŸãã
QïŒA-frameã§GLBãã¡ã€ã«ãèªã¿èŸŒãããšã¯å¯èœã
å¯èœã§ãã
QïŒA-Frameã§äœ¿çšã§ããçŽ æãµã€ãã®ããããã¯ïŒ
Adobeã®ãMixamoããããããã§ããç¡æã§3Dã¢ãã«ã«ã¢ãã¡ãŒã·ã§ã³ãå ãããã®ãããŠã³ããŒãã§ããŸãã

QïŒå ¬éããã«ã¯ãµãŒããŒãå¿ èŠãããŸããµãŒããŒã¯AWS以å€ã§ãå¯èœã
A-Frameã ãã§ããã°ãç¡æã§é ä¿¡å¯èœã ãšæããŸããäžæ¹ã§ã»ãã·ã§ã³ã§ã説æãããšãããNAFã®å Žåã¯ã·ã°ãªã³ã°ãµãŒããå¿ èŠã«ãªã£ãŠããŸããAWS以å€ã®ãµãŒããŒã§ãå®è£ å¯èœã§ãã
QïŒA-Frameããã¯ãåŠã³ãããã
A-Frameã¯ãWebçµéšããã人ã«ãšã£ãŠåå ¥éå£ãäœããã¬ãŒã ã¯ãŒã¯ã§ãããã®ããWebçµéšããªãæ¹ã¯ãA-FrameãåŠã¶ã®ãUnreal EngineãåŠã¶ã®ãã©ã¡ããååŠã®å£ããããšæããŸãããŸãã¯ãèå³ãæã£ããã¬ãŒã ã¯ãŒã¯ã䜿ã£ãŠã¿ããšãããšæããŸãã
QïŒç©çã®å ¬åŒèŠããŠããªããšç©çæŒç®å®è£ ããããšã¯é£ããã
é£ãããšæããŸãããšããã®ã现ããªåããå®çŸãããããšãããšãéããªãç©çã®åãã«è¿ã¥ããŠããããã§ããç©çã®å ¬åŒããã¹ã¿ãŒãããæ¹ãã<ããç°¡åã§ééããªè¡šçŸãã§ãããšæããŸãã
QïŒWebã®ç¥èãã©ã®çšåºŠããã°ã¹ã¿ãŒãã§ãããããŒãã§ãå¯èœã
ãŒãã§ã倧äžå€«ã ãšæããŸãããšããã®ãç§ãA-Frameãå§ãããšããHTMLãCSSã®ç¥èã¯ã»ãšãã©ãŒãã ã£ãããã§ãã
QïŒã¡ã¿ããŒã¹ã«é¢ããäžã§æåã«åŠã¶ã¹ãããšã¯ïŒ
æ£ããã©ãŒãã³ã°ãã¹ãã©ããã¯åãããŸããããèªåã®èå³ã®ããããšããåŠã³ãŸããããäŸãã°çµµãæãã®ã奜ããªäººã¯ããããã3Dã¢ãã«ãã¢ãã¡ãŒã·ã§ã³å¶äœã«èå³ããã人ã¯ãååéãããšãã£ãå ·åã§ãã奜ããªåéããåŠã¶ãšç¶ããšæãããã§ãã
QïŒNAFã¯åã¯ã©ã€ã¢ã³ãåŽã§åæåŠçãè¡ã£ãŠããã®ã
ãã®ãšããã§ãã1床ã·ã°ããªã³ã°ãµãŒããŒãä»ããŠã¯ã©ã€ã¢ã³ãéã®æ¥ç¶æ å ±ãæž¡ã£ããããã®åŸã¯ã¯ã©ã€ã¢ã³ãå士ã§ã¢ãã¿ãŒåº§æšãé³å£°ãå ±æããŠããããµãŒããŒã¯é¢äžããŠããŸããã
QïŒèªåãäœã£ã3dã¢ãã«ã«ã¢ãã¡ãŒã·ã§ã³ãå ¥ããã«ã¯ã©ãããæ¹æ³ãããããã
Mixamoãããããã§ããèªåã§äœã£ã3Dã¢ãã«ãMixamoã«ã¢ããããŒãããUPLOAD CHARACTERãšããæ©èœã䜿ãããšã§ã¢ãã¡ãŒã·ã§ã³ãäœæãããããŠã³ããŒãã§ããŸãã
QïŒä»æ¥ç޹ä»ãããããªãµã€ãã«é³ã¯ã€ããããã®ã
广é³ãBGMãã€ããããšãå¯èœã§ãã
QïŒã¡ã¿ããŒã¹ã®ä»åŸã®æŽ»çšäŸã¯ïŒ
ã»ãã·ã§ã³ã§ã玹ä»ãã倪éœç³»ãæš¡ãã空éãªã©ãå®éã«ã¯èŠããªãã£ããè¡ããªããããªå Žæããã®ããããããã®å€§ãããè·é¢æã衚çŸã§ãããããªæŽ»çšäŸããããšæããŸãããåŠã³ã«ãã€ãªãããšæããŸãã
QïŒMixamoã¯äººä»¥å€ã®å¯Ÿè±¡ãæ±ããã
çŸåšã¯äººäœã®ã¿ããã€ãäž¡æãåºããããŒãºãªã©éªšæ Œãå ¥ããããäœåã«éå®ãããŠããŸãã
QïŒApple Vision Proãªã©ã®å°é ã«ããWebVR/ARã®æè¡ã®æªæ¥ã¯ïŒ
Apple Vision Proãè³Œå ¥ããã®ã§ããã°ããªãããªãã€ãã£ãã¢ããªã±ãŒã·ã§ã³ã楜ããããšæããŸããäžæ¹ã§ãWebVR/ARã®æè¡ã¯ãã¡ãã§ã玹ä»ããããã«ç€Ÿå ã®ã¡ãã£ãšããã€ãã³ãã§æŽ»çšãããªã©ã棲ã¿åãããããŠããã°ä»åŸã掻çšããããšèããŠããŸãã
QïŒæ¢åã®webã·ã¹ãã ã«æ°æ©èœãšããŠã¡ã¿ããŒã¹ãå®è£ ããæé©ãªæ¹æ³ã¯ïŒ
A-Frameãããã¯A-Frameå ã§äœ¿ã£ãŠãããäžèº«ã¯JavaScriptã®three.jsãšããæè¡ã䜿ã£ãŠå®è£ ããã®ãããããšæããŸãã
QïŒçŽ ææ¢ãã®ã³ãã¯ïŒ
XïŒæ§TwitterïŒã§è©³ãã人ããã©ããŒããŠãçºä¿¡ãããæ å ±ãåèã«ããŠããŸãã
QïŒARãå±éã§ããã³ã³ãã³ãã®ç¯å²ã¯ïŒ
ããªãå¹ åºãã³ã³ãã³ããå±éã§ããã®ã§ã¯ãªãããšæã£ãŠããŸããäŸãã°ç®çå°ãèšå®ããŠãããçãããç¥ãããã¿ã°ãäžãããªã©ãçŸå®äžçã®å»ºç©ã空éèªèã«ARããæ å ±ãæ¡åŒµããé åã¯ããããªããã«ãªã£ãŠãããšæã£ãŠããŸãã
NECãœãªã¥ãŒã·ã§ã³ã€ãããŒã¿æ ªåŒäŒç€Ÿ
https://www.nec-solutioninnovators.co.jp/
NECãœãªã¥ãŒã·ã§ã³ã€ãããŒã¿æ ªåŒäŒç€Ÿã®æ¡çšæ
å ±
https://www.nec-solutioninnovators.co.jp/career/
ããããã€ãã³ã
é¢é£ããã€ãã³ã

HTML/JSã§åµãVRãšARã®äžçïŒã¡ã¿ããŒã¹ã»ã°ã©ãã£ãã¯ã»ã¢ãã¡...
2024幎02æ08æ¥ (æš)ããããã®èšäº

Unity/Unreal Engineã§XRãäœãäžã§ãæŒãããŠããããã3DããŒã¿ã®æ§é ããšåãæ±ãæ¹

ISIDããäºææ¡åŒµããã€ã¹ããé éå¹»è¢çã»ã©ããŒã·ã¹ãã ããªã©ã®ç€ŸäŒèª²é¡ã解決ããéçºäºäŸãå€§å ¬é










