ThreePipe
    Preparing search index...

    Class MaterialConfiguratorBasePlugin

    Material Configurator Plugin (Base)

    This plugin allows you to create variations of materials mapped to material names or uuids in the scene. These variations can be applied to the materials in the scene. (This copies the properties to the same material instances instead of assigning new materials) The plugin interfaces with the picking plugin and also provides uiConfig to show and edit the variations.

    See MaterialConfiguratorPlugin in plugin-configurator for example on inheriting with a custom UI renderer.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    _dirty: boolean = false
    _previewGenerator: undefined | MaterialPreviewGenerator
    _uicShowAllVariations: boolean = false
    _viewer?: ThreeViewer
    _viewerListeners: PartialRecord<IViewerEventTypes, (e: IViewerEvent) => void> = {}
    applyOnLoad: boolean = true

    Apply all variations(by selected index or first item) when a config is loaded

    applyOnLoadForce: boolean = false
    constructor: typeof AViewerPluginSync & typeof AViewerPlugin
    enabled: boolean = true
    uiConfig: UiObjectConfig = ...
    variations: MaterialVariations[] = []
    OldPluginType?: string
    PluginType: string = 'MaterialConfiguratorPlugin'

    Accessors

    Methods

    • Apply a material variation based on index or uuid.

      Parameters

      • variations: MaterialVariations
      • matUuidOrIndex: string | number
      • OptionalsetSelectedIndex: boolean

        default true, to be used with animation

      • Optionaltime: AnimateTime & { from?: string | number }

        optional data to animate(lerp) from current value to the target material.

      Returns boolean

    • Get the preview for a material variation Should be called from preFrame ideally. (or preRender but set viewerSetDirty = false)

      Parameters

      • material: IMaterial

        Material or index of the material in the variation.

      • preview: string

        Type of preview. Could be generate:sphere, generate:cube, color, map, emissive, etc.

      • viewerSetDirty: boolean = true

        call viewer.setDirty() after setting the preview. So that the preview is cleared from the canvas.

      Returns string

    • Reapply all selected variations again. Useful when a model or config is loaded or changed and the variations are not applied in the model. It is automatically called when the config is loaded if applyOnLoad is true.

      Returns void