Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Mesh

网格资源。

Hierarchy

Index

Constructors

constructor

Properties

Private _boneSpaceBounds

_boneSpaceBounds: Map<number, (null | aabb)[]> = new Map<number, (aabb | null)[]>()

Private _data

_data: Uint8Array = globalEmptyMeshBuffer

Private _dataLength

_dataLength: number = 0

Private _hash

_hash: number = 0

Private _initialized

_initialized: boolean = false

Private _jointBufferIndices

_jointBufferIndices: number[] | null = null

Protected _name

_name: string

_native

_native: string = ""

用于本机资产的可序列化URL。供内部使用。

default

""

_objFlags

_objFlags: number

Private _renderingSubMeshes

_renderingSubMeshes: RenderingSubMesh[] | null = null

_uuid

_uuid: string

内部使用。

loaded

loaded: boolean = true

该资源是否已经成功加载。

morphRendering

morphRendering: MorphRendering | null = null

Static preventDeferredLoadDependents

preventDeferredLoadDependents: boolean = false

当场景或 Prefab 被标记为 asyncLoadAssets,禁止延迟加载该资源所依赖的其它 RawAsset。

default

false

Static preventPreloadNativeObject

preventPreloadNativeObject: boolean = false

禁止预加载原生对象。

default

false

Accessors

nativeAsset

  • get nativeAsset(): ArrayBuffer
  • set nativeAsset(value: ArrayBuffer): void

data

  • get data(): Uint8Array

hash

  • get hash(): number

isValid

  • get isValid(): boolean
  • 表示该对象是否可用(被 destroy 后将不可用)。
    当一个对象的 destroy 调用以后,会在这一帧结束后才真正销毁。
    因此从下一帧开始 isValid 就会返回 false,而当前帧内 isValid 仍然会是 true。
    如果希望判断当前帧是否调用过 destroy,请使用 isValid(obj, true),不过这往往是特殊的业务需求引起的,通常情况下不需要这样。

    default

    true

    readonly
    example
    import { Node, log } from 'cc';
    const node = new Node();
    log(node.isValid);    // true
    node.destroy();
    log(node.isValid);    // true, still valid in this frame
    // after a frame...
    log(node.isValid);    // false, destroyed in the end of last frame

    Returns boolean

jointBufferIndices

  • get jointBufferIndices(): number[]

maxPosition

  • get maxPosition(): undefined | Vec3
  • (各分量都)大于等于此网格任何顶点位置的最大位置。

    deprecated

    Please use [[struct.maxPosition]] instead

    Returns undefined | Vec3

minPosition

  • get minPosition(): undefined | Vec3
  • (各分量都)小于等于此网格任何顶点位置的最大位置。

    deprecated

    Please use [[struct.minPosition]] instead

    Returns undefined | Vec3

name

  • get name(): string
  • set name(value: string): void

nativeUrl

  • get nativeUrl(): string

renderingSubMeshes

struct

subMeshCount

  • get subMeshCount(): number
  • 此网格的子网格数量。

    deprecated

    Please use [[renderingSubMeshes.length]] instead

    Returns number

Methods

Private accessAttribute

  • accessAttribute(primitiveIndex: number, attributeName: GFXAttributeName, accessor: (vertexBundle: IVertexBundle, iAttribute: number) => void): void

Private createVertexBuffers

destroyImmediate

  • _destroyImmediate(): void

