Skip to content

如何使用平面识别功能

TIP

本章节将指导开发者通过 SDK 使用平面识别能力;

  1. 参考“快速使用”章节创建应用之后已经可以使用空间追踪能力

  2. 导入平面检测能力 PlaneDetectionManager

    1. 如果使用 XRMan,在 XRMan 的 Inspector 面板中,勾选 PlaneDetection,会在场景中创建 XRMan/Attachments/PlaneDetectionManager
    2. 如果不使用 XRMan,在 Heirarchy 视图中右键空白处,依次选择:XRAbilities - PlaneDetection,将在场景中自动创建 PlaneDetectionManager

  1. PlaneDetectionManager 不具有视觉化平面的功能,一般作为开发者自定义选择,详细可参考 Samples/PlaneDetection 中的使用
  2. 开发者可根据参考示例获取平面信息并将平面实例化。
csharp
//获取平面信息
Dictionary<ulong, PlaneDetectionManager.PlaneInfo> planes
     = PlaneDetectionManager.Instance.GetPlanes();
csharp
//将平面可视化
for(PlaneDetectionManager.PlaneInfo planeObj in planes){
    GameObject plane = GameObject.CreatePrimitive(PrimitiveType.Plane);
    plane.transform.position = planeObj.position;
    plane.transform.rotation = planeObj.rotation;
    plane.transform.localScale = planeObj.scale * 0.1f;//Plane default scale is 10
    Material material = Resources.Load<Material>("[your own shader name]");
    plane.GetComponent<MeshRenderer>().material = material;
}

详细使用可参考 PlaneDetection Sample

  1. 编译此场景到设备,运行后即可进行定位观察