使用Hololens 2在空间贴图网格上生成对象

问题描述

我目前正在与Hololens 2合作进行一个项目,现在正尝试在用手射线瞄准的位置生成物体。首先,我使用MRTK的空间感知系统创建了一个网格,现在我想在光标位置生成一个对象。

我了解了许多解决方法,例如cursor.transform.position(不起作用,可能是因为我使用了默认光标吗?)和实例化组件“轻按一下”或使用RaycastHit。不幸的是,因为这是我第一次与Hololens合作,所以我不知道哪种解决方案可能是最好的。我认为产卵并不是那么困难,但是也许我只是盲目的。

是否有一种简单的方法可以解决我的问题或从注视光标中获取正确的坐标?

解决方法

在这里,请使用IMixedRealityPointerHandler。参见documentation

public void OnPointerClicked(MixedRealityPointerEventData eventData)
{
    var result = eventData.Pointer.Result;
    var hitPosition = result.Details.Point;
    // Check if hitting spatial mapping layer
    if (result.CurrentPointerTarget?.layer == 31)
        Instantiate(yourPrefab,hitPosition,yourRotation);
    else
        Debug.Log("Hit surface with layer: " + result.CurrentPointerTarget?.layer.ToString());
}

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...