Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Material

The material asset, specifies in details how a model is drawn on screen.

Hierarchy

Index

Constructors

constructor

Properties

Protected _defines

_defines: MacroRecord[] = []

Protected _effectAsset

_effectAsset: EffectAsset | null = null

Protected _hash

_hash: number = 0

Protected _name

_name: string

_native

_native: string = ""

Serializable url for native asset. For internal usage.

default

""

_objFlags

_objFlags: number

Protected _passes

_passes: Pass[] = []

Protected _props

_props: Record<string, MaterialPropertyFull | MaterialPropertyFull[]>[] = []

Protected _states

_states: PassOverrides[] = []

Protected _techIdx

_techIdx: number = 0

_uuid

_uuid: string

内部使用。

loaded

loaded: boolean = true

Whether the asset is loaded or not

Static preventDeferredLoadDependents

preventDeferredLoadDependents: boolean = false

Indicates whether its dependent raw assets can support deferred load if the owner scene (or prefab) is marked as asyncLoadAssets.

default

false

Static preventPreloadNativeObject

preventPreloadNativeObject: boolean = false

Indicates whether its native object should be preloaded from native url.

default

false

Accessors

Private nativeAsset

  • get nativeAsset(): any
  • set nativeAsset(obj: any): void
  • The underlying native asset of this asset if one is available.
    This property can be used to access additional details or functionality releated to the asset.
    This property will be initialized by the loader if _native is available.

    default

    null

    Returns any

  • The underlying native asset of this asset if one is available.
    This property can be used to access additional details or functionality releated to the asset.
    This property will be initialized by the loader if _native is available.

    default

    null

    Parameters

    • obj: any

    Returns void

effectAsset

effectName

  • get effectName(): string

hash

  • get hash(): number

isValid

  • get isValid(): boolean
  • Indicates whether the object is not yet destroyed. (It will not be available after being destroyed)
    When an object's destroy is called, it is actually destroyed after the end of this frame. So isValid will return false from the next frame, while isValid in the current frame will still be true. If you want to determine whether the current frame has called destroy, use isValid(obj, true), but this is often caused by a particular logical requirements, which is not normally required.

    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

name

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

nativeUrl

  • get nativeUrl(): string

owner

parent

passes

  • get passes(): Pass[]

technique

  • get technique(): number

Methods

Protected bindTexture

Protected createPasses

  • _createPasses(): Pass[]

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

Protected doDestroy

  • _doDestroy(): void

Protected prepareInfo

  • prepareInfo(patch: object | object[], cur: object[]): void

Private setRawAsset

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

Protected update

  • update(keepProps?: boolean): void

Protected uploadProperty

copy

Optional createNode

destroy

  • destroy(): boolean

emit

  • emit(type: EventType, arg0?: any, arg1?: any, arg2?: any, arg3?: any, arg4?: any): void
  • Trigger an event directly with the event name and necessary arguments.

    Parameters

    • type: EventType

      event type

    • Optional arg0: any
    • Optional arg1: any
    • Optional arg2: any
    • Optional arg3: any
    • Optional arg4: any

    Returns void

getProperty

hasEventListener

  • hasEventListener(type: string, callback?: Function, target?: undefined | object): boolean
  • Checks whether there is correspond event listener registered on the given event.

    Parameters

    • type: string

      Event type.

    • Optional callback: Function

      Callback function when event triggered.

    • Optional target: undefined | object

      Callback callee.

    Returns boolean

initialize

off

  • Removes the listeners previously registered with the same type, callback, target and or useCapture, if only type is passed as parameter, all listeners registered with that type will be removed.

    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
  • Register an callback of a specific event type on the EventTarget. This type of event should be triggered via 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.

onLoaded

  • onLoaded(): void

once

  • once<TFunction>(type: EventType, callback: TFunction, thisArg?: any): typeof callback
  • Register an callback of a specific event type on the EventTarget, the callback will remove itself after the first time it is triggered.

    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

overridePipelineStates

  • overridePipelineStates(overrides: PassOverrides, passIdx?: undefined | number): void
  • Override the passes with the specified pipeline states. Allowed only on material instances.

    Parameters

    • overrides: PassOverrides

      The pipeline state override values.

    • Optional passIdx: undefined | number

      The pass to apply to. Will apply to all passes if not specified.

    Returns void

recompileShaders

  • recompileShaders(overrides: MacroRecord, passIdx?: undefined | number): void
  • Recompile the shader with the specified macro overrides. Allowed only on material instances.

    Parameters

    • overrides: MacroRecord

      The shader macro override values.

    • Optional passIdx: undefined | number

      The pass to apply to. Will apply to all passes if not specified.

    Returns void

removeAll

  • removeAll(typeOrTarget: string | object): void
  • Removes all callbacks registered in a certain event type or all callbacks registered with a certain target

    Parameters

    • typeOrTarget: string | object

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

    Returns void

reset

resetUniforms

  • resetUniforms(clearPasses?: boolean): void
  • Reset all the uniforms to the default value specified in EffectAsset.

    Parameters

    • Default value clearPasses: boolean = true

      Will the rendering data be cleared too?

    Returns void

Private serialize

  • serialize(): void

setProperty

targetOff

  • targetOff(typeOrTarget: string | object): void
  • Removes all callbacks previously registered with the same target (passed as parameter). This is not for removing all listeners in the current event target, and this is not for removing all listeners the target parameter have registered. It's only for removing all listeners (callback and target couple) registered on the current event target by the target parameter.

    Parameters

    • typeOrTarget: string | object

      The target to be searched for all related listeners

    Returns void

toString

  • toString(): string
  • Returns the string representation of the object.
    The Asset object overrides the toString() method of the Object object.
    JavaScript calls the toString() method automatically
    when an asset is to be represented as a text value or when a texture is referred to in a string concatenation.

    For assets of the native type, it will return this.nativeUrl.
    Otherwise, an empty string is returned.
    This method may be overwritten by subclasses.

    method

    toString

    Returns string

Static deferredDestroy

  • _deferredDestroy(): void

Static deserialize

  • deserialize(data: any): any

Static getHash

Static isRawAssetType

  • isRawAssetType(ctor: Function): boolean

Generated using TypeDoc