public void Update (XR.WSA.SurfaceObserver.SurfaceChangedDelegate onSurfaceChanged);

Parameters

onSurfaceChangedCallback called when SurfaceChanged events are detected.

Description

Update generates SurfaceChanged events which are propagated through the specified callback. If no callback is specified, the system will throw an ArgumentNullException. Generated callbacks are synchronous with this call. Scenes containing multiple SurfaceObservers should consider using different callbacks so that events can be properly routed.

Update is a very expensive call. Its expense scales with the number of observable Surfaces. Thus, constraining your observation volume can help improve performance if you expect to call Update regularly. The engine provides the SpatialMapping.ObserverUpdate profiling tag to allow you to monitor spatial mapping performance.

using UnityEditor;
using UnityEngine;
using UnityEngine.XR.WSA;
using System;

public class ExampleScript : MonoBehaviour { public SurfaceObserver m_Observer;

void UpdateSurfaceObserver() { // Update your surface observer to generate onSurfaceChanged callbacks m_Observer.Update(SurfaceChangedHandler); // all Update callbacks are now complete }

void SurfaceChangedHandler(SurfaceId id, SurfaceChange changeType, Bounds bounds, DateTime updateTime) { switch (changeType) { case SurfaceChange.Added: // handle Surface adds here break; case SurfaceChange.Updated: // handle Surface updates here break; case SurfaceChange.Removed: // handle Surface removal here break; } } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961