Type aliases
RaycastDesc
Ƭ RaycastDesc: Object
raycast函数的参数。
field origin 射线起点。
field unitDir 射线方向(单位向量)。
field distance 射线的最大长度。
field hit 用来接收碰撞信息的容器。
field layerMask 可以用来屏蔽一些物体。
field (未实现)queryTriggerInteraction,是否能与Trigger相交(默认能)。
Type declaration
| Name | Type |
|---|---|
distance? |
number |
hit? |
RaycastHit |
layerMask? |
number |
origin |
Vector3 |
unitDir |
Vector3 |
TCameraBackground
Ƭ TCameraBackground: "default" | "skybox" | "ar"
相机背景渲染模式。
default模式只执行默认清屏。
skybox模式配合Env组件使用。
ar模式配合ARSystem使用。
TDirection
Ƭ TDirection: "forwards" | "backwards" | "both"
动画播放的方向,如果是both,则会在loop开启时的每次循环中自动反转。
TEventCallback
Ƭ TEventCallback<TParams>: (params: TParams, sender: Element) => void
Type parameters
| Name |
|---|
TParams |
Type declaration
▸ (params, sender): void
事件管理器的回调。
Parameters
| Name | Type |
|---|---|
params |
TParams |
sender |
Element |
Returns
void
TTrackMode
Ƭ TTrackMode: "Plane" | "Marker" | "OSD" | "Face" | "Hand" | "Body" | "threeDof"
ARSystem和ARTracker的跟踪模式。
其中threeDof需要基础库2.30.4以上支持。
Texture
Ƭ Texture: Kanata.Texture
UniformBlock
Ƭ UniformBlock: Kanata.UniformBlock
UniformDescriptor
Ƭ UniformDescriptor: Kanata.UniformDescriptor
VertexLayout
Ƭ VertexLayout: Kanata.VertexLayout
Variables
ARSystemSchema
• ARSystemSchema: IComponentSchema
ARSystem的schema,详见IARSystemData。
ARTrackSchema
• ARTrackSchema: Object
ARTracker的schema,详见IARTrackerData。
Type declaration
| Name | Type |
|---|---|
autoSync |
{ type: string = 'number-array' } |
autoSync.type |
string |
image |
{ type: string = 'image' } |
image.type |
string |
mode |
{ type: string = 'string' } |
mode.type |
string |
src |
{ type: string = 'string' } |
src.type |
string |
ARTrackerDataMapping
• ARTrackerDataMapping: { auto-sync: string[] ; hit-id: string[] ; image: string[] ; mode: string[] ; src: string[] } & { layer: string[] ; node-id: string[] ; position: string[] ; rotation: string[] ; scale: string[] ; visible: string[] } & { [key: string]: string[]; }
默认包含XRNode的所有属性映射,以及将ARTracker组件的属性进行映射。
ARTrackerDefaultComponents
• ARTrackerDefaultComponents: IEntityComponents
默认包含XRNode的所有默认组件,以及ARTracker组件。
AnimatorSchema
• AnimatorSchema: Object
Animator的schema定义。
see 解析后的接口详见 IAnimatorData
Type declaration
| Name | Type |
|---|---|
autoPlay |
{ type: string = 'dict' } |
autoPlay.type |
string |
clipMap |
{ type: string = 'dict' } |
clipMap.type |
string |
keyframe |
{ type: string = 'keyframe' } |
keyframe.type |
string |
AssetLoadDataMapping
• AssetLoadDataMapping: { asset-id: string[] ; defer: string[] ; options: string[] ; src: string[] ; type: string[] } & { [key: string]: string[]; }
将AssetLoad组件的属性进行映射。
AssetLoadSchema
• AssetLoadSchema: IComponentSchema
AssetLoad的schema,详见{@link IAssetLoadData}。
AssetMaterialDataMapping
• AssetMaterialDataMapping: { asset-id: string[] ; effect: string[] ; env-data: string[] ; marcos: string[] ; render-queue: string[] ; states: string[] ; uniforms: string[] } & { [key: string]: string[]; }
将AssetMaterial的属性进行映射。
AssetMaterialDefaultComponents
• AssetMaterialDefaultComponents: IEntityComponents
AssetMaterialSchema
• AssetMaterialSchema: IComponentSchema
AssetMaterial的schema,详见IAssetMaterialData。
AssetPostProcessDataMapping
• AssetPostProcessDataMapping: { asset-id: string[] ; data: string[] ; is-hdr: string[] ; type: string[] } & { [key: string]: string[]; }
将AssetPostProcess的属性进行映射。
AssetPostProcessDefaultComponents
• AssetPostProcessDefaultComponents: IEntityComponents
AssetRenderTextureDataMapping
• AssetRenderTextureDataMapping: { asset-id: string[] ; height: string[] ; is-hdr: string[] ; width: string[] } & { [key: string]: string[]; }
将AssetRenderTexture的属性进行映射。
AssetRenderTextureDefaultComponents
• AssetRenderTextureDefaultComponents: IEntityComponents
AssetRenderTextureSchema
• AssetRenderTextureSchema: IComponentSchema
AssetRenderTexture的schema,详见IAssetRenderTextureData。
AssetsDefaultComponents
• AssetsDefaultComponents: IEntityComponents
默认包含Assets组件。
AssetsSchema
• AssetsSchema: IComponentSchema = {}
BasicDataMapping
• BasicDataMapping: Object
空的默认组件映射。
Index signature
▪ [key: string]: string[]
BasicDefaultComponents
• BasicDefaultComponents: IEntityComponents = {}
空的默认组件集。
CameraDataMapping
• CameraDataMapping: { allow-features: string[] ; background: string[] ; clear-color: string[] ; clear-depth: string[] ; clear-stencil: string[] ; cull-mask: string[] ; depth: string[] ; far: string[] ; fov: string[] ; is-ar-camera: string[] ; is-clear-color: string[] ; is-clear-depth: string[] ; is-clear-stencil: string[] ; is-perspective: string[] ; near: string[] ; orth-size: string[] ; post-process: string[] ; render-target: string[] ; target: string[] } & { layer: string[] ; node-id: string[] ; position: string[] ; rotation: string[] ; scale: string[] ; visible: string[] } & { [key: string]: string[]; }
默认包含XRNode的所有属性映射,以及将Camera组件的属性进行映射。
CameraDefaultComponents
• CameraDefaultComponents: IEntityComponents
CameraOrbitControlSchema
• CameraOrbitControlSchema: IComponentSchema
CameraOrbitControl的schema,详见ICameraOrbitControlData。
CameraSchema
• CameraSchema: IComponentSchema
Camera的schema,详见ICameraData。
CapsuleShapeSchema
• CapsuleShapeSchema: IComponentSchema
CubeShapeSchema
• CubeShapeSchema: IComponentSchema
EnvDataMapping
• EnvDataMapping: { diffuse-exp: string[] ; env-data: string[] ; is-sky2d: string[] ; rotation: string[] ; sky-map: string[] ; specular-exp: string[] } & { [key: string]: string[]; }
默认将Env组件的属性进行映射。
EnvDefaultComponents
• EnvDefaultComponents: IEntityComponents
默认包含Env组件。
EnvSchema
• EnvSchema: IComponentSchema
GLTFDataMapping
• GLTFDataMapping: { cast-shadow: string[] ; model: string[] ; never-cull: string[] ; receive-shadow: string[] ; states: string[] } & { layer: string[] ; node-id: string[] ; position: string[] ; rotation: string[] ; scale: string[] ; visible: string[] } & { [key: string]: string[]; }
默认包含XRNode的所有属性映射,以及将GLTF组件的属性进行映射。
- model → {@link IGLTFComponentData.model}
- cast-shadow → {@link IGLTFComponentData.castShadow}
- receive-shadow → {@link IGLTFComponentData.receiveShadow}
GLTFDefaultComponents
• GLTFDefaultComponents: IEntityComponents
GLTFSchema
• GLTFSchema: IComponentSchema
LightDataMapping
• LightDataMapping: { cast-shadow: string[] ; color: string[] ; inner-cone-angle: string[] ; intensity: string[] ; outer-cone-angle: string[] ; range: string[] ; shadow-bias: string[] ; shadow-distance: string[] ; shadow-strength: string[] ; type: string[] } & { layer: string[] ; node-id: string[] ; position: string[] ; rotation: string[] ; scale: string[] ; visible: string[] } & { [key: string]: string[]; }
默认包含XRNode的所有属性映射,以及将Light组件的属性进行映射。
LightDefaultComponents
• LightDefaultComponents: IEntityComponents
LightSchema
• LightSchema: IComponentSchema
Light的schema,详见ILightData。
MeshDataMapping
• MeshDataMapping: { cast-shadow: string[] ; env-data: string[] ; geometry: string[] ; material: string[] ; never-cull: string[] ; receive-shadow: string[] ; states: string[] ; uniforms: string[] } & { layer: string[] ; node-id: string[] ; position: string[] ; rotation: string[] ; scale: string[] ; visible: string[] } & { [key: string]: string[]; }
默认包含XRNode的所有属性映射,以及将Mesh组件的属性进行映射。
MeshDefaultComponents
• MeshDefaultComponents: IEntityComponents
MeshSchema
• MeshSchema: IComponentSchema
MeshShapeSchema
• MeshShapeSchema: IComponentSchema
NodeDataMapping
• NodeDataMapping: { layer: string[] ; node-id: string[] ; position: string[] ; rotation: string[] ; scale: string[] ; visible: string[] } & { [key: string]: string[]; }
默认将Transform组件的属性进行映射。
NodeDefaultComponents
• NodeDefaultComponents: IEntityComponents
默认包含Transform组件。
ParticleDataMapping
• ParticleDataMapping: Object
Index signature
▪ [key: string]: string[]
ParticleDefaultComponents
• ParticleDefaultComponents: IEntityComponents
ParticleSchema
• ParticleSchema: IComponentSchema
Particle的schema定义。
see 解析后的接口详见 IParticleData
RenderSystemSchema
• RenderSystemSchema: IComponentSchema
RenderSystem的schema,详见IRenderSystemData。
RigidbodySchema
• RigidbodySchema: Object
Type declaration
| Name | Type |
|---|---|
constraintsMask |
{ type: string = 'number' } |
constraintsMask.type |
string |
disabled |
{ type: string = 'boolean' } |
disabled.type |
string |
kinematic |
{ type: string = 'boolean' } |
kinematic.type |
string |
mass |
{ type: string = 'number' } |
mass.type |
string |
useGravity |
{ type: string = 'boolean' } |
useGravity.type |
string |
SceneDataMapping
• SceneDataMapping: Object = {}
场景的默认映射。
Index signature
▪ [key: string]: string[]
SceneDefaultComponents
• SceneDefaultComponents: IEntityComponents
场景的默认组件,均为系统。
ShadowDataMapping
• ShadowDataMapping: { layer: string[] ; node-id: string[] ; position: string[] ; rotation: string[] ; scale: string[] ; visible: string[] } & { [key: string]: string[]; }
默认包含XRNode的所有属性映射。
ShadowDefaultComponents
• ShadowDefaultComponents: IEntityComponents
默认包含XRNode的所有默认组件。
ShapeInteractSchema
• ShapeInteractSchema: Object
Type declaration
| Name | Type |
|---|---|
bounciness |
{ type: string = 'number' } |
bounciness.type |
string |
collide |
{ type: string = 'boolean' } |
collide.type |
string |
disabled |
{ type: string = 'boolean' } |
disabled.type |
string |
dynamicFriction |
{ type: string = 'number' } |
dynamicFriction.type |
string |
staticFriction |
{ type: string = 'number' } |
staticFriction.type |
string |
SphereShapeSchema
• SphereShapeSchema: IComponentSchema
TextDataMapping
• TextDataMapping: Object
Index signature
▪ [key: string]: string[]
TextDefaultComponents
• TextDefaultComponents: IEntityComponents
TextSchema
• TextSchema: IComponentSchema
TransformSchema
• TransformSchema: IComponentSchema
Transform的schema,详见ITransformData。
noneParamsEaseFuncs
• noneParamsEaseFuncs: Object
不需要自定义参数的一些内置插值曲线。
Type declaration
| Name | Type |
|---|---|
ease-in |
(x: number) => number |
ease-in-back |
(x: any) => number |
ease-in-bounce |
(x: any) => number |
ease-in-circ |
(x: any) => number |
ease-in-cubic |
(x: any) => number |
ease-in-elastic |
(x: any) => number |
ease-in-expo |
(x: any) => number |
ease-in-out |
(x: number) => number |
ease-in-out-back |
(x: any) => number |
ease-in-out-bounce |
(x: any) => number |
ease-in-out-circ |
(x: any) => number |
ease-in-out-cubic |
(x: any) => number |
ease-in-out-elastic |
(x: any) => number |
ease-in-out-expo |
(x: any) => number |
ease-in-out-quad |
(x: any) => number |
ease-in-out-quart |
(x: any) => number |
ease-in-out-quint |
(x: any) => number |
ease-in-out-sine |
(x: any) => number |
ease-in-quad |
(x: any) => number |
ease-in-quart |
(x: any) => number |
ease-in-quint |
(x: any) => number |
ease-in-sine |
(x: any) => number |
ease-out |
(x: number) => number |
ease-out-back |
(x: any) => number |
ease-out-bounce |
TEaseFunction |
ease-out-circ |
(x: any) => number |
ease-out-cubic |
(x: any) => number |
ease-out-elastic |
(x: any) => number |
ease-out-expo |
(x: any) => number |
ease-out-quad |
(x: any) => number |
ease-out-quart |
(x: any) => number |
ease-out-quint |
(x: any) => number |
ease-out-sine |
(x: any) => number |
linear |
(x: any) => any |
useParamsEaseFuncs
• useParamsEaseFuncs: Object
可以自定义参数的插值函数。
Type declaration
| Name | Type |
|---|---|
cubic-bezier |
(times: number[], params: number[]) => (x: number) => number |
steps |
(times: number[], params: number[]) => (x: number) => number |
Functions
genLspMeta
▸ genLspMeta(scene): IXRFrameMeta
Parameters
| Name | Type |
|---|---|
scene |
Scene |
Returns
IXRFrameMeta
isTextureWrapper
▸ isTextureWrapper(value): value is ITextureWrapper
Parameters
| Name | Type |
|---|---|
value |
any |
Returns
value is ITextureWrapper
registerAssetLoader
▸ registerAssetLoader(type, clz): void
注册一个资源加载器。注意注册后该type会被自动注册到DataValue中:registerDataValue。
在基础库版本v2.29.2以上导出。
Parameters
| Name | Type | Description |
|---|---|---|
type |
string |
类型,也是写在AssetLoad上的那个type。 |
clz |
(scene: Scene, type: string) => AssetLoader<any, any> |
继承自AssetLoader的自定义资源加载器类。 |
Returns
void
registerComponent
▸ registerComponent(type, clz): void
向系统中注册一个组件,然后可以在xml中使用。
Parameters
| Name | Type |
|---|---|
type |
string |
clz |
() => Component<any> |
Returns
void
registerDataValue
▸ registerDataValue<TDataValue>(type, handler): void
为组件在xml中写的属性值按类型注册解析器,由于xml传入的值全部都是字符串,所以需要解析,比如:
registerDataValue('number', {create: (value: string, defaultValue: any, scene: Scene) => {
return value === undefined ? defaultValue : parseFloat(value));
}});
就是注册了number类型,后续在组件的schema中写的number类型数据,就会走这个解析器。
注意最后一个参数scene可以用于获取资源等,比如scene.assets.getAssetWithState(type, value, defaultValue)。
如果是被资源加载器加载的资源,则会在资源加载器注册时自动注册数据类型,详见AssetLoader。
已经注册的类型可见组件数据解析。
Type parameters
| Name |
|---|
TDataValue |
Parameters
| Name | Type |
|---|---|
type |
string |
handler |
IDataValueHandler<TDataValue> |
Returns
void
registerEffect
▸ Const registerEffect(id, factory): void
注册Effect资源。
Parameters
Returns
void
registerElement
▸ registerElement(type, clz): void
注册一个自定义元素。
注意注册的type在xml中使用时需要加上xr-前缀,比如注册custom类型的元素,使用时需要时xr-custom。
Parameters
| Name | Type |
|---|---|
type |
string |
clz |
typeof Element |
Returns
void
registerGeometry
▸ Const registerGeometry(id, factory): void
注册Geometry资源。
Parameters
Returns
void
registerMaterial
▸ Const registerMaterial(id, factory): void
注册Material资源。
Parameters
Returns
void
registerTexture
▸ Const registerTexture(id, factory): void
注册Texture资源。
Parameters
| Name | Type |
|---|---|
id |
string |
factory |
(scene: Scene) => default |
Returns
void
registerUniformDesc
▸ Const registerUniformDesc(id, factory): void
注册UniformDescriptor资源。
Parameters
| Name | Type |
|---|---|
id |
string |
factory |
(scene: Scene) => default |
Returns
void
registerVertexDataDesc
▸ Const registerVertexDataDesc(id, factory): void
注册VertexDataDescriptor资源。
Parameters
| Name | Type |
|---|---|
id |
string |
factory |
(scene: Scene) => default |
Returns
void
registerVertexLayout
▸ Const registerVertexLayout(id, factory): void
注册VertexLayout资源。
Parameters
| Name | Type |
|---|---|
id |
string |
factory |
(scene: Scene) => default |
Returns
void