Base class for all MeshVisual components using Materials to render. Comparable to the former class "MeshVisual", which was split into the classes: BaseMeshVisual, MaterialMeshVisual, and RenderMeshVisual.

// @input Component.MaterialMeshVisual visual

// Set the material's main color to red
script.visual.mainPass.baseColor = new vec4(1, 0, 0, 1);
interface MaterialMeshVisual {
    enabled: boolean;
    extentsTarget: ScreenTransform;
    horizontalAlignment: HorizontalAlignment;
    mainMaterial: Material;
    mainPass: Pass;
    materials: Material[];
    meshShadowMode: MeshShadowMode;
    sceneObject: SceneObject;
    shadowColor: vec4;
    shadowDensity: number;
    stretchMode: StretchMode;
    uniqueIdentifier: string;
    verticalAlignment: VerticalAlignment;
    addMaterial(material: Material): void;
    clearMaterials(): void;
    destroy(): void;
    getMaterial(index: number): Material;
    getMaterialsCount(): number;
    getRenderOrder(): number;
    getSceneObject(): SceneObject;
    getTransform(): Transform;
    getTypeName(): string;
    isOfType(type: string): boolean;
    isSame(other: ScriptObject): boolean;
    localAabbMax(): vec3;
    localAabbMin(): vec3;
    setRenderOrder(value: number): void;
    snap(camera: Camera): void;
    worldAabbMax(): vec3;
    worldAabbMin(): vec3;
}

Hierarchy (view full)

Properties

enabled: boolean

If disabled, the Component will stop enacting its behavior.

extentsTarget: ScreenTransform

When a ScreenTransform is present on this SceneObject, and extentsTarget is a child of this SceneObject, extentsTarget will be repositioned to match the exact area this MeshVisual is being rendered. Very useful for Image and Text components.

horizontalAlignment: HorizontalAlignment

When a ScreenTransform is attached to the same SceneObject, this controls how the mesh will be positioned horizontally depending on stretchMode.

mainMaterial: Material

Returns the first Material.

mainPass: Pass

Returns the mainPass of the mainMaterial.

materials: Material[]

Get the array of materials used by the MaterialMeshVisual.

meshShadowMode: MeshShadowMode

None = 0, Caster = 1, Receiver = 2

sceneObject: SceneObject
shadowColor: vec4

Affects the color of shadows being cast by this MeshVisual. The color of the cast shadow is a mix between shadowColor and the material's base texture color. The alpha value of shadowColor controls the mixing of these two colors, with 0 = shadowColor and 1 = shadowColor * textureColor.

shadowDensity: number

Density of shadows cast by this MeshVisual.

stretchMode: StretchMode

When a ScreenTransform is attached to the same SceneObject, this controls how the mesh will be stretched relative to the ScreenTransform's boundaries.

uniqueIdentifier: string
verticalAlignment: VerticalAlignment

When a ScreenTransform is attached to the same SceneObject, this controls how the mesh will be positioned vertically depending on stretchMode.

Methods

  • Adds a Material to use for rendering.

    Parameters

    Returns void

  • Clears all Materials.

    Returns void

  • Returns the Material at index index.

    Parameters

    • index: number

    Returns Material

  • Returns the number of Materials used for rendering.

    Returns number

  • Returns true if the object matches or derives from the passed in type.

    Parameters

    • type: string

    Returns boolean

  • Returns true if this object is the same as other. Useful for checking if two references point to the same thing.

    Parameters

    Returns boolean

  • Sets the order of this Visual in the render queue.

    Parameters

    • value: number

    Returns void

  • Projects screen positions from camera's view onto the mesh's UVs. If the MeshVisual's material uses the same texture as the camera input, the MeshVisual will look identical to the part of the screen it covers.

    Parameters

    Returns void