.. _2 硬件使用指引: 2.硬件使用指引 =============================== RhinoX的主è¦ç¡¬ä»¶åŒ…括头显,手柄控制器以åŠBeacon。头显用于显示内容,手柄用于对虚拟场景ä¸çš„物体进行交互,Beacon则用于 定ä½è™šæ‹Ÿåœºæ™¯çš„ä½ç½®ï¼Œä¸‰ä¸ªç¼ºä¸€ä¸å¯ï¼Œä¸‹é¢å°†è¯¦ç»†ä»‹ç»è¿™äº›è®¾å¤‡çš„用法以åŠåŸºæœ¬åŽŸç†ã€‚ 2.1 RhinoX头显 --------------------------- 2.1.1 æŒ‰é”®æŽ¥å£ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. image:: _static/rhinox_hardware_1.png .. image:: _static/rhinox_hardware_2.png 外设接å£ï¼š ============================ ================================================ æŽ¥å£ åŠŸèƒ½ ============================ ================================================ USB Type-CæŽ¥å£ å¯ç”¨ä½œUSB ADB调试ã€å……ç”µå£ TFå¡æ§½ 扩展TFå¡ï¼ŒæŽ¨è使用金士顿å¡ï¼Œæœ€å¤§æ”¯æŒ128GB 3.5mméŸ³é¢‘æŽ¥å£ æŽ¥å…¥3.5耳机,æ¤ä¸æ”¯æŒéº¦å…‹é£Žï¼Œæœ‰ç‹¬ç«‹éº¦å…‹é£Ž Micro USBæŽ¥å£ æ‰©å±•USB外设 ============================ ================================================ .. WARNING:: - 有外设(PCã€å……电头)连接头显USB Type-Cå£æ—¶ï¼ŒARè¿½è¸ªç³»ç»Ÿå°†æ— æ³•ä½¿ç”¨ï¼Œä¸”æ‰‹æŸ„ä¼šæ–开连接。 - Micro USB接å£åªèƒ½è¿žæŽ¥å¤–设,ä¸èƒ½å……电以åŠè°ƒè¯• 物ç†æŒ‰é”®å’ŒUnitySDK API对应关系: ============================ ================================================ 头显按键 Unity输入键 ============================ ================================================ OKé”® RhinoXButton.ConfirmButton Home/电æºé”® Androidæ ‡å‡†Homeé”®(系统å 用,默认ä¸å¼€æ”¾) 音é‡+é”® Androidæ ‡å‡†VOLUME_UP(系统å 用,默认ä¸å¼€æ”¾) 音é‡-é”® Androidæ ‡å‡†VOLUME_DOWN(系统å 用,默认ä¸å¼€æ”¾) ============================ ================================================ 2.1.2 常用功能 ^^^^^^^^^^^^^^^^^^^^^^^^^ **1.ä¼‘çœ å”¤é†’** 头显å–下放置在桌é¢é™ç½®30såŽè¿›å…¥ä¼‘çœ çŠ¶æ€ï¼Œå±å¹•ç†„ç。佩戴在头上åŽè‡ªåŠ¨å”¤é†’。 åŒæ—¶æŒ‰ä¸‹Home键以åŠOKé”®å¯ä»¥æ‰‹åŠ¨å°†å±å¹•ä¼‘çœ ã€‚ 调试时为é¿å…å¤´æ˜¾ä¼‘çœ ï¼Œå¯ç”¨çº¸å›¢å°†é¢å¤´å¤„çš„ä¼ æ„Ÿå™¨é®ä½ã€‚ **2.头显æ“作模å¼** 头显有两ç§æ“作模å¼ï¼Œä¸€ç§æ˜¯å¤´æŽ§æ¨¡å¼ï¼Œä¸€ç§æ˜¯æ‰‹æŸ„射线模å¼ã€‚ 在手柄没有连接的情况下,头显开机åŽä¸»ç•Œé¢ä¼šæœ‰ä¸€ä¸ªå°ç™½ç‚¹ï¼Œå¯ä»¥é€šè¿‡å¤´éƒ¨çš„移动æ¥æŽ§åˆ¶å°ç™½ç‚¹çš„移动,进行 选择æ“作,å†é€šè¿‡å¤´æ˜¾å³ä¾§çš„“OKâ€é”®è¿›è¡Œç¡®è®¤é€‰æ‹©ã€‚ 手柄连接上之åŽï¼Œå…ˆæ‰£åŠ¨æ‰‹æŸ„扳机键,调出射线,然åŽé€šè¿‡å°„线进行选择,å†é€šè¿‡æ‰³æœºé”®è¿›è¡Œç¡®è®¤ã€‚ **3.å¸è½½/退出应用** å¸è½½åº”用:通过手柄射线在Launcherç•Œé¢é€‰æ‹©åº”ç”¨å›¾æ ‡ï¼Œé•¿æŒ‰ç¡®è®¤é”®ï¼Œç‚¹å‡»å¸è½½å³å¯ã€‚ 退出应用:先按一下头显上的Home键返回主界é¢ï¼Œå†è°ƒå‡ºæ‰‹æŸ„射线,点击主界é¢ä¸Šçš„“清除â€æŒ‰é’®å³å¯ã€‚ **4.调试/安装应用** Rhino Xå¼€å‘è°ƒè¯•æ˜¯é€šè¿‡æ ‡é…çš„æ•°æ®çº¿ï¼Œè¿žæŽ¥TypeC接å£è¿›è¡Œä½¿ç”¨ã€‚USBå¼€å‘者调试功能默认是开放 的,通过adb连接调试å³å¯ã€‚ 安装应用通过adb命令进行安装,å‚考 `教程`_ .. _教程: https://jingyan.baidu.com/article/22fe7cedf67e353002617f25.html **5.系统å‡çº§** RhinoX自带在线å‡çº§åŠŸèƒ½ï¼Œå¦‚果系统有å‡çº§ï¼Œåªéœ€è¦å°†å¤´æ˜¾è¿žæŽ¥æœ‰å¤–网的wifi,然åŽåœ¨è®¾ç½®->系统 版本 ä¸ç‚¹å‡»æ£€æŸ¥æ›´æ–°å³å¯ã€‚ 更新时头显ä¸å¯ä½¿ç”¨ï¼Œæ›´æ–°å®ŒåŽéœ€è¦é‡å¯å¤´æ˜¾ã€‚ **6.ç”µæ± æ‹†å¸** RhinoXç”µæ± ä¸ºå¯æ‹†å¸è®¾è®¡ï¼Œå¦‚有è´ä¹°å¤‡ç”¨ç”µæ± ,å¯å°†ç”µæ± 拆å¸ä¸‹æ¥è¿›è¡Œæ›´æ¢ã€‚ ç”µæ± ä½äºŽå¤´æ˜¾åŽæ–¹ï¼Œä¸ºç£å¸å›ºå®šï¼Œåªéœ€ç”¨æ‰‹æŒ‡æŠµä½ç”µæ± 与头显连接处,用力å‘外拔å³å¯ã€‚ **7.镜片安装** 镜片是通过ç£å¸çš„æ–¹å¼å›ºå®šåœ¨å¤´æ˜¾å‰æ–¹ï¼Œå®‰è£…æ—¶åªéœ€å°†é•œç‰‡æ”¾ç½®åœ¨åˆé€‚çš„ä½ç½®ï¼Œé•œç‰‡ä¼šè‡ªåŠ¨å¸é™„上 去。安装上之åŽï¼Œè½»è½»æ‘‡ä¸€ä¸‹é•œç‰‡ï¼Œç¡®è®¤å®‰è£…到ä½ã€‚ 详细使用方法å¯å‚考以下视频教程: https://mp.weixin.qq.com/s/aj-WFesk2CxX2s0ep8d-nQ 2.1.3 注æ„事项 ^^^^^^^^^^^^^^^^^^^^^^^^ 1. 拆å¸ç”µæ± 时请务必先关机。 2. ä¸å¯å¼€æœºå……电,开机时接上数æ®çº¿æ‰‹æŸ„会æ–开连接。 3. 使用å‰è¯·å°†å±å¹•ä¿æŠ¤è†œæ’•æŽ‰ 4. åŠ¡å¿…ç”¨æ ‡é…的充电头以åŠæ•°æ®çº¿å……电以åŠè°ƒè¯•ã€‚ 5. 请尽é‡åœ¨å®¤å†…使用,ä¸å¯åœ¨è¿‡æš—或者过亮的环境ä¸ä½¿ç”¨ï¼Œå¦åˆ™ä¼šå‡ºçŽ°åœºæ™¯æ¼‚移的现象。 6. 使用时确ä¿å‘¨å›´ä¸èƒ½å¤ªç©ºæ—·ï¼ŒçŽ¯å¢ƒè‰²å½©ç¨å¾®ä¸°å¯Œä¸€äº›,å¦åˆ™ä¼šå‡ºçŽ°åœºæ™¯æ¼‚移的现象。 7. 10å²ä»¥ä¸‹å°æœ‹å‹é¡»åœ¨å®¶äººé™ªåŒä¸‹ä½¿ç”¨ï¼Œé˜²æ¢çœ¼é•œæ»‘è½å—伤。 8. 使用时请勿用手触碰镜片,å¯èƒ½ä¼šå¯¼è‡´é•œç‰‡æ¾åŠ¨æˆ–者掉è½ã€‚ 2.2 手柄控制器 ------------------ 手柄是RhinoXçš„æ ¸å¿ƒäº¤äº’è®¾å¤‡ï¼Œä»–æ˜¯é€šè¿‡å¤´æ˜¾å‰æ–¹çš„红外摄åƒå¤´è¿›è¡Œè·Ÿè¸ªå®šä½çš„,故在使用手柄时需è¦ç¡®ä¿æ‰‹æŸ„在 æ‘„åƒå¤´çš„跟踪范围内,å¦åˆ™æ‰‹æŸ„å°†å‡ºçŽ°æŠ–åŠ¨æˆ–è€…æ— æ³•è¢«è·Ÿè¸ªã€‚ .. warning:: 请勿在头显充电或者通过数æ®çº¿è¿žä¸Šç”µè„‘的情况下使用手柄,æ¤æ—¶æ‰‹æŸ„会æ–å¼€è¿žæŽ¥ï¼Œä¸”æ— æ³•è·Ÿè¸ªBeacon。 æ¤æ—¶å¤´æ˜¾ä¸Šä¼šæ示"VPU未连接,请拔掉充电器使用",如果è¦ä½¿ç”¨ï¼Œè¯·æ‹”掉充电器。 2.2.1 按键定义 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. image:: _static/tag_controller.png 控制器按键与UnitySDK API对应关系: ============================ ================================================ 控制器按键 Unity输入键 ============================ ================================================ 触摸æ¿æŒ‰ä¸‹ RhinoXButton.ControllerTouchPadButton èœå•é”® RhinoXButton.App Homeé”® RhinoXButton.Home 扳机键 RhinoXButton.ControllerTrigger ============================ ================================================ **触摸æ¿åæ ‡ï¼š** .. image:: _static/tag_controller_touchpad.png 2.2.2 指示ç¯çŠ¶æ€ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ============ ============================= çŠ¶æ€ æŒ‡ç¤º ============ ============================= è¿žæŽ¥çŠ¶æ€ ç»¿ç¯å¸¸äº® æ–å¼€çŠ¶æ€ ç»¿ç¯é—ªçƒ å…³æœºçŠ¶æ€ æŒ‡ç¤ºç¯ç†„ç ä¼‘çœ çŠ¶æ€ æŒ‡ç¤ºç¯ç†„ç,按任æ„按键唤醒 ä½Žç”µçŠ¶æ€ çº¢ç¯é—ªçƒ ============ ============================= 2.2.3 手柄使用 ^^^^^^^^^^^^^^^^^^^^^^^^^^^ **1.手柄é…对** é€šå¸¸æ ‡é…的手柄为å³æ‰‹æŸ„,头显开机åŽï¼Œé•¿æŒ‰æ‰‹æŸ„Home键将手柄开机,手柄会自动与头显连接。 若手柄未自动连接,å¯é€šè¿‡â€œè®¾ç½®â€->“外设管ç†â€->“å³æ‰‹æŸ„â€è¿›è¡Œæ‰‹æŸ„é…对, é…对时åŒæ—¶æŒ‰ä¸‹æ‰‹æŸ„çš„Home键以åŠèœå•é”®ï¼Œé…对åŽéœ€è¿žæŽ¥å¤–ç½‘ï¼Œä¸‹è½½æ ‡å®šå‚æ•° .. note:: - 若主界é¢ä¸Šé¢æç¤ºâ€œæŽ§åˆ¶å™¨æ ‡å®šå‚æ•°ä¸å˜åœ¨â€æˆ–者在应用ä¸æ‰‹æŸ„æ— æ³•è·Ÿè¸ªï¼Œåˆ™è¯·é‡æ–°é…å¯¹æ‰‹æŸ„å¹¶ä¸‹è½½æ ‡å®šå‚æ•° - ç›®å‰æ ‡é…的手柄å‡ä¸ºå³æ‰‹æŸ„,如需使用åŒæ‰‹æŸ„,请å‘商务人员申请左手柄,切忌将å³æ‰‹æŸ„作为左手柄使用 **2.射线回æ£** 当在主界é¢å‘现手柄射线æªæ–œæ—¶ï¼Œå¯å°†æ‰‹æŸ„指å‘æ£å‰æ–¹ï¼ŒçŸæŒ‰æ‰‹æŸ„èœå•é”®ï¼Œè¿›è¡Œå°„线的回æ£ã€‚ **3.供电/开关机** 手柄通过7å·ç”µæ± ä¾›ç”µï¼Œä½Žç”µæ—¶è¯·æ‰“å¼€ç”µæ± ä»“æ›´æ¢ç”µæ± 。 长按手柄Homeé”®5s关机,长按Homeé”®3s开机 2.3 Beacon --------------- 我们通常说的Beacon指的是一个黑色圆盘(如下图所示),大部分时候他的作用是用于定ä½è™šæ‹Ÿåœºæ™¯çš„原点ä½ç½®ï¼Œæ¯ä¸€ä¸ªåº”用 在å¯åŠ¨åŽéƒ½å¿…é¡»è¦è¯†åˆ«ä¸€ä¸‹Beaconæ¥è¿›è¡Œåœ°é¢çš„定ä½ã€‚如果ä¸å®šä½Beacon,应用开å¯åŽæ— 法确定场景在哪里显示 Beaconä¸Žæ‰‹æŸ„ä¸€æ ·ï¼Œä¹Ÿæ˜¯é€šè¿‡å¤´æ˜¾ä¸Šçš„æ‘„åƒå¤´æ¥è¿›è¡Œè·Ÿè¸ªå®šä½çš„,所以必须ä¿è¯Beacon在摄åƒå¤´çš„跟踪范围内æ‰ä¼šè¢« 识别到,Beacon的稳定识别è·ç¦»é€šå¸¸æ˜¯1.4må·¦å³ï¼Œæ‰€ä»¥å®šä½æ—¶éœ€è¦é 近他并低头进行识别。 Beacon也是有方å‘的,我们规定Beacon上数å—çš„æ–¹å‘为Zè½´çš„è´Ÿæ–¹å‘,具体轴å‘è§ä¸‹å›¾ï¼Œé€šè¿‡æ—‹è½¬Beaconå¯ä»¥è°ƒæ•´åœºæ™¯çš„æ–¹ä½ã€‚ Beacon上有一个数å—代表它的编å·ï¼Œç›®å‰æœ‰ä¸‰ç§ç¼–å·çš„Beacon,å³1,2,3å·ï¼Œä»–们在SDKä¸å¯¹åº”çš„ID为65,66,67 Beacon作为GroundPlane使用时,都会åŒæ—¶é…ç½®3个编å·çš„Beacon,所以一般应用ä¸ä»»æ„一个编å·çš„Beaconéƒ½å¯ ä»¥ç”¨æ¥å®šä½åœºæ™¯çš„原点,没有任何区别。但是ä¸èƒ½3个åŒæ—¶ä½¿ç”¨ã€‚ .. note:: Beacon并没有强制设置åªèƒ½ä½œä¸ºGroundPlane使用,如果有需è¦ï¼Œå¯å°†ä»–é…置为Dynamic Target对象,具体请 å‚考SDK文档 .. image:: _static/beacon.jpg