# SDK构成系统架构

<figure><img src="/files/AWu4RRjVFeLosniifOUD" alt=""><figcaption></figcaption></figure>

#### 基础支持层（RayNeo Basic Support）

这一层是整个系统的基础，提供了硬件和基本服务的支持，确保系统能够正常运行。

* **RayNeo Hardware**：
  * **IMU**：惯性测量单元，用于检测设备的运动和方向。
  * **Camera**：相机，用于捕捉图像和视频。
  * **Display**：显示设备，用于呈现AR内容。
  * **MIC**：麦克风，用于音频输入。
  * **Audio**：音频输出设备。
* **RayNeo Rom Support**：
  * **Device Information**：设备信息，包括硬件配置和状态。
  * **Battery**：电池状态，包括电量和充电状态。
  * **Other Data**：其他数据，可能包括系统日志、错误报告等。
* **RayNeo Launcher Support**：
  * **IPC-GPS**：进程间通信-GPS，用于位置服务。
  * **IPC-Ring**：进程间通信-戒指，用于戒指交互。
  * **Connection Status**：连接状态，包括网络连接和其他设备连接状态。

<br>

#### 运行时层（RayNeo OpenXR Runtime）

这一层负责运行时环境的管理，包括设备服务和算法支持，确保AR应用能够正确执行。

* **RayNeo Device Service**：
  * **Touch**：触摸输入服务。
  * **Keys**：按键输入服务。
  * **Share Camera**：共享相机服务，用于多设备间的相机共享。
  * **...**：其他设备服务。
* **RayNeo Algorithm**：
  * **SLAM**：同步定位与地图构建算法，用于环境感知和定位。
  * **Face Detector**：面部检测算法，用于识别和跟踪面部。
  * **Magnetometer**：磁力计算法，用于方向感知。
  * **Plane Detection**：平面检测算法，用于识别环境中的平面。
  * **3Dof**：3自由度追踪算法，用于追踪设备的运动。
  * **...**：其他算法。

<br>

#### 开发工具层（Develop Kit）

这一层提供了开发工具和适配器，帮助开发者创建和部署AR应用。

* **AR Foundation (Cloud Pointer & Image Track)**：
  * 提供基础的AR功能，如云指针和图像跟踪。
* **Unity Interaction Toolkit**：
  * 提供与Unity引擎交互的工具包，用于开发AR应用。
* **Develop Kit**：
  * **Spatial Render**：空间渲染工具，用于渲染3D内容。
  * **New Input System**：新输入系统，支持多种输入设备。
  * **Share Camera**：共享相机工具。
  * **Ray Interaction**：射线交互工具，用于用户与虚拟对象的交互。
* **RayNeo OpenXR Loader / SubSystem**：
  * 负责加载和管理OpenXR子系统，提供跨平台的AR/VR开发支持。
* **Android Adapter**：
  * 提供与Android系统的适配，确保系统在Android设备上的兼容性。

\
这三个层次共同构成了RayNeo AR系统的整体架构，从硬件支持到运行时环境，再到开发工具，为开发者提供了全面的AR开发解决方案。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://rayneo.gitbook.io/rayneo-devdoc/x-xi-lie/unity-kai-fa/sdk-gou-cheng-xi-tong-jia-gou.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
