IARSCNViewDelegate 接口

定义

表示所需方法的接口 ((如果协议 ARSCNViewDelegate有任何) )。

[Foundation.Protocol(Name="ARSCNViewDelegate", WrapperType=typeof(ARKit.ARSCNViewDelegateWrapper))]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 11, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Unavailable(ObjCRuntime.PlatformName.WatchOS, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Unavailable(ObjCRuntime.PlatformName.TvOS, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Unavailable(ObjCRuntime.PlatformName.MacOSX, ObjCRuntime.PlatformArchitecture.All, null)]
public interface IARSCNViewDelegate : ARKit.IARSessionObserver, IDisposable, SceneKit.ISCNSceneRendererDelegate
type IARSCNViewDelegate = interface
    interface INativeObject
    interface IDisposable
    interface IARSessionObserver
    interface ISCNSceneRendererDelegate
派生
属性
实现

注解

此接口包含所需的方法 ((如果定义协议 ARSCNViewDelegate有任何) )。

如果开发人员创建实现此接口的类,则实现方法将自动导出到具有协议中 ARSCNViewDelegate 定义的方法的匹配签名的 Objective-C。

如果类提供任何) ARSCNViewDelegate_Extensions 作为接口的扩展方法,则可选方法 (,从而允许开发人员调用协议上的任何可选方法。

属性

Handle

处理指向非托管对象表示形式的 (指针) 。

(继承自 INativeObject)

扩展方法

DidAddNode(IARSCNViewDelegate, ISCNSceneRenderer, SCNNode, ARAnchor)

开发人员可以重写此方法,以响应与新 ARAnchor相对应的 的添加SCNNode

DidRemoveNode(IARSCNViewDelegate, ISCNSceneRenderer, SCNNode, ARAnchor)

开发人员可以重写此方法,以响应删除 node后删除 anchor 的 。

DidUpdateNode(IARSCNViewDelegate, ISCNSceneRenderer, SCNNode, ARAnchor)

此方法在更新后 node 不久调用,以反映 的 anchor当前状态。

GetNode(IARSCNViewDelegate, ISCNSceneRenderer, ARAnchor)

检索 SCNNode 与指定的 anchor对应的 。

WillUpdateNode(IARSCNViewDelegate, ISCNSceneRenderer, SCNNode, ARAnchor)

此方法在更新 的属性 node 之前不久调用,以反映 的状态 anchor

CameraDidChangeTrackingState(IARSessionObserver, ARSession, ARCamera)

更改时调用 TrackingState ,指示跟踪质量的变化。

DidFail(IARSessionObserver, ARSession, NSError)

session 由于错误而停止运行时调用。

DidOutputAudioSampleBuffer(IARSessionObserver, ARSession, CMSampleBuffer)

开发人员可以实现在播放音频缓冲区后不久调用的此方法。

InterruptionEnded(IARSessionObserver, ARSession)

开发人员可以重写此方法,以在中断后开始帧处理和设备跟踪。

ShouldAttemptRelocalization(IARSessionObserver, ARSession)

返回一个布尔值,该值指示会话在中断后是否应尝试重新定向。

WasInterrupted(IARSessionObserver, ARSession)

发生中断时,开发人员可以重写此方法以停止帧处理和设备跟踪。

DidApplyAnimations(ISCNSceneRendererDelegate, ISCNSceneRenderer, Double)

开发人员可以重写此方法以响应动画的完成。

DidApplyConstraints(ISCNSceneRendererDelegate, ISCNSceneRenderer, Double)

表示所需方法的接口 ((如果协议 ARSCNViewDelegate有任何) )。

DidRenderScene(ISCNSceneRendererDelegate, ISCNSceneRenderer, SCNScene, Double)

在渲染场景后不久调用此方法。

DidSimulatePhysics(ISCNSceneRendererDelegate, ISCNSceneRenderer, Double)

在模拟物理之后不久将调用此方法。

Update(ISCNSceneRendererDelegate, ISCNSceneRenderer, Double)

开发人员可以重写此方法,以在任何操作、动画或物理模拟之前执行处理。

WillRenderScene(ISCNSceneRendererDelegate, ISCNSceneRenderer, SCNScene, Double)

开发人员可以重写此方法,以在渲染场景之前立即执行处理。

适用于