ä»å¹Žã®Microsoft // Buildã«ã³ãã¡ã¬ã³ã¹ã§ã¯ãå€ãã®æè¡çãªçºè¡šãšæè¡é©æ°ãçºè¡šãããã ãã§ãªããã€ãã³ãèªäœã§ããªãã®èå³æ·±ãæ©äŒããããŸããã
![](https://habrastorage.org/files/136/de3/d8a/136de3d8accb4cf8b311acf81e637cec.jpg)
HoloLensãšHolographic AcademyãXbox Oneéçºè ã¢ãŒããããã³Imagine Cup USAãã¡ã€ãã«ã®èå³æ·±ãæè¡ãããžã§ã¯ãã®è©³çŽ°-ãã®èšäºã§ããã«ã€ããŠãäŒãããããšæããŸãã
HoloLensãšNASA
Microsoftã¯NASAãšå ±åã§ããDestinationïŒMARSããšããHoloLensããã€ã¹ã䜿çšããŠç«æã調æ»ããå ±åãããžã§ã¯ããå°å ¥ããŸããã
ãã®äŒè°ã«ã¯ãç«æãžã®çéžã®ãã¢ãè¡ã倧ããªã¹ã¿ã³ããããããã¢ã®ãã±ãããåãåã£ãå蚪åè ã¯ãç«ææ¢æ€å®¶ãè£ ã£ãŠæããããšãã§ããŸããã
ã¡ãã£ãšããèæ¯
ãã®ãããžã§ã¯ãã®ã«ãŒãã¯ãç«ææ¢æ»æ©ãSuriosityããç«æã«çéžãããèµ€ãææãã®æ¢çŽ¢ãéå§ãã2012幎ã«é¡ããŸãã
æ°å¹Žãçµã¡ãNASAã«ã¯ãç«æã®è¡šé¢ãšå€§æ°ã®ããŸããŸãªããŒã¿ãç»åãåæããããŸãã
奜å¥å¿ãšãã®å身ããåŸããããã¹ãŠã®ææã¯ãç«æã®æ£ç¢ºãªè¡šé¢ãåçŸããããã«äœ¿çšãããŸããã ãã¢ãDestinationïŒMARSãã§åŸãããã®ã¯åœŒå¥³ã§ãã
NASAèªäœã§ã¯ãHoloLensã®ãã¹ãŠã®æ©èœãšããŒã«ã䜿çšããŠãç«æãç 究ãããèµ€ãææãã§ã®å¥œå¥å¿ã®ã«ãŒããšæŽ»åãèšç»ããŠããŸãã ãããã¯ãã¹ãŠã®éçºè ãã³ã³ãã¥ãŒã¿ãŒã«ã€ã³ã¹ããŒã«ãããšãã¥ã¬ãŒã¿ãŒã§ããã°ã©ã ãäœæããäœæ¥ãéå§ã§ããã®ãšåãéçºããŒã«ã§ãã
![](https://habrastorage.org/files/7a9/462/a77/7a9462a77bd84674b9bec4814d2ecafc.jpg)
æ°å¹Žãçµã¡ãNASAã«ã¯ãç«æã®è¡šé¢ãšå€§æ°ã®ããŸããŸãªããŒã¿ãç»åãåæããããŸãã
奜å¥å¿ãšãã®å身ããåŸããããã¹ãŠã®ææã¯ãç«æã®æ£ç¢ºãªè¡šé¢ãåçŸããããã«äœ¿çšãããŸããã ãã¢ãDestinationïŒMARSãã§åŸãããã®ã¯åœŒå¥³ã§ãã
NASAèªäœã§ã¯ãHoloLensã®ãã¹ãŠã®æ©èœãšããŒã«ã䜿çšããŠãç«æãç 究ãããèµ€ãææãã§ã®å¥œå¥å¿ã®ã«ãŒããšæŽ»åãèšç»ããŠããŸãã ãããã¯ãã¹ãŠã®éçºè ãã³ã³ãã¥ãŒã¿ãŒã«ã€ã³ã¹ããŒã«ãããšãã¥ã¬ãŒã¿ãŒã§ããã°ã©ã ãäœæããäœæ¥ãéå§ã§ããã®ãšåãéçºããŒã«ã§ãã
![](https://habrastorage.org/files/765/05e/938/76505e9386e74acebdfb5dd9381eb370.jpg)
éšå±ã«å ¥ãã®ã¯çŽ25å¹³æ¹ã¡ãŒãã«ã§ãã mãããã¹ãŠã®åå è ã¯éšå±ã®åšãã«é 眮ãããçã玹ä»ã®åŸãç«æã®è¡šé¢ã®3Dã¢ãã«ã«åé¡ãããŸãã ãã¢ã§ã¯ãå°çäžã«ç«ã£ãŠãããšãã«ãèµ€ãææãã«ãããã®ãæããŸãã
æ©ãåã£ãããåšãã®ãã¹ãŠã®ãªããžã§ã¯ãã調ã¹ãããSuriosityããŒããŒèªäœãèŠãããšãã§ããŸãã
ãããšäžŠè¡ããŠãNASAã®åŸæ¥å¡ã®3Dã¢ãã«ã衚瀺ããããããžã§ã¯ãå šäœã®æŽå²ãšãã®åšèŸºã§äœãèµ·ãã£ãŠããã®ãã説æããŸãã
HoloLensã®åŒ·åãªããã»ããµã«ãããããããå質ã®ã¢ãã«ã䜿çšã§ããŸãããã«ã¡ããã§ã¯ãã¢ãã«ã¯äœæããããšããã«è¡šç€ºãããŸãã
ä»æ§HoloLens
ãã®ãµã€ãã§ã¯ãHoloLensãæ§æãããã¹ãŠã®éšåãèŠèŠåããããã詳现ãªç»åãæäŸããŠããŸãã
- 2ããã»ããµïŒMicrosoft Holographic Processing UnitïŒHPUïŒããã³Intel 32ãããããã»ããµ
- RAMïŒ2 GB
- ãã©ãã·ã¥ã¡ã¢ãªïŒ64 GB
- BluetoothïŒ Bluetooth Clickerãå«ã ïŒãMicro USBã³ãã¯ã¿ããµããŒã
- æ £æ§æž¬å®ãŠããããåšå²å ã»ã³ãµãŒãããã³4å°ã®äžèŽããã«ã¡ã©ã 深床枬å®ã«ã¡ã©ïŒHoloLens空éãèªèããããïŒã
- ãããªé²ç»ããã³åçæ®åœ±çšã®2ã¡ã¬ãã¯ã»ã«HDã«ã¡ã©ã
- ããã€ã¹å ã®4ã€ã®ãã€ã¯ããŠãŒã¶ãŒã®é³å£°ã³ãã³ããé²é³ã§ããŸãã
- ééïŒ579 g以äž
- ããããªãŒå¯¿åœïŒ2ã3æéã®ã¢ã¯ãã£ããªäœ¿çšã2é±éã®ã¹ã¿ã³ãã€æé
ãã®ãµã€ãã§ã¯ãHoloLensãæ§æãããã¹ãŠã®éšåãèŠèŠåããããã詳现ãªç»åãæäŸããŠããŸãã
ããã°ã©ãã£ãã¯ã¢ã«ãããŒ-ããã°ã©ã ãã¶ã€ã³ãã¬ãŒãã³ã°ã®é²å
æšå¹Žã// Build 2015ã§ãHoloLens-Holographic Academyã®éçºã¢ã«ãããŒãæåã«çºè¡šãããŸããã ããã¯ãMicrosoft HoloLensã®ãŒãããã®4.5æéã®èå³æ·±ãããã°ã©ã ãã¬ãŒãã³ã°ã§ãã
2015幎ã®ãã¹ãŠã®èšªåè ã®3æ¥éãã¹ãŠ éãç§ã«åŸ®ç¬ãã ããšãå«ããŠãããã180人ããä¹ãããšãã§ããŸããã§ããã
ã¢ã«ãããŒã§ã¯ãããã°ã©ã ã®éçºæ¹æ³ã段éçã«æãããããå人çšããã°ã©ã ããæ£ç¢ºã«äœ¿çšããçµéšãç 究ãããŸããã
ã¢ã«ãããŒãå§ããåã«ã誰ããåçãšãããªçŽ æã䜿çšããèš±å¯ã«çœ²åããããã«æ±ããããŸããã ã¢ã«ãããŒã§ã¯ãã«ã¡ã©ãé ã ã«ç«ã£ãŠããŸããã ãã¹ãŠã®ããã€ã¹ãé庫ã«åŒãæž¡ããéå±æ¢ç¥æ©ã®ãã¬ãŒã ãééããŠããã±ããã«äœãæ®ã£ãŠãããã©ãããããã«ã¹ãã£ã³ããŸããã
![](https://habrastorage.org/files/70a/198/cb0/70a198cb03424e6da70e4fd8f9eb0eea.jpg)
次ã«éèŠãªããã»ã¹ããããŸããç®ã®éã®è·é¢ãšèŠçã®ç¯å²ã枬å®ããããã§ãã åHoloLensããã€ã¹ã¯ãå人çšã«åå¥ã«ããã°ã©ã å¯èœã§ãã
ã¢ã«ãããŒã«ã¯æ¬¡ã®æ®µéããããŸããã
- Unityã®çæã³ãŒã¹ãšç°å¢èšå®
Unityã²ãŒã ãšã³ãžã³ã¯ãHoloLensããã°ã©ã ã®äœæã«äœ¿çšãããŸãã éåžžã®ã·ãŒã³ãããã°ã©ã ã®äœæã«é©ããã·ãŒã³ã«å€ããã«ã¯ãã«ã¡ã©ãšã©ã€ãã®èšå®ãç¹å®ã®æ¹æ³ã§å€æŽããå¿ èŠããããŸãã
HoloLensã®éçºã¯éåžžã«ç°¡åã§ããåé¢æ°ã®å®è£ ã¯ãCïŒã§æåéãæ°è¡ããããŸãã
éçºããŒã«ãã€ã³ã¹ããŒã«ããããšã§ãHoloLensã®éçºãéå§ã§ããŸã ã
ç¹å¥ãªHoloLens SDKã¯ãããŸããããã¹ãŠã®ããã°ã©ã ããŒã«ã¯ãVisual Studio 2015 Update 2ããã³Windows 10 SDKïŒããŒãžã§ã³1511以éïŒã«æ¢ã«çµã¿èŸŒãŸããŠããŸãã
å¿ èŠãªãã®ïŒ
- Visual Studio 2015ã¢ããããŒã2
- HoloLensãšãã¥ã¬ãŒã¿ãŒ
- Unity HoloLensãã¯ãã«ã«ãã¬ãã¥ãŒããŒã¿10
次ã«ãHoloLensã®Unityãããžã§ã¯ããæ§æããå¿ èŠããããŸãã
æ§æã·ãŒã³æ§æïŒ
- éå±€ã§ãã¡ã€ã³ã«ã¡ã©ãéžæããŸã
- Inspectorããã«ã§ãå€æäœçœ®ã®å€ã0ã0ã0ã«èšå®ããŸããããã«ããããŠãŒã¶ãŒã®é ã®äœçœ®ãUnityã¬ãã«ã®å é ã«ãªããŸã
- ã¯ãªã¢ãã©ã°ãåè²ã«å€æŽ
- èæ¯è²ãRGBA 0,0,0,0ã«å€æŽããŸãã 泚ïŒHoloLensã§ã¯ãé»ã¯éæãšããŠã¬ã³ããªã³ã°ãããŸãã
- ã¯ãªããã³ã°ãã¬ãŒã³ã®å€æŽ-HoloLensã®ãã¢å€ã¯0.85ïŒã¡ãŒãã«ïŒã«ããããšããå§ãããŸãã
ãããžã§ã¯ãæ§æïŒ
- [ãã¬ãŒã€ãŒã®èšå®]> [Windowsã¹ãã¢]> [å
¬éèšå®]> [æ©èœ]ã§ãé©åãªæ©èœãéžæããŠãå¿
èŠãªAPIãã¢ã¯ãã£ãã«ããå¿
èŠããããŸãã
èœå API ãŠã§ãã«ã¡ã© PhotoCaptureããã³VideoCapture SpatialPerception SurfaceObserverããã³SpatialAnchor ãã€ã¯ VideoCaptureãDictationRecognizerãGrammarRecognizerãããã³KeywordRecognizer picturesLibrary / videosLibrary / musicLibrary PhotoCaptureããã³VideoCapture
- ãŠãããŒãµã«Windowsãã©ãããã©ãŒã ã¢ããªãšããŠãšã¯ã¹ããŒãããããã«Unityãããžã§ã¯ããèšå®ããå¿
èŠããããŸã
- [ãã¡ã€ã«]> [ãã«ãèšå®]ãéžæããŸã...
- ãã©ãããã©ãŒã ã®ãªã¹ãããWindowsã¹ãã¢ãéžæããŸã
- SDKå€ãUniversal 10ã«èšå®ããŸã
- ãã«ãã¿ã€ããXAMLã«èšå®
- HoloLensã§ã¯ãããã©ãŒãã³ã¹ãéåžžã«éèŠãªã®ã§ãå質èšå®ããé«ããã©ãŒãã³ã¹ãã«èšå®ããå¿
èŠããããŸã
- [ç·šé]> [ãããžã§ã¯ãèšå®]> [å質]ãéžæããŸã
- Windowsã¹ãã¢ã®ããŽã®æšªã«ããããããããŠã³ã¡ãã¥ãŒãéžæãã[æé]ãéžæããŸãã
- ã¢ããªã±ãŒã·ã§ã³ã¯ã2Dãã¥ãŒã§ã¯ãªãããã°ã©ãã£ãã¯ãã¥ãŒã䜿çšããå¿
èŠããããŸã
- ãã«ãèšå®...ãŠã£ã³ããŠããããã¬ã€ã€ãŒèšå®ãéããŸã...
- [Windowsã¹ãã¢]ã¿ãã®èšå®ãéžæããŸã
- [ãã®ä»ã®èšå®]ã°ã«ãŒããå±éããŸã
- [ã¬ã³ããªã³ã°]ã»ã¯ã·ã§ã³ã§ã[ãµããŒããããŠããããŒãã£ã«ãªã¢ãªãã£]ãã§ãã¯ããã¯ã¹ããªã³ã«ããŠãæ°ããããŒãã£ã«ãªã¢ãªãã£ããã€ã¹ãªã¹ããè¿œå ãããWindows HolographicãããµããŒããããŠããããã€ã¹ã®ãªã¹ãã«ããããšã確èªããŸãã
- ããã°ã©ã çžäºäœçšãžã§ã¹ãã£ãŒã®æŠèŠ
2015幎ãHoloLensã«ã¯ãããã«Bluetoothã¯ãªãã«ãŒãå«ãŸããŠããŸããã§ããããã¿ã³ãã¯ãªãã¯ããã ãã§ãã¯ãªãã¯ããŠä»ã®ãžã§ã¹ãã£ãŒãäœæã§ããŸãã
HoloLensã«ã¯ãããã°ã©ã ãæäœã§ããããã€ãã®æšæºãžã§ã¹ãã£ãŒããããŸãã
- ãã¬ã¹\ãªãªãŒã¹ïŒãã¬ã¹\ãªãªãŒã¹ïŒãã®ãžã§ã¹ãã£ã¯ãã€ã³ã¿ã©ã¯ã·ã§ã³ãã¢ã¯ãã£ãã«ããããããã°ã©ã ãéžæããããã®åºæ¬ã§ãã
ãã®ããã«ã¯ãæã®ã²ãã®åã§æãåã«äžããæ¡ããã¶ããæ¡ãã人差ãæãäžããå¿ èŠããããŸãã 次ã«ããããäžããŠïŒæŒãïŒãããäžåºŠäžããŸãïŒãªãªãŒã¹ïŒ-åæ§ã«ãã¿ãã¬ãããã¿ããããŸããããã ãã空äžã«ãããŸãã
- éè±ïŒãã«ãŒã ïŒã¹ã¿ãŒãã¡ãã¥ãŒã«æ»ãããšãã§ããç¹å¥ãªã·ã¹ãã ãžã§ã¹ãã£ïŒããŒããŒãã®[ã¹ã¿ãŒã]ãã¿ã³ãŸãã¯ãžã§ã€ã¹ãã£ãã¯ã®[Xbox]ãã¿ã³ãæŒãã®ãšåãïŒ
ãã®ããã«ã¯ãæã®ã²ããäžã«äŒžã°ãããã¹ãŠã®æãäžç·ã«æ¡ããããŠïŒæ¡ããã¶ããã§ããŸãïŒãå®å šã«å ã«æ»ããŸãã
ã¢ããªã±ãŒã·ã§ã³ã§ãã®ãžã§ã¹ãã£ãŒã«å¯Ÿããåå¿ãããã°ã©ã ã§ããªãããšã«æ³šæããŠãã ããã ããã¯å šèº«ã§ãã
次ã®ããè€éãªãžã§ã¹ãã£ã¯ãåããšæšæºã®ãžã§ã¹ãã£ã®çµã¿åãããæäŸã§ããŸãã
- ããŒã«ããã¬ã¹ïŒãã¬ã¹ïŒã®ãžã§ã¹ãã£ãŒãæŒãããŸãŸã«ãããšïŒãªãªãŒã¹ããªãïŒããã®ãããªãžã§ã¹ãã£ãŒã¯ã·ã¹ãã ã«ãã£ãŠããŒã«ãïŒããŒã«ãïŒãšããŠèªèãããŸãã ãªããžã§ã¯ããçºçããããªã©ããã€ããŒã¢ã¯ã·ã§ã³ã«äœ¿çšã§ããŸãã
- æäœ3Dã¯ãŒã«ãã§ã®ãã®åŸã®æã®åãã§ã¯ãªãã¯ããŸãã
ãããã®ãžã§ã¹ãã£ã䜿çšããŠãæã®åãã«å¯ŸããŠ1察1ã®åå¿ãå¿ èŠãªå Žåã«ãããã°ã©ã ã移åãæ¡å€§çž®å°ãããã³å転ãããããšãã§ããŸãã
- ããã²ãŒã·ã§ã³ãã®ãžã§ã¹ãã£ã䜿çšããã«ã¯ããã¯ãªãã¯ããžã§ã¹ãã£ãäœæããæŒãããã€ã³ããäžå¿ãšããæ£èŠåããã3Dãã¥ãŒãå ã§æãåããå¿ èŠããããŸãã
ãããã®ãžã§ã¹ãã£ãŒã¯ä»®æ³ãžã§ã€ã¹ãã£ãã¯ã®ãããªãã®ã§ãæŸå°ç¶ã¡ãã¥ãŒãªã©ã®UIãŠã£ãžã§ãããããã²ãŒãããããã«äœ¿çšã§ããŸãã
- Unityã§æåã®ããã°ã©ã ãäœæïŒãæãçŽãïŒ
çŸåšã®æ®µéã§ã¯ãå¿ èŠãªãªããžã§ã¯ãã®é 眮ãšã«ã¡ã©ã®æ¥ç¶ã®ã¿ãååšããŠããŸããã ããã§ãæ°èã®æãç³ã¿ïŒã¹ã¯ãªãŒã³ã·ã§ããã®å³åŽã®ããŒã«ïŒã§ããæ¬ç©ã®ããã«èŠããããšã«æ³šæããŠãã ããã ããªãã¯ããã調ã¹ãæ°èã®ãã¹ãŠã®æçŽããã¹ãŠã®æ°åãèŠãããšãã§ããŸãã
ãã€ã¯ããœããã¯ãæšå¹Žã®ãªãœãŒã¹ãæ¢ã«å ¬éããŠããŸãããšãã¥ã¬ãŒã¿ã䜿çšããŠããããžã§ã¯ããããŠã³ããŒãããŠèªåã§äœæãçŽãããšãã§ããŸãã
- ã«ãŒãœã«ãšãžã§ã¹ãã£ãŒã®è¿œå
é²èŠ§ããŠããããŒããç解ããããããããã«ãMicrosoftã¯ç¹å¥ãªã«ãŒãœã«ãéçºããŸããã ã«ãŒãœã«ã¯ç¹å¥ãªè³ç£ã䜿çšããŠé 眮ããããã®æäœã®ããã«ãã³ãŒãã«ã人ãã®ãé ãããïŒããã¬ãŒã€ãŒãã®ã¡ã€ã³ã«ã¡ã©ããã®ã©ã€ã³ã«æ²¿ã£ãŠïŒããŒã ãã£ã¹ããç»é²ããå¿ èŠããããŸãã
Unityã¯ãäœã¬ãã«ã®ã¢ã¯ã»ã¹ïŒåº§æšãšé床ã«é¢ããçŽç²ãªæ å ±ïŒãšãããè€éãªãžã§ã¹ãã£ãŒã€ãã³ãïŒã¿ãããããã«ã¿ãããããŒã«ããæäœãããã²ãŒã·ã§ã³ãªã©ïŒãæäŸããé«ã¬ãã«ã®ãžã§ã¹ãã£ãŒã¬ã³ã°ãã€ã¶ãŒã®äž¡æ¹ãæäŸããŸãã
ãžã§ã¹ãã£ãŒå ¥å
åå空éïŒ UnityEngine.VR.WSA.Input
ã¿ã€ãïŒ GestureRecognizerãGestureSettingsãInteractionSourceKind
é«ã¬ãã«ã®ãžã§ã¹ãã£ãŒã¯ãå ¥åãœãŒã¹ã䜿çšããŠçæãããŸãã åãžã§ã¹ãã£ãŒã€ãã³ãã¯ãã€ãã³ãã®ã¢ã¯ãã£ãåäžã®ãããããŒã ïŒäžèšïŒã®äœçœ®æ±ºããå«ããå ¥åçšã®SourceKindãæäŸããŸãã äžéšã®ã€ãã³ãã¯ãè¿œå ã®ã³ã³ããã¹ãæ å ±ãæäŸããŸãã
Gesture Recognizerã䜿çšããŠãžã§ã¹ãã£ããã£ããã£ããã«ã¯ããããæ°ã¹ããããå¿ èŠã§ãã
- æ°ãããžã§ã¹ãã£èªèããŒã«ã®äœæGestureRecognizerã䜿çšããã«ã¯ãGestureRecognizerãäœæããå¿ èŠããããŸãã
GestureRecognizer recognizer = new GestureRecognizer();
- ç£èŠãããžã§ã¹ãã£ã®è¡šç€ºSetRecognizableGesturesïŒïŒã䜿çšããŠé¢å¿ã®ãããžã§ã¹ãã£ãŒãæå®ããŸãã
recognizer.SetRecognizableGestures(GestureSettings.Tap | GestureSettings.Hold);
- ãããã®ãžã§ã¹ãã£ãŒã®ã€ãã³ããµãã¹ã¯ãªãã·ã§ã³ãããã®ãžã§ã¹ãã£ãŒã®ã€ãã³ãããµãã¹ã¯ã©ã€ãããŠãã ããã
recognizer.TappedEvent += MyTapEventHandler; recognizer.HoldEvent += MyHoldEventHandler;
- ãžã§ã¹ãã£ãŒéå§ããã©ã«ãã§ã¯ãGestureRecognizerã¯StartCapturingGesturesïŒïŒãåŒã³åºããããŸã§å ¥åãç£èŠããŸããã StopCapturingGesturesïŒïŒã®åŠçãã¬ãŒã ã®åã«å ¥åãè¡ãããå ŽåãStopCapturingGesturesïŒïŒãåŒã³åºããåŸã«ãžã§ã¹ãã£ã€ãã³ããçæãããå¯èœæ§ããããŸãã ãã®ããããã¬ã€ã€ãŒãçŸåšèŠãŠãããªããžã§ã¯ãã«å¿ããŠããžã§ã¹ãã£ãŒã®ç£èŠãéå§ããã³åæ¢ããããšãåžžã«æãŸããã®ã§ãã
recognizer.StartCapturingGestures();
- ãžã§ã¹ãã£ãŒåæ¢
recognizer.StopCapturingGestures();
- åé€ããGestureRecognizerãªããžã§ã¯ããåé€ããåã«ã眲åæžã¿ã€ãã³ãã®ç»é²ãå¿ããªãã§ãã ããã
void OnDestroy() { recognizer.TappedEvent -= MyTapEventHandler; recognizer.HoldEvent -= MyHoldEventHandler; }
ã€ã³ã¿ã©ã¯ã·ã§ã³å ¥å
åå空éïŒ UnityEngine.VR.WSA.Input
ã¿ã€ãïŒ InteractionManagerãSourceStateãSourceãInteractionSourcePropertiesãInteractionSourceKindãInteractionSourceLocation
åè¿°ã®ããã«ãäœã¬ãã«ã®å ¥åã¯ãäžçã®äœçœ®åº§æšãé床ãªã©ãå ¥åãªããžã§ã¯ãã«é¢ãã詳现æ å ±ãååŸããæ©äŒãæäŸããŸãã
- ã€ã³ã¿ã©ã¯ã·ã§ã³ã€ãã³ãã®åŠçãéå§ããæ¹æ³å¿ èŠã§ãïŒ
- InteractionManagerå
¥åã€ãã³ãããµãã¹ã¯ã©ã€ããã
InteractionManager.SourcePressed += InteractionManager_SourcePressed;
- ã€ãã³ãåŠç
void InteractionManager_SourcePressed(SourceState state) { // state has information about: // targeting head ray at the time when the event was triggered // whether the source is pressed or not // properties like position, velocity, source loss risk // source id (which hand id for example) and source kind like hand, voice, controller or other }
- InteractionManagerå
¥åã€ãã³ãããµãã¹ã¯ã©ã€ããã
- çžäºäœçšã€ãã³ãã®åŠçãåæ¢ããæ¹æ³å¿ èŠã§ãïŒ
InteractionManager.SourcePressed -= InteractionManager_SourcePressed;
- å ¥åãœãŒã¹å€æŽã€ãã³ã
- æ€åº-æ€åºïŒã¢ã¯ãã£ãã«ãªã£ãïŒ
- 倱ããã-倱ãããïŒéã¢ã¯ãã£ãã«ãªã£ãïŒ
- æŽæ°-å€æŽïŒç¶æ ã®ç§»åãŸãã¯å€æŽïŒ
- ãæŒãããŠãã-æŒãããŠããïŒã¿ããããã¿ã³ãæŒãããŸãã¯éžæãéå§ïŒ
- ãªãªãŒã¹æžã¿-ãªãªãŒã¹æžã¿ïŒã¿ããã®çµäºããã¿ã³ã®ãªãªãŒã¹ããŸãã¯éžæã®çµäºïŒ
- äŸ
using UnityEngine.VR.WSA.Input; void Start () { InteractionManager.SourceDetected += InteractionManager_SourceDetected; InteractionManager.SourceUpdated += InteractionManager_SourceUpdated; InteractionManager.SourceLost += InteractionManager_SourceLost; InteractionManager.SourcePressed += InteractionManager_SourcePressed; InteractionManager.SourceReleased += InteractionManager_SourceReleased; } void OnDestroy() { InteractionManager.SourceDetected -= InteractionManager_SourceDetected; InteractionManager.SourceUpdated -= InteractionManager_SourceUpdated; InteractionManager.SourceLost -= InteractionManager_SourceLost; InteractionManager.SourcePressed -= InteractionManager_SourcePressed; InteractionManager.SourceReleased -= InteractionManager_SourceReleased; } void InteractionManager_SourceDetected(SourceState state) { // Source was detected // state has the current state of the source including id, position, kind, etc. } void InteractionManager_SourceLost(SourceState state) { // Source was lost. This will be after a SourceDetected event and no other events for this source id will occur until it is Detected again // state has the current state of the source including id, position, kind, etc. } void InteractionManager_SourceUpdated(SourceState state) { // Source was updated. The source would have been detected before this point // state has the current state of the source including id, position, kind, etc. } void InteractionManager_SourcePressed(SourceState state) { // Source was pressed. This will be after the source was detected and before it is released or lost // state has the current state of the source including id, position, kind, etc. } void InteractionManager_SourceReleased(SourceState state) { // Source was released. The source would have been detected and pressed before this point. This event will not fire if the source is lost // state has the current state of the source including id, position, kind, etc. }
ãŸããå°ããªã³ãŒãã®å©ããåããŠãæ°èã®æãç³ã¿ãæãçŽã®äœåãšã®çžäºäœçšãè¿œå ããŸããã ãªããžã§ã¯ããèŠãŠãããã¯ãªãã¯ããããšã次ã®ããšãèµ·ãããŸããã
ãªããžã§ã¯ãã¯ä»®æ³ã®çŽé£è¡æ©ã«èœã¡ãå®éã®ããŒãã«ã«è»¢ããèœã¡ããã®ããŒãã«ã«è»¢ãããå®éã®åºã«èœã¡ãŠãåãã®ãã¹ãŠã®ç©çåŠãèæ ®ããŠããã«å転ãç¶ããŸããïŒ ãŸããæåŸã«ããªããžã§ã¯ãã®ãã¹ããããã¯ãããšããªããžã§ã¯ãã足ã«ã¶ã€ããå¯èœæ§ããããŸãã
- é³ãšé³æ¥œãè¿œå ãã
HoloLensã«ã¯ãå®å šãª3DãµãŠã³ããèãããšãã§ããå èµã®æ¯åã¹ãã¬ãªããããã©ã³ããããŸãã ãã®äºå®ã¯ãä¿¡é Œã§ããåªäœã®é³ãåçŸããããã®ç¡éã®å¯èœæ§ãéããŸãã
çµå±ã®ãšããããªããžã§ã¯ããå¯èŠç¯å²å€ã«ãããšããç§ãã¡ã®åšãã§äœãèµ·ãã£ãŠããã®ããç¥èŠã§ããæ¹æ³ã®1ã€ã¯é³ã§ãã æé«ã®è€åçŸå®äœéšã®ããã«ãHoloLensãªãŒãã£ãªãšã³ãžã³ã¯ãæ¹åãè·é¢ãããã³ç°å¢ã¢ããªã³ã°ã䜿çšããŠ3DãµãŠã³ããã·ãã¥ã¬ãŒãããããšã§ãµãŠã³ããæäŸããŸãã
ãããžã§ã¯ãã«ç©ºéãµãŠã³ããè¿œå ããæ¹æ³ïŒ
- Unityã§ç©ºéãµãŠã³ããæå¹ã«ããUnityã§ã¯ãç¹å¥ãªãªãŒãã£ãªãã©ã°ã€ã³ïŒSpatializerïŒã䜿çšããŠç©ºéãµãŠã³ããæå¹ã«ããŸãã ãã©ã°ã€ã³ãã¡ã€ã«ã¯æ¢ã«Unityã«çµã¿èŸŒãŸããŠããã®ã§ãç·šé>ãªãŒãã£ãª> Spatializerã«ç§»åããŠãMicrosoft HRTFãæå¹ã«ããã ãã§ãã
以äžã§ãUnityãããžã§ã¯ãã§Spatial Soundã䜿çšã§ããããã«ãªããŸããã
- Unityã§ç©ºéãµãŠã³ãã䜿çšãã次ã®æé ã¯ãSpatial Soundçšã«ãªãŒãã£ãªãœãŒã¹ã³ã³ããŒãã³ããæ§æããã®ã«åœ¹ç«ã¡ãŸãã
- [éå±€]ããã«ã§ããªãŒãã£ãªãœãŒã¹ãæ¥ç¶ãããŠããã²ãŒã ãªããžã§ã¯ããéžæããŸãã
- ã€ã³ã¹ãã¯ã¿ãŒã®[ãªãŒãã£ãªãœãŒã¹]ã³ã³ããŒãã³ãã®äžã§ïŒ
- [空éå]ãªãã·ã§ã³ã®æšªã«ãããã§ãã¯ããã¯ã¹ããªã³ã«ããŸãã
- Spatial Blendã3DïŒæ°å€1ïŒã«èšå®ããŸãã
- æè¯ã®çµæãåŸãã«ã¯ã3DãµãŠã³ãèšå®ãéããããªã¥ãŒã ããŒã«ãªããã«ã¹ã¿ã ããŒã«ãªãã«èšå®ããŸãã
以äžã§ãUnityãããžã§ã¯ãã§Spartial Soundã䜿çšã§ããããã«ãªããŸããã
- ãµã©ãŠã³ããµãŠã³ãèšå®Microsoft Spatial Soundãã©ã°ã€ã³ã¯ãåããŒã¹ãªãŒãã£ãªãœãŒã¹ã§èšå®ã§ããå€ãã®è¿œå ãã©ã¡ãŒã¿ãŒãæäŸãããªãŒãã£ãªã·ãã¥ã¬ãŒã·ã§ã³ã®è¿œå èšå®ãæå¹ã«ããŸãã
æå°ã²ã€ã³
æå°ã²ã€ã³ã¯ãä»»æã®è·é¢ã§é©çšå¯èœã§ãïŒ-96ã+12ãã·ãã«ïŒã åæå€ïŒ-96ãã·ãã«ã
æ倧ã²ã€ã³
æ倧ã²ã€ã³ã¯ãã©ã®è·é¢ã§ãé©çšå¯èœã§ãïŒ-96ã+12ãã·ãã«ïŒã åæå€ïŒ+12ãã·ãã«ã
ãŠããã£ã²ã€ã³è·é¢
ã²ã€ã³ã0ãã·ãã«ã«ãªãè·é¢ïŒã¡ãŒãã«åäœïŒ0.05ããç¡é倧ïŒïŒã åæå€ïŒ1ã¡ãŒãã«ã
éšå±ã®å€§ãã
ãã©ã°ã€ã³ã䜿çšããŠã·ãã¥ã¬ãŒãã§ããéšå±ã®ãµã€ãºã éšå±ã®ããããã®ãµã€ãºã¯ãå°ããïŒäºå宀ããå°ããªäŒè°å®€ãŸã§ïŒãäžçšåºŠïŒå€§ããäŒè°å®€ïŒã倧ããïŒèŽè¡ïŒã§ãã ãŸããå€ãnoneã«èšå®ããŠãå€éšç°å¢ïŒå»ºç©ã®å€éšïŒãã·ãã¥ã¬ãŒãããããšãã§ããŸãã ããã©ã«ãã§ã¯ãéšå±ã¯çãã§ãã
äŸ
The HoloToolkit for Unity provides a static class that makes setting the Spatial Sound settings easy. This class can be found in the HoloToolkit\SpatialSound folder and can be called from any script in your project. It is recommended that you set these parameters on each Audio Source component in your project. The following example shows selecting the medium room size for an attached Audio Source. AudioSource audioSource = gameObject.GetComponent<AudioSource>() if (audioSource != null) { SpatialSoundSettings.SetRoomSize(audioSource, SpatialMappingRoomSizes.Medium); } </source lang> <b> Unity</b> . SetHRTF.cs, HRTF AudioSource. . <source lang="cs"> using UnityEngine; using System.Collections; public class SetHRTF : MonoBehaviour { public enum ROOMSIZE { Small, Medium, Large, None }; public ROOMSIZE room = ROOMSIZE.Small; // Small is regarded as the "most average" // defaults and docs from MSDN // https://msdn.microsoft.com/en-us/library/windows/desktop/mt186602(v=vs.85).aspx public float mingain = -96f; // The minimum gain limit applied at any distance, from -96 to + 12 public float maxgain = 12f; // The maximum gain applied at any distance, from -96 to + 12 public float unityGainDistance = 1; // The distance at which the gain applied is 0dB, from 0.05 to infinity public float bypassCurves = 1; // if > 0, will bypass Unity's volume attenuation and make a more accurate volume simulation automatically in the plugin AudioSource audiosource; void Awake() { audiosource = this.gameObject.GetComponent<AudioSource>(); if (audiosource == null) { print("SetHRTFParams needs an audio source to do anything."); return; } audiosource.spread = 0; // we dont want to reduce our angle of hearing audiosource.spatialBlend = 1; // we do want to hear spatialized audio audiosource.SetSpatializerFloat(1, (float)room); // 1 is the roomsize param audiosource.SetSpatializerFloat(2, mingain); // 2 is the mingain param audiosource.SetSpatializerFloat(3, maxgain); // 3 is the maxgain param audiosource.SetSpatializerFloat(4, unityGainDistance); // 4 is the unitygain param audiosource.SetSpatializerFloat(5, bypassCurves ); // 5 is bypassCurves, which is usually a good idea } }
- é³å£°å¶åŸ¡ãè¿œå ãã
é³å£°ã¯ãHoloLensã®3ã€ã®å ¥åæ¹æ³ã®1ã€ã§ãã HoloLensã§ã¯ãCortanaã®ãã¹ãŠã®æ©èœãå®å šãªé³å£°å¶åŸ¡ã䜿çšã§ããŸãã ããªãã¯ãã ããã°ã©ã ãèŠãŠã³ãã³ããèšãã ãã§ã-ãããäž»ãªååã§ãã
é³å£°å ¥åã«ã¯ããã€ãã®ãªãã·ã§ã³ããããŸãã
- éžæã³ãã³ãã¢ããªã±ãŒã·ã§ã³ã«é³å£°å¶åŸ¡ã®ãµããŒããè¿œå ããŠããªãå Žåã§ãããŠãŒã¶ãŒã¯ãselectãã³ãã³ãã䜿çšããŠããã°ã©ã ãã¢ã¯ãã£ãã«ã§ããŸãã ãã®ã³ãã³ãã¯ãHoloLensã䜿çšããŠãã€ã§ã䜿çšã§ããæå°éã®ãšãã«ã®ãŒãæ¶è²»ããŸãã
- ã³ã«ã¿ãHoloLensã®ç¹å¥ãªã³ãã³ãã§Cortanaã䜿çšã§ããŸãïŒã³ãã³ãã¯ãHeyãCortanaããšããèšèã®åŸã«èªã¿ãŸãïŒïŒ
- 家ã«åž°ã-ã¹ã¿ãŒãã¡ãã¥ãŒãåŒã³åºã
- èµ·å-app-
- åçãæ®ã
- é²é³ãéå§
- èšé²ãåæ¢
- æãããäžãã
- èŒåºŠãäžãã
- é³éãäžãã
- é³éãäžãã
- ããã€ã¹ãã·ã£ããããŠã³ããŸã
- ããã€ã¹ãåèµ·åããŸã
- ããã€ã¹ãåèµ·åããŸã
- å¯ã
- ä»äœæïŒ
- ç§ã®IPã¢ãã¬ã¹ã¯äœã§ããïŒ
- ãããã¯ãŒã¯ã«æ¥ç¶ããŠããŸããïŒ
- èããŠããŸããïŒ
- ããããªãŒã¯ã©ããããæ®ã£ãŠããŸããïŒ
- é»è©±-contact-ïŒHoloSkypeãå¿ èŠïŒ
- ãŠã§ãæ€çŽ¢
- ãã£ã¯ããŒã·ã§ã³ããã¹ããå ¥åããå Žåãå£è¿°ã¯ç©ºäžã¿ãã¹ãããã¯ããã«å¹æçã§ãã ããã°ã©ãã£ãã¯ããŒããŒããã¢ã¯ãã£ããªå Žåããã€ã¯ã¢ã€ã³ã³ãã¯ãªãã¯ããŠãã£ã¯ããŒã·ã§ã³ã¢ãŒãã«åãæ¿ããããšãã§ããŸãã
ãããè¡ãã«ã¯ãHoloLensãäœããã®é³ãæåŸ ããããã«æ°è¡ãç»é²ããã ãã§ååã§ãè±èªã§å¿çããå¿ èŠãããã³ãã³ããšåå¿ãå ¥åããŸãã
é³å£°å ¥åãå®è£ ããæ¹æ³ãåæããŸãã
- ãã€ã¯ãæå¹ã«ããUnityèšå®ãããå ¥åãæå¹ã«ããã«ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ããã€ã¯ãæ©èœã宣èšããå¿ èŠããããŸãã
- Unityãšãã£ã¿ãŒã§ããç·šéã>ããããžã§ã¯ãèšå®ã>ããã¬ãŒã€ãŒãããŒãžã«ç§»åããŸã
- [Windowsã¹ãã¢]ã¿ããã¯ãªãã¯ããŸã
- [å ¬éèšå®]> [æ©èœ]ã§ã[ãã€ã¯]ã®ãã§ãã¯ããã¯ã¹ããªã³ã«ããŸãã
- ãã¬ãŒãºèªèãã¬ãŒãºãèªèããã«ã¯ãKeywordRecognizerãšGrammarRecognizerã®2ã€ã®æ¹æ³ããããŸãã ã©ã®ãã¬ãŒãºããªãã¹ã³ããããéžæããOnPhraseRecognizedã€ãã³ããåŠçãããã¬ãŒãºã®ã¢ã¯ã·ã§ã³ãè¿œå ããå¿ èŠããããŸãã
- KeywordRecognizer
ã€ãªã
using UnityEngine.Windows.Speech; using System.Collections.Generic; using System.Linq;
次ã«ãã¯ã©ã¹ã«ããã€ãã®ãã£ãŒã«ããè¿œå ããŠãèªèãšã³ãžã³ãšèŸæžã®ããŒã¯ãŒã->ã¢ã¯ã·ã§ã³ãä¿åããŸãã
KeywordRecognizer keywordRecognizer; Dictionary<string, System.Action> keywords = new Dictionary<string, System.Action>();
次ã«ãããŒã¯ãŒããèŸæžã«è¿œå ããŸãïŒããšãã°ãStartïŒïŒã¡ãœããå ïŒã ãã®äŸã§ã¯ãããŒã¯ãŒããã¢ã¯ãã£ããŒãããè¿œå ããŸãã
// keywords.Add("activate", () => { // , });
KeywordRecognizerãäœæããèªèããããã®ã«èšå®ããŸãã
keywordRecognizer = new KeywordRecognizer(keywords.Keys.ToArray());
OnPhraseRecognizedã€ãã³ãããµãã¹ã¯ã©ã€ãããŸãã
keywordRecognizer.OnPhraseRecognized += KeywordRecognizer_OnPhraseRecognized;
äŸïŒ
private void KeywordRecognizer_OnPhraseRecognized(PhraseRecognizedEventArgs args) { System.Action keywordAction; // , keywordAction. if (keywords.TryGetValue(args.text, out keywordAction)) { keywordAction.Invoke(); } }
æåŸã«ãèªèãå®è¡ããŸãã
keywordRecognizer.Start();
- GrammarRecognizer
GrammarRecognizerã¯ã SRGSã䜿çšããŠç¬èªã®èªèææ³ãèšå®ããå Žåã察象ãšããŠããŸãã
SRGSææ³ãäœæãããããStreamingAssetsãã©ã«ããŒå ã®ãããžã§ã¯ãã«é 眮ããåŸïŒ
<PROJECT_ROOT>/Assets/StreamingAssets/SRGS/myGrammar.xml
GrammarRecognizerãäœæããSRGSãã¡ã€ã«ãæž¡ããŸãïŒ
private GrammarRecognizer grammarRecognizer; grammarRecognizer = new GrammarRecognizer(Application.streamingDataPath + "/SRGS/myGrammar.xml");
OnPhraseRecognizedã€ãã³ãã«ãµãã¹ã¯ã©ã€ãããŸãã
grammarRecognizer.OnPhraseRecognized += grammarRecognizer_OnPhraseRecognized;
SRGSææ³ã«åŸã£ãŠæ å ±ãåãåããåé¡ãªãåŠçã§ããŸãã å¿ èŠãªæ å ±ã®ã»ãšãã©ã¯ãsemanticMeaningsé åã§æäŸãããŸãã
private void Grammar_OnPhraseRecognized(PhraseRecognizedEventArgs args) { SemanticMeaning[] meanings = args.semanticMeanings; // - }
èªèãéå§ããŸãã
grammarRecognizer.Start();
- KeywordRecognizer
- ãã£ã¯ããŒã·ã§ã³DictationRecognizerã䜿çšããå Žåãã¢ããªã±ãŒã·ã§ã³ã¯ä»»æã®åèªãäºæããåŸç¶ã®ã¢ã¯ã·ã§ã³ã§ããã¹ãã«å€æã§ããŸãã
DictationRecognizerãå®è£ ããã«ã¯ããããæ°ã¹ããããå¿ èŠã§ãã
- DictationRecognizerãäœæãã
dictationRecognizer = new DictationRecognizer();
- ãã£ã¯ããŒã·ã§ã³ã€ãã³ãã®åŠç
åèš4ã€ã®ãã£ã¯ããŒã·ã§ã³ã€ãã³ããããããµãã¹ã¯ã©ã€ãããŠè¿œå ã®ã¢ã¯ã·ã§ã³ãåŠçã§ããŸãã
- ãã£ã¯ããŒã·ã§ã³çµæ
ãã®ã€ãã³ãã¯ããŠãŒã¶ãŒãé³å£°ãäžæåæ¢ãããšããããšãã°æã®æåŸã§ããªã¬ãŒãããŸãã ããã«ãããå®å šã«èªèãããæååãè¿ãããŸãã
ãŸããDictationResultã€ãã³ãã«ãµãã¹ã¯ã©ã€ãããŸãã
dictationRecognizer.DictationResult += DictationRecognizer_DictationResult;
次ã«ãDictationResultã®åŒã³åºããåŠçããŸãã
private void DictationRecognizer_DictationResult(string text, ConfidenceLevel confidence) { // }
- ãã£ã¯ããŒã·ã§ã³
ãã®ã€ãã³ãã¯ããŠãŒã¶ãŒã®ã¹ããŒãå šäœã«ããã£ãŠã¢ã¯ãã£ãã§ãã èªèãšã³ãžã³ã¯é³å£°ãèããããèããå 容ã®ããã¹ããè¿ããŸãã
ãŸããDictationHypothesisã€ãã³ãã«ãµãã¹ã¯ã©ã€ãããŸãã
dictationRecognizer.DictationHypothesis += DictationRecognizer_DictationHypothesis;
次ã«ãDictationHypothesisã®åŒã³åºããåŠçããŸãã
private void DictationRecognizer_DictationHypothesis(string text) { // }
- ãã£ã¯ããŒã·ã§ã³å®äº
ãã®ã€ãã³ãã¯ãStopïŒïŒã¡ãœããã®åŒã³åºããã¿ã€ã ã¢ãŠãããŸãã¯ãã®ä»ã®ãšã©ãŒãªã©ãèªèãšã³ãžã³ãåæ¢ãããšãã«çºçããŸãã
æåã«ãDictationCompleteã€ãã³ãã«ãµãã¹ã¯ã©ã€ãããŸãã
dictationRecognizer.DictationComplete += DictationRecognizer_DictationComplete;
次ã«ãDictationCompleteåŒã³åºããåŠçããŸãã
private void DictationRecognizer_DictationComplete(DictationCompletionCause cause) { // }
- DictationError
ãã®ã€ãã³ãã¯ããšã©ãŒãçºçãããšãã«çºçããŸãã
ãŸããDictationErrorã€ãã³ãã«ãµãã¹ã¯ã©ã€ãããŸãã
dictationRecognizer.DictationError += DictationRecognizer_DictationError;
次ã«ãDictationErroråŒã³åºããåŠçããŸãã
private void DictationRecognizer_DictationError(string error, int hresult) { // }
- ãã£ã¯ããŒã·ã§ã³çµæ
- DictationRecognizerã®å®è¡
dictationRecognizer.Start();
ãªãŸã«ããŒãã·ã£ããããŠã³ããã«ã¯ãã€ãã³ãã®ãµãã¹ã¯ã©ã€ãã解é€ããDisposeïŒïŒã¡ãœããã䜿çšããå¿ èŠããããŸãã
dictationRecognizer.DictationResult -= DictationRecognizer_DictationResult; dictationRecognizer.DictationComplete -= DictationRecognizer_DictationComplete ; dictationRecognizer.DictationHypothesis -= DictationRecognizer_DictationHypothesis ; dictationRecognizer.DictationError -= DictationRecognizer_DictationError ; dictationRecognizer.Dispose();
- DictationRecognizerãäœæãã
ãã®å Žåãã¢ã«ãããŒã§ã¯ããããããããããšããèšèã®åŸã«ãèŠãŠãã被åäœãè¡šé¢ã«èœã¡ãããã«ããã°ã©ã ããŸããã ïŒããšãã°ãæ°èã®ããŒã«ïŒã äžèšã®äŸã§ã¯ããã®åèªã¯ãã¢ã¯ãã£ããŒããã§ããã
- ããããªãã¯ã¹ã«é£ã³èŸŒãããŸãã¯ã¯ã€ã€ãŒãã¬ãŒã ã¢ãŒããæå¹ã«ãã
ãããããããããã¹ãŠè¡ãããåŸãHoloLensãèªåèªèº«ãã©ã®ããã«èŠãŠããã®ãç¥ãããã§ããïŒ äžçãšã®äº€æµã«ã©ã®ããã«åœ¹ç«ã¡ãŸããïŒ
ãã®æç¹ã§ãã¯ã€ã€ãŒãã¬ãŒã ã¢ãŒãããªã³ã«ããŠãHoloLensããªã³ã«ããŸããã èšèã¯ããå¿ èŠãããŸããã§ãã-ããã¯ãã¹ãŠéåžžã«åºæ¿çã§ããã
æ³åããŠã¿ãŠãã ããã圌ã¯äžçã®ã°ãªãããæ§ç¯ããåãªããžã§ã¯ãã¯ïŒãã®èŠéè§ã®å€ã«ãã£ãŠïŒæåéãããªç§åäœã§ç¬æã«æ§ç¯ãããŸãã ããã¯ãšãŠãé åçã§ãïŒ
ãããããã¢ã«ãããŒããŒã«ã®å察åŽã§ããæãçŽããŒãã«ãããããè¡šé¢ã«ç§»åã§ããããã«ããŸããã
- ããããŠå¥ã®äžçãçŸå®ã«ãªã£ããïŒã
çµããã¯åããããèå³æ·±ããã®ã§ãããç§ãã¡ã¯åºã«ç¹å¥ãªè³ç£ã倧ããªãã©ãã¯ããŒã«ã眮ãããã«èšãããŸããã æã¡äžãæã«å€±æããå¥ã®äžçãžã®éè·¯ã圢æãããŸãããé£è¡æ©ãæšãæ°Žãåå°ããããŠçŽ æŽãããé°å²æ°ã§ãã
ç§ã¯ãã®äžçã«è§Šããããšæã£ãŠããŸãããæ²ããããªãæ¬åœã®æ§å¥ã¯ããããããšãé£ããããŠããŸãã
ãã®åŸã圌ãã¯ãã®è³ç£ã誰ãã®é ã«çœ®ãããšãææ¡ããŸããã ãã®åŸãç§ãã¡ãç©Žã§èŠãå šäžçãç§ãã¡ã®çŸå®ã®äžçã«ç§»ããŸãã ãã§ã«ããªãã®åšããçŽé£è¡æ©ãæšã ã®åšããé£ãã§éããæ°Žãã¯ããããŠããã®ãèŠãŠãããªãã¯å šäžçãšå¯Ÿè©±ããããšãã§ããŸãã
å段éã®åŸãå®äºããäœæ¥ã®ãææããäžããããéçºåŠç¿ããã»ã¹ã«ããã«ååããªå¹æãããããããŸããã
ã¢ã«ãããŒã®ãããªïŒ
ã¢ã«ãããŒã§ã¯ãååå è ïŒåœŒã®åæãåŸãŠïŒãã€ã³ã¿ãã¥ãŒãããææ ãHoloLensçšã«éçºããããããžã§ã¯ããããã³ä»ã®å€ãã®è³ªåã«ã€ããŠè³ªåãããŸããã ãããŠãHoloLensã®ãããªãç 究ã«åå ããããã«ãµã€ã³ã¢ããã§ããŸãã
ã¢ã«ãããŒã®çµããã«ããã¹ãŠã®åå è ã¯ãããã°ã©ãã£ãã¯éçºè ãã®ã¹ããŒã¿ã¹ãåãåããŸãã
ä»å¹Žã¯äœã§ããïŒ
// Build 2016ã§ã¯ãããã°ã©ãã£ãã¯ã¢ã«ãããŒãéå¬ãããŸããããããã¯å ±éé¢ä¿è ããã³HoloLens Development Editionããã€ã¹ãäºå泚æããã¡ã³ããŒã®ã¿ã察象ãšããŠããŸãã ãããŸã§ã®ãšãããå è¡äºçŽããã°ã©ã ã¯ç±³åœããã³ã«ããã®éçºè ã®ã¿ãå©çšã§ããããã€ã¹èªäœã®ã³ã¹ãã¯3000ãã«ã§ãã
![](https://habrastorage.org/files/961/121/ffd/961121ffd17c4331ad98a854c9e1d074.jpg)
æšå¹Žã®äž»ãªããŒãããå人çšããã°ã©ã ãã§ãã£ãå Žåãä»åã¯ãäžè¬çãªããã°ã©ã ããã€ãŸã ãã¹ãŠã®åå è ãåæã«å¯Ÿè©±ã§ããããã«ãªããŸãã 誰ããåäžã®ããã°ã©ã ãèŠããããšå¯Ÿè©±ããŸãã
ãã€ã¯ããœããã¯ãåå è ã«æ®µéçã«ããã°ã©ã ãäœæããçŽ4æéããããšå¯Ÿè©±ããæ¹æ³ãæããŸããã
ãã®çµæãåäžã®äžçã«ãããã¹ãŠã®åå è ãç«ã®çãä»ããŠæµãç Žå£ãããã¹ãŠãåãããã°ã©ã ãšçžäºäœçšããã²ãŒã ã«ãªããŸããã
![](https://habrastorage.org/files/943/5e9/938/9435e9938a53482e8ac55296ec820f4f.jpg)
åååæ§ãããã¯ãã1ã€ã®ãŠããŒã¯ãªäœéšã§ããã ãã§ãªããMicrosoftã«ãšã£ãŠãæçãªç 究ã§ãã
ããã°ã©ãã£ãã¯ã¢ã«ãããŒã®ããŒãã®çµè«ãšããŠããã¹ãŠãæ§æããç¬èªã®ããã°ã©ã ãäœæããŠãšãã¥ã¬ãŒã¿ãŒã§è¡šç€ºããããšã匷ããå§ãããŸãã ãŸãããã®ãªã³ã¯ãä»ããŠåæ§ã®ã¢ã«ãããŒãã¹ãå©çšããŸãã
Xbox Oneéçºè ã¢ãŒã
ãåç¥ã®ããã«ãMicrosoftã¯ã€ãã«Xbox Oneéçºè ã¢ãŒããå°å ¥ããŸãããããã«ãããXbox Oneã§UWPã¢ããªã±ãŒã·ã§ã³\ã²ãŒã ããã¹ãã§ããŸãã
ãã®æ©èœã¯ãã¬ãã¥ãŒã¹ããŒãžã«ãããŸããã€ã³ã¹ããŒã«ããå Žåã¯ãç¹å¥ãªDev Mode Activationã¢ããªã±ãŒã·ã§ã³ãããŠã³ããŒãããå¿ èŠããããŸãã
![](https://habrastorage.org/files/1f3/b90/bc9/1f3b90bc95a74698a790048c899e4697.png)
// Build 2016ã«ã³ãã¡ã¬ã³ã¹ã§ã¯ãThe Garageã®ããŒã¹å šäœã§ããã®æ¹æ³ã§DevKitã«å€æãããã³ã³ãœãŒã«ãè©Šãããšãã§ããŸããã
![](https://habrastorage.org/files/ed6/728/9e9/ed67289e9463488895d2fab7853bc047.jpg)
Developer PreviewãæäŸãããã®ïŒ
- 448 MB RAMãžã®ã¢ã¯ã»ã¹ïŒ8 GBã®Xbox Oneã¡ã¢ãªããïŒã ãã¬ãã¥ãŒãçµäºãããšãéçºè ã¯1 GBã®RAMã«ã¢ã¯ã»ã¹ã§ããŸã
- 1.75 GHzã§2ã€ã®CPUã³ã¢ãžã®ã¢ã¯ã»ã¹ã ãã¬ãã¥ãŒãçµäºãããšãéçºè ã¯4ã€ã®CPUã³ã¢ã«ã¢ã¯ã»ã¹ã§ããŸã
- GPUã®45ïŒ ãžã®ã¢ã¯ã»ã¹ã ãã¬ãã¥ãŒãçµäºããåŸããã®æ°åã¯å€ãããŸãã
- Xbox Oneã®UWPã¯çŸåšãDirectX 11æ©èœã¬ãã«10ã®ã¿ããµããŒãããŠããŸããDirectX12ã¯ãŸã ãµããŒããããŠããŸããã
åæã«ãXbox Oneã§UWPã¢ããªã±ãŒã·ã§ã³/ã²ãŒã ãéçºããã³ãã¹ãããããã®æ¬æ Œçãªæ©äŒãåŸãããŸãã ãã ãã1ã€ã®æ©èœããããŸããXboxOneã§ã²ãŒã ããªãªãŒã¹ããããã³ã³ãœãŒã«ã®ãã¹ãŠã®æ©èœã䜿çšããã«ã¯ã ID @ Xboxããã°ã©ã ã«ç»é²ããå¿ èŠããããŸãã
éçºã¢ãŒããæå¹ã«ããæ¹æ³
ã¢ã¯ãã£ãåããåã«ããŸããå°å£²ã¢ãŒãã®ã³ã³ãœãŒã«ãããããšã確èªããå¿ èŠããããŸãã æ®å¿µãªããã2ã€ã®ãã¬ãã¥ãŒããã°ã©ã ã«åæã«åå ããããšã¯ã§ããŸããã
Xbox Oneãã¬ãã¥ãŒããã°ã©ã ã䜿çšããŠããå Žåã¯ãXboxãã¬ãã¥ãŒããã·ã¥ããŒã->ç»é²ã¢ããªã±ãŒã·ã§ã³ã䜿çšããŠããã¬ãã¥ãŒããã°ã©ã ãçµäºããå¿ èŠããããŸãã
ãã®ããã»ã¹ã¯é ããå ŽåããããŸã ãã¬ãã¥ãŒã®æŽæ°ã¯ãªãªãŒã¹æ®µéã«é²ã¿ããã®åŸå°å£²ã¢ãŒãã«åãæ¿ãããŸãã
ããã§ã¯ã éçºã¢ãŒãã«é²ã¿ãŸãããã
- Xbox Oneã¹ãã¢ãéããDev Mode Activationã¢ããªãèŠã€ããŸã
- ã¢ããªã±ãŒã·ã§ã³ãããŠã³ããŒãããŠãããã«å ¥ã
- 次ã«ãããã¥ã¢ã«å šäœã泚ææ·±ãèªã¿ãæºåãã§ãããã[次ãž]ãš[次ãž]ãã¯ãªãã¯ããŸã
- ç¹å¥ãªã³ãŒãã衚瀺ãããŸãïŒ
developer.microsoft.com/xboxactivateã«ã¢ã¯ã»ã¹ããŠãDev Centerã¢ã«ãŠã³ãã«ãã°ã€ã³ããŸãã
- ãã®ããŒãžã§ã³ã³ãœãŒã«ããåãåã£ãã³ãŒããå
¥åãããåæããŠæå¹åããã¯ãªãã¯ããŸãã Devã¢ãŒãã§å°æ°ã®ã³ã³ãœãŒã«ã®ã¿ãç»é²ããæ©äŒãããããšã«æ³šæããŠãã ããã
ã³ãŒããå ¥åãããšãXbox Oneãã¢ã¯ãã£ããŒã·ã§ã³ããã»ã¹ãéå§ãããã®åŸã³ã³ãœãŒã«ãå¿ èŠãªãœãããŠã§ã¢ã®ã€ã³ã¹ããŒã«ãéå§ããŸãã
![](https://habrastorage.org/files/12d/bfc/bff/12dbfcbffff0453bae25c69dea91cb84.jpg)
[åãæ¿ããšåèµ·å]ãã¯ãªãã¯ããŸãã
PCã«ã¯ã以äžãã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã
- Visual Studio 2015 Update 2 ã ãŠãããŒãµã«Windowsã¢ããªéçºããŒã«ã®æšªã«ãããã§ãã¯ããã¯ã¹ãå¿ ããªã³ã«ããŠãã ããã
- Windows 10 SDKãã¬ãã¥ãŒãã«ã14295以éã Windows Insider Programã䜿çšããŠå ¥æã§ããŸãã
ãã¡ã€ãã«ã€ããžã³ã«ããã¢ã¡ãªã«
ä»å¹Žãã«ã³ãã¡ã¬ã³ã¹ã¯ãåŠçã®ããã®Imagine Cupãã¯ãããžãŒã³ã³ããã£ã·ã§ã³ã®ã¢ã¡ãªã«æ±ºåãéå¬ããŸãããããã«å ç«ã¡ãå°åã®æ±ºåæŠãç±³åœã®éœåžã§è¡ãããããããéžæããããããžã§ã¯ããç±³åœã®æ±ºåæŠã«åå ããŸããã
åå è ã¯ã4æ29æ¥ã®å€æ¹ã«ã¬ã³ã¿ã«ã¬ã¹ãã©ã³ã§ã®æšæ¶ããµãã£ã€ãã³ãã©ãšã®ããŒãã£ã³ã°ãä»ã®æ¥ã®ã¯ãŒã«ãªã¹ããŒã«ãŒã«ãããã¹ã¿ãŒã¯ã©ã¹ããå§ãŸãéåžžã«è±å¯ãªããã°ã©ã ãå®æœããŸããããå¿ãã®äžã§ãããžã§ã¯ãã®ã·ã§ãŒã§çµãã//ãã«ããããããæè³åŒã
ã«ã³ãã¡ã¬ã³ã¹ã§ã®å±ç€ºäžã«ãããã€ãã®Imagine Cupãããžã§ã¯ããç 究ããããšãã§ããŸããã
ã«ããŽãªãã²ãŒã ãïŒ
- âNovaâ Nova â , . , .
. : Fire, Water, Wood, Number, Capacity.
C Unity Windows .
ãããžã§ã¯ããµã€ã
- âSpire of the Sullenâ Spite â 2.5D . . : , , .
Trine, . , .
C Unity Windows .
ãããžã§ã¯ããµã€ã
- âSundownâ Mild Beast Games â , . â , , (.. ).
, . , .
C Unity Windows .
ãããžã§ã¯ããµã€ã
- âGibraltarâ âGrim Goblinâ â , . , , . , .
âAdvance Warsâ. , .
C Unity Windows .
ãããžã§ã¯ããµã€ã
- Microsoft Student Partners //Build . 2 : SnakEscape â , ! ;
Lost Story: The last days of Earth â - Half-Life, , Half-Life Half-Life 2.
â â:
- âBEST Police Training simulatorâ âBoloVRâ â VR - . , , .
ãããžã§ã¯ããµã€ã
ââ:
- âTactileâ âTactileâ â . : '' .
, Computer Vision API Microsoft Project Oxford. API , Python.
Arduino, Arduino , .
, . , .
'' .
â , //Build , . , .
ãããžã§ã¯ããµã€ã
- âRESTâ âNo_Sleepâ
REST â Restoring Ecosystems Services Tool. , , . , .
ãããžã§ã¯ããµã€ã
æçµæ¥å šäœã§ã¯ãè£å€å®ã®åã§ãããžã§ã¯ãã®ãã¬ãŒã³ããŒã·ã§ã³ãè¡ãããŸãã-æ¥çã®ä»£è¡šè ãäžæ¥ã®çµããã«ã¯ãåè³è ã®ååã ãã§ãªããåè³è ãåã³åœŒãã®ãããžã§ã¯ãã«ã€ããŠå®å šã«è©±ãåããå®éã«ããã瀺ããæè³åŒããããŸããã
![](https://habrastorage.org/files/c4a/d11/30b/c4ad1130bb6c4713bb95416dfde7f9e9.jpg)
åè
ã«ããŽãªãŒ | ããŒã | ãããžã§ã¯ã |
ãœãŒã·ã£ã«ãããžã§ã¯ã | ãããŽã« | æé«ã®èŠå¯èšç·Žã·ãã¥ã¬ãŒã¿ |
ã²ãŒã | 軜床ã®ç£ã²ãŒã | æ¥æ²¡ |
ã€ãããŒã·ã§ã³ | Healthx | Healthx |
HealthXã§ã¯ããã®æè¡ã¯çŒç§ã¯ãªããã¯ãšãã®æ£è åãã®å®å šãªãœãªã¥ãŒã·ã§ã³ã§ãããäžè¬ã«ãã¬ã€ãžãŒã¢ã€ããšããŠç¥ããã匱èŠã®èšºæãšæ²»çãç®çãšããŠããŸãã匱èŠã¯ãåäŸã®èŠååªå€±ã®æãäžè¬çãªåå ã§ãã
ååªåããŒã ã¯è³éãšããŠ4000ãã«ãåãåããåœéæºæ±ºåã«é²ã¿ãŸãããããã§ã¯ãååœã®ãããžã§ã¯ãã1ã€æ±ºå®ãããã€ããžã³ã«ããã®åœé決åæŠã«é²ã¿ãŸãã
ãã·ã¢ã®ã€ããžã³ã«ãã決åæŠã4æ23æ¥ã«ã¢ã¹ã¯ã¯ã®ããžã¿ã«10æã«éå¬ãããããšã¯æ³šç®ã«å€ããŸãã
ãæž èŽããããšãããããŸããïŒ
質åãããå ŽåããŸãã¯äœãããã£ãšè©³ããç¥ãããå Žåã¯ãå¿ ãæžããŠãã ãããç§ã¯ãã€ãçããŸãã ããããïŒ