Appearance
如何使用平面识别功能
TIP
本章节将指导开发者通过 SDK 使用平面识别能力;
参考“快速使用”章节创建应用之后已经可以使用空间追踪能力
导入平面检测能力 PlaneDetectionManager
- 如果使用 XRMan,在 XRMan 的 Inspector 面板中,勾选 PlaneDetection,会在场景中创建 XRMan/Attachments/PlaneDetectionManager
- 如果不使用 XRMan,在 Heirarchy 视图中右键空白处,依次选择:XRAbilities - PlaneDetection,将在场景中自动创建 PlaneDetectionManager
- PlaneDetectionManager 不具有视觉化平面的功能,一般作为开发者自定义选择,详细可参考 Samples/PlaneDetection 中的使用
- 开发者可根据参考示例获取平面信息并将平面实例化。
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
- 编译此场景到设备,运行后即可进行定位观察