Hololens空间地图问题
本文关键字:问题 地图 空间 Hololens | 更新日期: 2023-09-27 18:02:32
在使用空间映射时,我在处收到一个错误
void Update()
{
if (mappingEnabled)
{
foreach (GameObject surface in surfaces.Values)
{
surface.GetComponent<MeshRenderer>().enabled = DrawVisualMeshes;
}
if (surfaceWorkOutstanding == false && surfaceDataQueue.Count > 0)
{
SurfaceData smsd = surfaceDataQueue.Dequeue();
surfaceWorkOutstanding = Observer.RequestMeshAsync(smsd, Observer_OnDataReady);
}
}
}
最后一行得到一个ArgumentNullException。这段代码是全息透镜教程的一部分,所以里面没有我的。
即使我没有采取任何行动,只是环顾四周,也会发生车祸。
null参数在smsd结构中;
- $exception {"Value cannot be null.'r'nParameter name: dataRequest.outputMesh"} System.ArgumentNullException
有什么想法吗?
来自MS站点的报价:
使用最新网格渲染空间曲面,并(可选(使用它用于物理碰撞和光线投射。重要的是要确认则CCD_ 1的内容不为空。
这只是意味着在调用并将其传递到Observer.RequestMeshAsync
函数之前,必须检查smsd
是否为null
。
if (mappingEnabled)
{
foreach (GameObject surface in surfaces.Values)
{
surface.GetComponent<MeshRenderer>().enabled = DrawVisualMeshes;
}
if (surfaceWorkOutstanding == false && surfaceDataQueue.Count > 0)
{
SurfaceData smsd = surfaceDataQueue.Dequeue();
if (smsd.outputMesh == null || smsd.outputCollider == null || smsd.outputAnchor == null) { return; }
{
surfaceWorkOutstanding = Observer.RequestMeshAsync(smsd, Observer_OnDataReady);
}
}
}