xr-frame / Exports / MeshShape
# Class: MeshShape
利用当前元素下的Mesh组件或GLTF组件,创建一个完全贴合的轮廓。如果当前元素下不存在Mesh组件或GLTF组件,则不生效。
可通过在标签上添加mesh-shape属性来为元素添加该组件。
⚠️ 如果Mesh或GLTF内部结构非常复杂,创建和维持该组件可能会占用较多的资源。如果发现该组件会导致小程序性能下降,可以考虑改用其他轮廓类型,并开启autoFit属性。
⚠️ MeshShape使用的Mesh的顶点数量不能超过65535个。如果超过了,推荐使用CubeShape+autoFit来代替。
see IMeshShapeData
# Hierarchy
-
↳
MeshShape
# Table of contents
# Constructors
# Events
# Properties
# Accessors
# Methods
- getBasicImpl
- getData
- getGLTFRootShape
- getShadowShapes
- initDelegates
- resetListeners
- setAsShadow
- setData
- setDataOne
# Constructors
# constructor
• new MeshShape()
# Inherited from
# Events
# onAdd
▸ onAdd(parent, data): void
所挂载的element被挂载到场景时触发的回调。
# Parameters
| Name | Type |
|---|---|
parent | Element |
data | IMeshShapeData |
# Returns
void
# Inherited from
# onRelease
▸ onRelease(data): void
从被挂载的element上被移除,或是element被销毁时,触发的回调。
一般用于释放持有的资源。
# Parameters
| Name | Type |
|---|---|
data | IShapeData |
# Returns
void
# Inherited from
# onRemove
▸ onRemove(parent, data): void
所挂载的element从父节点parent被移除时,或者自己从element上被移除时,触发的回调。
一般用于消除功能的运作。
如果一个组件的元素直接被销毁了,那这个组件就不会经历onRemove而是直接进入onRelease。
# Parameters
| Name | Type |
|---|---|
parent | Element |
data | IShapeData |
# Returns
void
# Inherited from
# onTick
▸ onTick(dateTime, data): void
渲染每帧触发的回调。
# Parameters
| Name | Type |
|---|---|
dateTime | number |
data | IMeshShapeData |
# Returns
void
# Inherited from
# onUpdate
▸ onUpdate(data, preData): void
数据更新时触发的回调。
# Parameters
| Name | Type |
|---|---|
data | IMeshShapeData |
preData | IMeshShapeData |
# Returns
void
# Inherited from
# Properties
# implType
• implType: ShapeImplType
# Inherited from
# priority
• Readonly priority: number = 400
自定义组件的更新优先级。
# Inherited from
# schema
• Readonly schema: IComponentSchema
自定义组件的schema。
# Overrides
# shadowRoot
• Optional shadowRoot: GLTFAbstractShape<IMeshShapeData>
# Inherited from
# EVENTS
▪ Static EVENTS: string[]
# Overrides
# Accessors
# el
• get el(): Element
挂载的元素。
# Returns
# scene
• get scene(): Scene
当前场景。
# Returns
# type
• get type(): EShapeType
# Returns
# version
• get version(): number
当前版本,每次有数据更新都会增加,可以用作和其他组件合作的依据。
# Returns
number
# Methods
# getBasicImpl
▸ getBasicImpl(): BasicShape<IMeshShapeData>
# Returns
BasicShape<IMeshShapeData>
# Inherited from
# getData
▸ getData<T>(key): IShapeData[T]
获取一个当前值。
# Type parameters
| Name | Type |
|---|---|
T | extends keyof IShapeData |
# Parameters
| Name | Type |
|---|---|
key | T |
# Returns
IShapeData[T]
# Inherited from
# getGLTFRootShape
▸ getGLTFRootShape(): Shape<IMeshShapeData>
# Returns
# Inherited from
# getShadowShapes
▸ getShadowShapes(): Shape<IMeshShapeData>[]
# Returns
# Inherited from
# initDelegates
▸ initDelegates(el): void
# Parameters
| Name | Type |
|---|---|
el | Element |
# Returns
void
# Inherited from
# resetListeners
▸ resetListeners(): void
# Returns
void
# Inherited from
# setAsShadow
▸ setAsShadow(root, transform): void
# Parameters
| Name | Type |
|---|---|
root | GLTFAbstractShape<IMeshShapeData> |
transform | TQS |
# Returns
void
# Inherited from
# setData
▸ setData(data): void
不通过xml而是直接设置data,注意值的类型需要和schema中一致。
# Parameters
| Name | Type |
|---|---|
data | Partial<IShapeData> |
# Returns
void
# Inherited from
# setDataOne
▸ setDataOne<T>(key, value): void
设置一个数据。
# Type parameters
| Name | Type |
|---|---|
T | extends keyof IShapeData |
# Parameters
| Name | Type |
|---|---|
key | T |
value | IShapeData[T] |
# Returns
void