destruct

  • _destruct(): void
  • Clear all references in the instance.

    NOTE: this method will not clear the getter or setter functions which defined in the instance of CCObject. You can override the _destruct method if you need, for example: _destruct: function () { for (var key in this) { if (this.hasOwnProperty(key)) { switch (typeof this[key]) { case 'string': this[key] = ''; break; case 'object': case 'function': this[key] = null; break; } } }

    Returns void

Private setRawAsset

  • setRawAsset(filename: string, inLibrary?: boolean): void

assign

  • assign(struct: IStruct, data: Uint8Array): void
  • 重置此网格的结构和数据。

    deprecated

    Will be removed in v3.0.0, please use reset instead

    Parameters

    • struct: IStruct

      The new struct

    • data: Uint8Array

      The new data

    Returns void

copyAttribute

  • copyAttribute(primitiveIndex: number, attributeName: GFXAttributeName, buffer: ArrayBuffer, stride: number, offset: number): boolean
  • 读取子网格的指定属性到目标缓冲区中。

    Parameters

    • primitiveIndex: number

      Sub mesh index

    • attributeName: GFXAttributeName

      Attribute name

    • buffer: ArrayBuffer

      The target array buffer

    • stride: number

      Byte distance between two attributes in the target buffer

    • offset: number

      The offset of the first attribute in the target buffer

    Returns boolean

    Return false if failed to access attribute, return true otherwise.

copyIndices

  • copyIndices(primitiveIndex: number, outputArray: number[] | ArrayBufferView): boolean
  • 读取子网格的索引数据到目标数组中。

    Parameters

    • primitiveIndex: number

      Sub mesh index

    • outputArray: number[] | ArrayBufferView

      The target output array

    Returns boolean

    Return false if failed to access the indices data, return true otherwise.

Optional createNode

destroy

  • destroy(): boolean

destroyRenderingMesh

  • destroyRenderingMesh(): void

emit

  • emit(type: EventType, arg0?: any, arg1?: any, arg2?: any, arg3?: any, arg4?: any): void

getBoneSpaceBounds

hasEventListener

  • hasEventListener(type: string, callback?: Function, target?: undefined | object): boolean
  • 检查指定事件是否已注册回调。

    Parameters

    • type: string

      Event type.

    • Optional callback: Function

      Callback function when event triggered.

    • Optional target: undefined | object

      Callback callee.

    Returns boolean

initialize

  • initialize(): void

merge

  • merge(mesh: Mesh, worldMatrix?: Mat4, validate?: undefined | false | true): boolean
  • 合并指定的网格到此网格中。

    Parameters

    • mesh: Mesh

      The mesh to be merged

    • Optional worldMatrix: Mat4

      The world matrix of the given mesh

    • Optional validate: undefined | false | true

    Returns boolean

    Check the mesh state and return the validation result.

off

  • 删除之前用同类型,回调,目标或 useCapture 注册的事件监听器,如果只传递 type,将会删除 type 类型的所有事件监听器。

    example

    import { log } from 'cc'; // register fire eventListener var callback = eventTarget.on('fire', function () { log("fire in the hole"); }, target); // remove fire event listener eventTarget.off('fire', callback, target); // remove all fire event listeners eventTarget.off('fire');

    Type parameters

    • TFunction: Function

    Parameters

    • type: EventType

      A string representing the event type being removed.

    • Optional callback: TFunction

      The callback to remove.

    • Optional thisArg: any

    Returns void

on

  • on<TFunction>(type: EventType, callback: TFunction, thisArg?: any, once?: undefined | false | true): typeof callback
  • 注册事件目标的特定事件类型回调。这种类型的事件应该被 emit 触发。

    example

    import { log } from 'cc'; eventTarget.on('fire', function () { log("fire in the hole"); }, node);

    Type parameters

    • TFunction: Function

    Parameters

    • type: EventType

      A string representing the event type to listen for.

    • callback: TFunction

      The callback that will be invoked when the event is dispatched. The callback is ignored if it is a duplicate (the callbacks are unique).

    • Optional thisArg: any

      The target (this object) to invoke the callback, can be null

    • Optional once: undefined | false | true

    Returns typeof callback

    • Just returns the incoming callback so you can save the anonymous function easier.

once

  • once<TFunction>(type: EventType, callback: TFunction, thisArg?: any): typeof callback
  • 注册事件目标的特定事件类型回调,回调会在第一时间被触发后删除自身。

    example

    import { log } from 'cc'; eventTarget.once('fire', function () { log("this is the callback and will be invoked only once"); }, node);

    Type parameters

    • TFunction: Function

    Parameters

    • type: EventType

      A string representing the event type to listen for.

    • callback: TFunction

      The callback that will be invoked when the event is dispatched. The callback is ignored if it is a duplicate (the callbacks are unique).

    • Optional thisArg: any

    Returns typeof callback

readAttribute

  • readAttribute(primitiveIndex: number, attributeName: GFXAttributeName): Storage | null
  • 读取子网格的指定属性。

    Parameters

    • primitiveIndex: number

      Sub mesh index

    • attributeName: GFXAttributeName

      Attribute name

    Returns Storage | null

    Return null if not found or can't read, otherwise, will create a large enough typed array to contain all data of the attribute, the array type will match the data type of the attribute.

readIndices

  • readIndices(primitiveIndex: number): null | Uint8Array | Uint16Array | Uint32Array
  • 读取子网格的索引数据。

    Parameters

    • primitiveIndex: number

      Sub mesh index

    Returns null | Uint8Array | Uint16Array | Uint32Array

    Return null if not found or can't read, otherwise, will create a large enough typed array to contain all indices data, the array type will use the corresponding stride size.

removeAll

  • removeAll(typeOrTarget: string | object): void
  • 移除在特定事件类型中注册的所有回调或在某个目标中注册的所有回调。

    Parameters

    • typeOrTarget: string | object

      The event type or target with which the listeners will be removed

    Returns void

reset

Private serialize

  • serialize(): void

targetOff

  • targetOff(typeOrTarget: string | object): void
  • 在当前 EventTarget 上删除指定目标(target 参数)注册的所有事件监听器。 这个函数无法删除当前 EventTarget 的所有事件监听器,也无法删除 target 参数所注册的所有事件监听器。 这个函数只能删除 target 参数在当前 EventTarget 上注册的所有事件监听器。

    Parameters

    • typeOrTarget: string | object

      The target to be searched for all related listeners

    Returns void

toString

  • toString(): string
  • 返回对象的字符串表示形式。
    Asset 对象将会重写 Object 对象的 toString() 方法。
    当资源要表示为文本值时或在字符串连接时引用时,
    JavaScript 会自动调用 toString() 方法。

    对于原始类型的资源,它将返回this.nativeUrl
    否则,返回空字符串。
    子类可能会覆盖此方法。

    method

    toString

    Returns string

validateMergingMesh

  • validateMergingMesh(mesh: Mesh): boolean
  • 验证指定网格是否可以合并至当前网格。

    当满足以下条件之一时,指定网格可以合并至当前网格:

    • 当前网格无数据而待合并网格有数据;
    • 它们的顶点块数目相同且对应顶点块的布局一致,并且它们的子网格数目相同且对应子网格的布局一致。

    两个顶点块布局一致当且仅当:

    • 它们具有相同数量的顶点属性且对应的顶点属性具有相同的属性格式。

    两个子网格布局一致,当且仅当:

    • 它们具有相同的图元类型并且引用相同数量、相同索引的顶点块;并且,
    • 要么都需要索引绘制,要么都不需要索引绘制。

    Parameters

    • mesh: Mesh

      The other mesh to be validated

    Returns boolean

Static deferredDestroy

  • _deferredDestroy(): void

Static deserialize

  • deserialize(data: any): any

Static isRawAssetType

  • isRawAssetType(ctor: Function): boolean

Object literals

Private struct

struct: object

primitives

primitives: never[] = []

vertexBundles

vertexBundles: never[] = []

Generated using TypeDoc