æè¿ãªãªãŒã¹ãããIntel RealSense F200ã«ã¡ã©SDKã«ã¯3Dã¹ãã£ã³ãå«ãŸããŠããŸã ã ããã¯ãéçºè ãšã³ã³ãã¥ãŒã¿ãŒã°ã©ãã£ãã¯ã¹ãã·ã£ãªã¹ããå®éã®ãªããžã§ã¯ããã¹ãã£ã³ããŠãããžã§ã¯ãã«é©çšã§ããããã«ããçŽ æŽãããæ©èœã§ãã ãã®ãã¯ãããžãŒã®äœ¿çšã®äžäŸã¯ãUnityã²ãŒã ãšã³ãžã³ã§äœ¿çšããããã«å®éã®ãªããžã§ã¯ããã¹ãã£ã³ããããšã§ãã ãã®èšäºã§ã¯ããã®ããã»ã¹ã®è©³çŽ°ã玹ä»ããŸãã
äœãå¿ èŠã§ããïŒ
- SDKãã€ã³ã¹ããŒã«ããã第4äžä»£Intel Coreããã»ããµãŒä»¥äžã®Intel RealSenseã«ã¡ã©ïŒSDKã¯ç¡æïŒ
- Intel RealSenseãã¯ãããžãŒã䜿çšããŠã¹ãã£ã³ãããPLYãã¡ã€ã«ã«å€æããããªããžã§ã¯ãïŒç¡æã®MeshLabããã°ã©ã ã䜿çšïŒ
- BlenderïŒããªãŒãŠã§ã¢ïŒ
Intel RealSense SDKã䜿çšããã¹ãã£ã³
Intel RealSense SDKãã€ã³ã¹ããŒã«ããŸãã Windowsã§ãšã¯ã¹ãã¬ã¹ãã¿ã³ããŒãéããRealSenseãèŠã€ããŸãã ãªã¹ãã«ãRealSense SDKãµã³ãã«ãã©ãŠã¶ãŒã衚瀺ãããŸãã ãããå³ã¯ãªãã¯ããŠãã管çè ãšããŠå®è¡ããéžæããŸãã
ãµã³ãã«ãã©ãŠã¶ã«ã[å ±éãµã³ãã«]ã¿ãã衚瀺ãããŸãã ãããã¯ãF200ãšR200ã®äž¡æ¹ã§æ©èœããäŸã§ãã 3D ScanïŒC ++ïŒãšåŒã°ããäŸãèŠã€ããŸãã
3Dã¹ãã£ã³æã«ç¥ã£ãŠããã¹ãããš
- ãã®äŸã¯ããªããžã§ã¯ããã«ã¡ã©ã®åã§å転ãããšãã«ç©ºéå ã®åäœã®3次å ãªããžã§ã¯ãããã¬ãŒã¹ããããã«èšèšãããŠãããããããŸããŸãªè§åºŠãããªããžã§ã¯ããã¹ãã£ã³ã§ããŸãã
- ãªããžã§ã¯ãã®äžéšãå転ããããäžæ¹ãå転ããªãå Žåããã¬ãŒã¹ãè€éã«ãªããäœå質ã®ã¹ãã£ã³ãäœæãããŸãã ããšãã°ãé ãã¹ãã£ã³ããå ŽåãéŠã«å¯ŸããŠå転ãããªãã§ãã ãããããããªããšãã¹ãã£ã³ã®å質ãäœäžããŸãã 代ããã«ãèŽäœå šäœãå転ãããŠãã«ã¡ã©ãèŽäœã1ã€ã®ãªããžã§ã¯ããšããŠèªèã§ããããã«ããŸãã
- ååŸã«äœãåŸããèŽäœãå·Šå³ã«åããŠãå®å šãªå転ãè¡ãããšãã§ããŸãã æéãçµã€ã«ã€ããŠããªããžã§ã¯ãã360床å転ãããŠã¹ãã£ã³ããæ¹æ³ãåŠç¿ã§ããŸãã
- åäžãªå ã§ãªããžã§ã¯ããã¹ãã£ã³ããŸãã 圱ãå ã®åå°ã3Dãã¯ã¹ãã£ã«å«ãŸããããã圱ã¯é¿ããŠãã ããã
ã¹ãã£ã³ã®æ®µéã
ãµã³ãã«ãã©ãŠã¶ã§ã[å®è¡]ãéžæããŸãã
- ã«ã¡ã©ã®åã«ãªããžã§ã¯ããé 眮ãããšãã¹ãã£ããŒã«ãã®è¡šç€ºã衚瀺ãããŸãã 2çªç®ã®ãŠã£ã³ããŠã衚瀺ããããŸã§åŸ ã¡ãŸãã
- 2çªç®ã®ãŠã£ã³ããŠã衚瀺ããããããã«ããªããžã§ã¯ããäžæ¹ã®æ¹åã«å転ããã次ã«ããäžæ¹ã®æ¹åã«å転ããã360床å転ãããŸãã ãã®åŸããªããžã§ã¯ããåŸãã«åŸãã次ã«åã«åŸããŠãããå ã®äœçœ®ã«ä¿æããŸãã é¡ãã¹ãã£ã³ããå Žåã¯ãæåŸã®æ°ç§éãã«ã¡ã©ã®åã§èªåã®åãçŽæ¥èŠãŠãç®ã1ã€ã®äœçœ®ã«åºå®ãããããã«ããå¿ èŠããããŸãã
- ã¹ãã£ã³ãå®äºãããšãWebãã©ãŠã¶ãŒãŠã£ã³ããŠãéããçµæã®ç»åã移åããã³å転ã§ããŸãã ç»åã¯ã3Dscan.objãšããååã§Documentsãã©ã«ããŒã«ä¿åãããŸãã
- ãã®äŸãäœåºŠã§ã䜿çšããŠãã¢ããªã±ãŒã·ã§ã³ãã²ãŒã ã§å€æŽããŠäœ¿çšã§ããé«å質ã®ã¹ãã£ã³ãäœæã§ããŸãã
ãã¡ã€ã«ãPLY圢åŒã«å€æãã
ã¹ãã£ã³æã«ããã¡ã€ã«ã¯ããã©ã«ãã§OBJ圢åŒã§ä¿åãããŸãã ç¡æã®MeshLabããŒã«ã䜿çšããŠããã¡ã€ã«ãPLY圢åŒã«å€æã§ããŸãã
MeshLabïŒç¡æïŒãããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããŸãã
[ãã¡ã€ã«]ã¡ãã¥ãŒãã[ã€ã³ããŒã]ãéžæããŸãã Documentsãã©ã«ããŒã®ã«ãŒãã«ãã3Dscan.objãã¡ã€ã«ãéžæããŸãã
ã€ã³ããŒããããªããžã§ã¯ãã暪ã«å転ãããããšãã§ããŸãã ãªããžã§ã¯ãã®äžéšãå·Šã¯ãªãã¯ããŠãã©ãã°ãããšããªããžã§ã¯ããå転ããŠè¡šç€ºã§ããŸãã è²ä»ãã®ãã¯ã¹ãã£ã®ã°ãªããã衚瀺ãããŸãã è²æ å ±ã¯é ç¹è²åœ¢åŒã§ä¿åãããŸããã€ãŸããåé ç¹ã¯ãã¹ãã£ã³äžã«ã«ã¡ã©ãåãåã£ãRGBè²ã®ãã¯ã»ã«ã§ãã€ã³ããããŸãã
[ãã¡ã€ã«]ã¡ãã¥ãŒããã[ã¡ãã·ã¥ããšã¯ã¹ããŒã]ãéžæããŸãã
ãã€ã¢ãã°ããã¯ã¹ã§ãStanford Polygon File FormatïŒ* .plyïŒãéžæããŸãã
ä¿åãããšãã«ãæ€çŽ¢ã§ãããã¹ãæå®ããŸãã
ããã§ãBlenderã§äœæ¥ã§ããããã«ãªããŸãããããã§ãã°ãªããããããã«ããé ç¹ã®è²ãUVã«ãŒã圢åŒã«å€æã§ããŸãã
Blenderã®é ç¹ã«ã©ãŒãšUVããã
ãã€ã³ãã¯ã3次å ã¢ãã«ãã¡ã€ã«ãã€ã³ããŒããããã®ã³ããŒãäœæããããšã§ãã 次ã«ãã³ããŒãæ¶å»ããã¢ãã«ã®æ°ããããŒãžã§ã³ã§é ç¹ã®è²ãUVããããšããŠäœ¿çšããå¿ èŠããããŸãã
Blenderã§æ°ãããããžã§ã¯ããäœæããImport PLYãéžæããŠãMeshLabãããšã¯ã¹ããŒããããPLYãã¡ã€ã«ãéžæããŸãã
ã€ã³ããŒãåŸããã¯ã¹ãã£ããªãããšãããããŸãã
ãã¯ã¹ãã£ãã¥ãŒã«åãæ¿ãããšãã¹ãã£ã³ããã¢ãã«ã®RGBã«ã©ãŒããã¯ã¹ãã£ã¢ãŒãã«ããããããŠããããšãããããŸãã
è²ãæ£ãã衚瀺ããã«ã¯ããããªã¢ã«ãã¥ãŒã«ç§»åããŸãã å³åŽã®ãã€ã³ã§ãææã¢ã€ã³ã³ãéžæããŸãã æ°ãããããªã¢ã«ãäœæããŸãã ããã«ãšãã£ã¿ã§ãShadingãShadelessã«èšå®ããOptionsã»ã¯ã·ã§ã³ã§ãVertex Color Paintãã§ãã¯ããã¯ã¹ãéžæããŸãã é ç¹ã®è²ã¯ããªããžã§ã¯ãã®ãããªã¢ã«ã«å²ãåœãŠãããŸãã
ã芧ã®ãšããããã®ãããªã¢ãã«ã䜿çšããããšã¯ã§ããŸããã ç©Žããã£ã±ãã§ãããªãŽã³ã®æ°ãç®çã®æ°ãã¯ããã«è¶ ããŠããŸãã ãã®ã¢ãã«ã®ããŒãžã§ã³ãäœæããå¿ èŠããããŸããããã¯ãUVããããšããŠé ç¹ã®è²ã§ãã¯ã¹ãã£ããããã«ããæ瀺ããããšãã§ããŸãã ãã®ããŒãžã§ã³ãUnityã«ã€ã³ããŒãããŠããŸãã
ã¢ãã«ãè€è£œãã
[ãªããžã§ã¯ã]ã¡ãã¥ãŒã«ç§»åããŸãã [ã¡ãã·ã¥ã®è€è£œ]ãéžæããEnterããŒãæŒããŸãã ããŠã¹ãã€ã³ã¿ãŒãåãããªãã§ãã ããã
[ãªããžã§ã¯ã]ã¡ãã¥ãŒã«ç§»åãã[ã¬ã€ã€ãŒã«ç§»å]ãéžæããŠãå³åŽã®ããã¯ã¹ãéžæããŸãã
ãªãœãŒã¹ãã©ãŠã¶ã«ç§»åããã¢ãã«ã®ååãå€æŽããŸãã ããšãã°ãæåã®ã¢ãã«ããå ã®ã¢ãã«ãã2çªç®ã®ã¢ãã«ãã2çªç®ã®ã¢ãã«ããšåŒã³ãŸãã ããã¯é åºãç¶æããã®ã«åœ¹ç«ã¡ãŸãã
2çªç®ã®ã¢ãã«ãéžæãã衚瀺ããã¬ãã«ãéžæããŠãã¢ãŒãããœãªããã¬ã³ããªã³ã°ã«åãæ¿ããŸãã
次ã«ãããŒã«ã¬ã³ãã¢ã€ã³ã³ãã¯ãªãã¯ããŠã修食åãè¿œå ããŸãã 2çªç®ã®ã¢ãã«ã®ããªãŽã³ã®æ°ãå€æŽããŠããããããã«ããŸãã
ãããŒã«ãã¡ãã¥ãŒããããªã¡ãã·ã¥ããéžæããŸãã RemeshããŒã«ããã¯ã¹ã§ãOct Treeãã©ã¡ãŒã¿ãŒã«7ã8ã®å€ãæå®ããŸãã ã¹ã ãŒãºã¢ãŒããéžæãã[ã¹ã ãŒãºã·ã§ãŒãã£ã³ã°]ããã¯ã¹ããªã³ã«ããŸãã ããã¯ããããªã¢ã«ãšæ¯èŒããŠæ¶ããŸãã
é©çšãã¯ãªãã¯ããŸãã ããã§ãé ç¹ãšUVMapãé©çšã§ããããã¯ãªãŒã³ãªã¢ãã«ãã§ããŸããã
ãã®2çªç®ã®ã¢ãã«ã®ç·šéã¢ãŒãã«åãæ¿ããŸãã [éžæ]ã¡ãã¥ãŒãã[ãã¹ãŠéžæ]ãéžæããŸãã
æ°ãããŠã£ã³ããŠãäœæããUVãããã¢ãŒãã«èšå®ããŠUVMapã衚瀺ããŸãã
3DãŠã£ã³ããŠã§ãã¡ãã·ã¥ã¡ãã¥ãŒã«ç§»åããUVãéžæããŸãã
UVããããŠã£ã³ããŠã§ãæ°èŠãéžæããŠãã¯ã¹ãã£ãäœæããŸãã [ã¢ã«ãã¡]ããã¯ã¹ããªãã«ããŸãã ãã¯ã¹ãã£çšã«ãšã¯ã¹ããŒããããã¢ãã«ã®ååãæå®ããŸãã
ãªããžã§ã¯ãã¢ãŒãã«åãæ¿ããŸãã é»ãã¢ãã«ãšé»ãUVãããã衚瀺ãããŸãã ããã¯æ£åžžã§ãã
次ã«ãShiftããŒã䜿çšããŠäž¡æ¹ã®ã¬ã€ã€ãŒãæå¹ã«ããŸãã
ãªãœãŒã¹ãšã¯ã¹ãããŒã©ãŒã§ãå ã®ã¢ãã«ãéžæããŸãã
ã«ã¡ã©ã®ã¢ã€ã³ã³ãã¯ãªãã¯ããŸãã
[ãã€ã¯]é åã§ã[ã¢ã¯ãã£ãã«éžæ]ãã§ãã¯ããã¯ã¹ããªã³ã«ããŸãã [é ç¹ã«ãã€ã¯]ãã§ãã¯ããã¯ã¹ããªãã«ãªã£ãŠããããšã確èªããŸãã
[ã·ãŒã³]ã»ã¯ã·ã§ã³ã§ã[è²ã®ç®¡ç]ã[ãªã]ã«èšå®ããŸãã
[ã¢ã»ãã]ã¡ãã¥ãŒãããæåã«å ã®ã¢ãã«ãéžæããŸãã 次ã«ãShiftããŒãæŒããªããã2çªç®ã®ã¢ãã«ãéžæããŸãã ïŒæ£ç¢ºã«ãã®é åºã§ãïŒäž¡æ¹ã®ã¬ã€ã€ãŒã¯ãç®ãšã«ã¡ã©ã®ã¢ã€ã³ã³ããªã³ã«ããŠè¡šç€ºãããã¯ãã§ãã
ã«ã¡ã©ã®ã¢ã€ã³ã³ãã¯ãªãã¯ããŸãã [ãã€ã¯]ã»ã¯ã·ã§ã³ã§ã[ãã€ã¯]ãã¯ãªãã¯ããŸãã
ããã§ããã¯ã¹ãã£ãããããšäžèŽããã¯ãã§ãã ããã確èªããã«ã¯ãæåã®ã¬ã€ã€ãŒãç¡å¹ã«ããŠã2çªç®ã®ã¢ãã«ãæã€ã¬ã€ã€ãŒã®ã¿ãæ®ãããã«ããŸãã ãã¯ã¹ãã£ãã¥ãŒã«ç§»åãããšãUVãããããã¯ã¹ãã£ãšããŠãªãŒããŒã¬ã€ãããã¢ãã«ã衚瀺ãããŸãã
ã¢ãã«ã®æ¬ èœéšåã®ç»åã®äžå®å®æ§ã«æ³šæããŠãã ããã
ãã¯ã¹ãã£ãã€ã³ãã¢ãŒãã«åãæ¿ããŠããããã®æ¬ é¥ãä¿®æ£ã§ããŸãã ãŸããã¹ã«ã«ããã¢ãŒãã«åãæ¿ããŠãäžè¶³ããŠããå Žæãåããããã¢ãã«ããããã«ããããæ°ããèŠçŽ ãè¿œå ãããã§ããŸãã ããã§ã¢ãã«ã®æºåãã§ããŸããããšã¯ã¹ããŒãã§ããŸãã ãããŠãæåŸã«çæããããšã
- UVMapããããåãååãæã¡ãã¢ãã«ãšåããã©ã«ããŒã«ããããšã確èªããŠãã ããã
- UVMapãŠã£ã³ããŠã«ç§»åããImageã¡ãã¥ãŒããSave Asãéžæããã¢ãã«ãä¿åãããã©ã«ããŒãéžæããŸãã
- 次ã«ã[ãã¡ã€ã«]ã¡ãã¥ãŒã«ç§»åããŠããã¡ã€ã«ã.FBX圢åŒã«ãšã¯ã¹ããŒãããUVããããšåãååãä»ããŸãã
ããã§ããã®3Dã¢ãã«ãUnityã«ã€ã³ããŒãããæºåãã§ããŸããã
Unityã«ãã¡ã€ã«ãã€ã³ããŒããã
åã®ããŒãã®æé ãå®äºãããšãUVãã¯ã¹ãã£ããããå«ã.FBX圢åŒã®ã¢ãã«ãåŸãããŸãã
UnityãéããŸãïŒUnity 5ã¯ç¡æã§ããŠã³ããŒãã§ããŸãïŒã
æ°ãããããžã§ã¯ããšã·ãŒã³ãäœæããŸãã
[ã¢ã»ãã]ã¡ãã¥ãŒãã[æ°ããã¢ã»ãããã€ã³ããŒã]ãéžæããŸãã Blenderãããšã¯ã¹ããŒããã.FBX圢åŒã®ã¢ãã«ãéžæããŸãã
ãªããžã§ã¯ããã€ã³ããŒããããšãããã®ãã¯ã¹ãã£ãã€ã³ããŒããããªãå¯èœæ§ã¯ååã«ãããŸãã
ãã®å Žåãã°ãªããã®ã©ã€ãã°ã¬ãŒããŒãžã§ã³ã衚瀺ãããŸãã ããã¯æ£åžžã§ãã 次ã«ããã¯ã¹ãã£ããããè¿œå ããŸãã
[ãããªã¢ã«]ãã©ã«ããŒãéžæããå³ã¯ãªãã¯ããŠ[ã¢ã»ããã®ã€ã³ããŒã]ãéžæããŸãã Blenderã§ä¿åããPNGãã¡ã€ã«ãéžæããŠã€ã³ããŒãããŸãã
ç°è²ã®çŽ æã®æšªã«ãã¯ã¹ãã£ãããã衚瀺ãããŸãã ããŒã«ã®åœ¢ã®ç°è²ã®ãããªã¢ã«ãå³ã¯ãªãã¯ããŸãããã®ååã¯ã°ãªããã®ååãšäžèŽãããããªã¢ã«ãåé€ããŸãã
Assetsãã©ã«ããŒã«æ»ããã€ã³ããŒãããã°ãªãããå³ã¯ãªãã¯ããŸãã åã€ã³ããŒããéžæããŸãã
åã€ã³ããŒãåŸããããªã¢ã«ãæ£ããäœæãããç®çã®ãã¯ã¹ãã£ã§ã°ãªããã衚瀺ãããŸãã
ã¢ãã«ããã¥ãŒããŒãã«ãã³ã¯è²ã§è¡šç€ºãããŠããå Žåã¯ãã«ã¡ã©ãªã©ã®å¥ã®ãªããžã§ã¯ããéžæããŠãããã°ãªãããå床éžæããŸãã ããã§æ£ãã衚瀺ãããã¯ãã§ãã
ããã§ããªããžã§ã¯ãã䜿çšããæºåãã§ããŸããã ãªããžã§ã¯ããã·ãŒã³ã«ãã©ãã°ããŸãã æ¡å€§ããŠã«ã¡ã©ã調æŽããç®çã®ãã¥ãŒãååŸã§ããŸãã
ã«ã¡ã©ã移åãããšãUnityã§ãªããžã§ã¯ããæ£ãã衚瀺ãããŸãã
æåŸã«ããã¯ã¹ãã£ãç·šéãããå ŽåïŒããšãã°ãå€å°å æ²¢ãæãããããïŒãMaterialsãã©ã«ããŒã«ç§»åããŠããã¯ã¹ãã£ã®çç¶ããŒãžã§ã³ãéžæããŸãã [ã€ã³ã¹ãã¯ã¿ãŒ]ãŠã£ã³ããŠã§ã¯ãåå°ã®çšåºŠãšæ»ããããç·šéããŠããã¯ã¹ãã£ã®åžæã®å€èŠ³ãåŸãããšãã§ããŸãã
幞éãšããªãã®ã³ã¡ã³ãã楜ãã¿ã«ããŠããŸãïŒ Twitterã§ç§ãèŠã€ããããšãã§ããŸãïŒ@bobduffyã