PicoMR空间标定关闭默认启动

项目版本

PicoSDK2.4.x
Unity2022.3.2f1c1

问题描述

最近在做项目时遇到需求将Pico的空间标定关闭,在项目中通过按钮去手动开启。
在Pico文档中并未看到相关设置,如果强制将PXR_Manager上的勾选项取消勾选那手动不管怎么去调接口都不生效。
如果默认勾选Anchor在一打开软件时Pico自己会强制调起系统的空间标定必须标定好之后才能进入软件中。
仔细研究发现PXR_Manager上的属性发现是在一个配值表中生成的那就意味着可以修改配置表,抱着试试的心态去修改了一下果然生效了。
在这里插入图片描述

解决方案:

1.上方图片勾选项默认勾选不变。
找到PicoSDK中的PXR_BuildProcessor脚本:
在这里插入图片描述
2.打开后在脚本的210行OnPostGenerateGradleAndroidProject函数中:
在这里插入图片描述
将enable_mr与mr_map_mgr_auto_start改成0(1开启,0关闭)
enable_mr:应该是表示是否开始MR功能的
mr_map_mgr_auto_start:应该代表是否自动开启地图标定
3.代码调起空间标定
PXR_MixedReality.StartSpatialSceneCapture(out var StartSpatialtaskId);
我是在点击一个按钮的时候调起的。
在这里插入图片描述
4.其它的Api接口移步到Pico文档
https://developer-cn.picoxr.com/document/unity/space-calibration/

PicoMRURP环境配值:

1.找到URP的配值文件
在这里插入图片描述
2.将Quality的HDR关闭
在这里插入图片描述
3.关闭URP默认的后处理Post-processing(这个配值文件跟上面那个配值文件不一样,具体根据项目自己找将URP默认的后处理关掉即可)
在这里插入图片描述
如果不将HDR跟后处理关闭Pico的透视将无法打开。

好暂时这样据说MR文档相关接口还是改变,期待Pico的新产品吧!

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
在Hololens 2上使用Unity开发时,实现空间锚点的定位,使用Microsoft提供的Mixed Reality Toolkit (MRTK)。MRTK是一个开源的工具包,为Hololens和Windows Mixed Reality设备提供了许多基础功能和开发工具。其中包括空间锚点的定位。 具体实现步骤如下: 1. 在Unity中导入MRTK,并创建一个新的MRTK项目。 2. 添加空间锚点:在Unity场景中创建一个新的游戏对象,然后将SpatialAnchor组件添加到该对象上。 3. 将空间锚点与场景中的对象进行关联:在Unity场景中创建一个需要关联的对象,然后在该对象上添加SpatialObjectAnchor组件。在SpatialObjectAnchor组件中,选择要关联的空间锚点。 4. 编写代码实现空间锚点的定位:在Unity中编写C#脚本,在脚本中调用MRTK提供的SpatialAnchorManager类,实现空间锚点的定位。例如: ```csharp using Microsoft.MixedReality.Toolkit; using Microsoft.MixedReality.Toolkit.SpatialAwareness; public class SpatialAnchorManagerExample : MonoBehaviour { private IMixedRealitySpatialAwarenessSystem spatialAwarenessSystem; private GameObject spatialAnchorGameObject; private void Start() { spatialAwarenessSystem = CoreServices.GetSpatialAwarenessSystem(); spatialAwarenessSystem.Register(gameObject); } private void OnDestroy() { spatialAwarenessSystem?.Unregister(gameObject); } public void CreateSpatialAnchor() { // Create a new spatial anchor spatialAnchorGameObject = new GameObject("Spatial Anchor"); spatialAnchorGameObject.AddComponent<SpatialAnchor>(); // Add the spatial anchor to the spatial awareness system var anchorService = CoreServices.GetSpatialAwarenessSystemDataProvider<IMixedRealityAnchorService>(); anchorService.CreateAnchor(spatialAnchorGameObject); } public void DestroySpatialAnchor() { // Remove the spatial anchor from the spatial awareness system var anchorService = CoreServices.GetSpatialAwarenessSystemDataProvider<IMixedRealityAnchorService>(); anchorService.RemoveAnchor(spatialAnchorGameObject); // Destroy the spatial anchor game object Destroy(spatialAnchorGameObject); } } ``` 通过调用CreateAnchor方法,可以在Hololens 2中创建一个新的空间锚点。通过调用RemoveAnchor方法,可以将空间锚点从Hololens 2中移除。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白球滚芝麻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值