EasyARSession Component¶
Description¶
持有并管理场景中的 BlockController 和 BlockAnnotationController 。 标签参数与组件参数映射参考 EasyARSessionDataMapping
Component type¶
"easyar-session"
Extends¶
Methods¶
onAdd¶
- typescript
public onAdd(parent: XrFrame.Element, data: IEasyARSessionData ): void;
组件添加时执行。
onUpdate¶
- typescript
public onUpdate(data: IEasyARSessionData , preData: IEasyARSessionData ): void;
数据更新时执行。
onTick¶
- typescript
public onTick(dt: number, data: IEasyARSessionData ): void;
每帧执行。
onRemove¶
- typescript
public onRemove(parent: XrFrame.Element, data: IEasyARSessionData ): void
组件移除时执行
onRelease¶
- typescript
public onRelease(data: IEasyARSessionData ): void
组件释放时执行
getBlockHolder¶
- typescript
public getBlockHolder(): BlockHolder ;
获取场景中的 BlockHolder 组件。
loadEma¶
- typescript
public loadEma(id: string): Promise < BlockHolder >;
通过id加载一个ema标注数据并还原到场景树,加载完成后会将BlockHolder返回,会执行已注册的"emaLoaded"事件。
loadCurrentEma¶
- typescript
public loadCurrentEma(): Promise < BlockHolder >;
加载当前设置到组件data中的araId,加载完成后返回BlockHolder,会执行已注册的"emaLoaded"事件。 当xr-easyar-session组件上设置araId时会在初始化完成后自动执行。
queryEma¶
- typescript
public queryEma(annotationId: string): Promise < IEmaData >;
通过id请求一个ema数据。 不会还原到场景树,不会执行"emaLoaded"事件,仅获取ema数据。
holdEma¶
- typescript
public holdEma(ema: IEmaData , option?: { clearPrevious?: boolean }): void;
持有一个ema数据并还原到场景树。
option:
clearPrevious: 是否清除已持有的ema。
设置为true,则会删除所有已创建的BlockController和BlockAnnotationController并重置BlockHolder状态。 设置为false,则将传入的ema还原并添加到场景树中,若存在id相同的block或annotation,则会覆盖其状态。
localize¶
- typescript
public localize(): Promise<any>;
执行一次单帧定位
resetTracker¶
- typescript
public resetTracker(): void;
重置稳定器的状态