ThreePipe
    Preparing search index...

    Interface IMaterialUserData

    interface IMaterialUserData {
        __envIntensity?: number;
        __importData?: any;
        __isVariation?: boolean;
        __needsSourceBuffer?: boolean;
        __sourceBlob?: IFile;
        __sourceBuffer?: ArrayBuffer;
        _clearcoatTint?: {
            enableTint?: boolean;
            ior?: number;
            thickness?: number;
            tintColor?: string | number | Color;
        };
        _customBumpMap?: null
        | ITexture<TextureEventMap>;
        _customBumpScale?: number;
        _fragmentClippingExt?: {
            clipEnabled?: boolean;
            clipInvert?: boolean;
            clipMode?: FragmentClippingMode;
            clipParams?: Vector4 | Vector4Tuple;
            clipPosition?: Vector4 | Vector4Tuple;
        };
        _hasCustomBump?: boolean;
        _noiseBumpMat?: {
            bumpNoiseParams?: Vector2
            | Vector2Tuple;
            bumpScale?: number;
            flakeClamp?: number;
            flakeFallOffParams?: Vector3 | Vector3Tuple;
            flakeParams?: Vector4 | Vector4Tuple;
            flakeRadius?: number;
            flakeScale?: number;
            hasBump?: boolean;
            useColorFlakes?: boolean;
        };
        cloneCount?: number;
        cloneId?: string;
        disposeOnIdle?: boolean;
        envMapSlotKey?: string;
        forcedLinearDepth?: number;
        gBufferData?: {
            materialId?: number;
            tonemapEnabled?: boolean;
            [key: string]: any;
        };
        inverseAlphaMap?: boolean;
        pluginsDisabled?: boolean;
        postTonemap?: boolean;
        renderToDepth?: boolean;
        renderToGBuffer?: boolean;
        rootPath?: string;
        runtimeMaterial?: boolean;
        separateEnvMapIntensity?: boolean;
        setDirty?: (options?: IMaterialSetDirtyOptions) => void;
        ssaoCastDisabled?: boolean;
        ssaoDisabled?: boolean;
        sscsDisabled?: boolean;
        ssreflDisabled?: boolean;
        ssreflNonPhysical?: boolean;
        uuid?: string;
        [key: string]: any;
    }

    Hierarchy (View Summary)

    Indexable

    • [key: string]: any
    Index

    Properties

    __envIntensity?: number
    __importData?: any

    extra arbitrary data saved by the importer that can be used by the plugins (like gltf material variants)

    __isVariation?: boolean
    __needsSourceBuffer?: boolean

    This can be set to true in the importer to indicate that the source buffer should be loaded and cached in the userdata during processRaw

    __sourceBlob?: IFile

    Cached source blob for the asset

    __sourceBuffer?: ArrayBuffer

    Cached source buffer for the asset (only cached when __needsSourceBuffer is set)

    _clearcoatTint?: {
        enableTint?: boolean;
        ior?: number;
        thickness?: number;
        tintColor?: string | number | Color;
    }
    _customBumpMap?: null | ITexture<TextureEventMap>
    _customBumpScale?: number
    _fragmentClippingExt?: {
        clipEnabled?: boolean;
        clipInvert?: boolean;
        clipMode?: FragmentClippingMode;
        clipParams?: Vector4 | Vector4Tuple;
        clipPosition?: Vector4 | Vector4Tuple;
    }
    _hasCustomBump?: boolean
    _noiseBumpMat?: {
        bumpNoiseParams?: Vector2 | Vector2Tuple;
        bumpScale?: number;
        flakeClamp?: number;
        flakeFallOffParams?: Vector3 | Vector3Tuple;
        flakeParams?: Vector4 | Vector4Tuple;
        flakeRadius?: number;
        flakeScale?: number;
        hasBump?: boolean;
        useColorFlakes?: boolean;
    }
    cloneCount?: number
    cloneId?: string
    disposeOnIdle?: boolean

    Automatically dispose material when not used by any object in the scene

    true
    
    envMapSlotKey?: string

    The environment map to use in the RootScene. To use this, object with the material must be in the RootScene, and the key should exist in the RootScene's textureSlots.

    only for materials that have envMap

    forcedLinearDepth?: number

    Force a depth value in GBuffer. This is useful to force center values like 0 to the depth.

    gBufferData?: {
        materialId?: number;
        tonemapEnabled?: boolean;
        [key: string]: any;
    }

    Type declaration

    • [key: string]: any
    • OptionalmaterialId?: number
    • OptionaltonemapEnabled?: boolean
      true
      
    inverseAlphaMap?: boolean
    pluginsDisabled?: boolean

    General flag to disable multiple plugins on the material at once, like SSAO, SSR, Bloom etc.

    postTonemap?: boolean

    Use postTonemap.tonemapEnabled instead. This is kept because used in old files.

    renderToDepth?: boolean

    Same as renderToGBuffer but for depth only, not normal or flags etc

    renderToGBuffer?: boolean
    rootPath?: string
    runtimeMaterial?: boolean
    separateEnvMapIntensity?: boolean

    Flag to tell the scene to prefer material.envMapIntensity over scene.envMapIntensity only for materials that have envMapIntensity

    setDirty?: (options?: IMaterialSetDirtyOptions) => void
    ssaoCastDisabled?: boolean

    Cast SSAO on other objects. if casting is not working when this is false, ensure render to depth is true, like for transparent objects

    ssaoDisabled?: boolean

    Disable SSAOPlugin for this material.

    sscsDisabled?: boolean

    For SSCSPlugin

    ssreflDisabled?: boolean

    For SSRPlugin

    ssreflNonPhysical?: boolean

    For SSRPlugin

    uuid?: string