MaterialMeshVisual
Lens Studio v2.3+
Scripting Name: Component.MaterialMeshVisual
Inherits from BaseMeshVisual
Child Classes: EyeColorVisual
, FaceInsetVisual
, FaceMaskVisual
, Image
, PostEffectVisual
, RenderMeshVisual
, RetouchVisual
, SpriteVisual
Description
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.
Methods
addMaterial(Material material)
: void
Adds a Material to use for rendering.
clearMaterials()
: void
Clears all Materials.
getMaterial(Number index)
: Material
Returns the Material at index index
.
getMaterialsCount()
: Number
Returns the number of Materials used for rendering.
Properties
mainMaterial
: Material
Returns the first Material.
mainPass
: Pass
Returns the mainPass
of the mainMaterial
.
Inherited Methods
snap(Camera camera)
: 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.
getRenderOrder()
: Number
Returns the order of this Visual in the render queue.
setRenderOrder(Number value)
: void
Sets the order of this Visual in the render queue.
destroy()
: void
Destroys the component.
getSceneObject()
: SceneObject
Returns the SceneObject the component is attached to.
getTransform()
: Transform
Returns the Transform this component is attached to.
isSame(SerializableWithUID other)
: Boolean
Returns true if this object is the same as other
. Useful for checking if two references point to the same thing.
getTypeName()
: String
Returns the name of this object’s type.
isOfType(String type)
: Boolean
Returns true if the object matches or derives from the passed in type.
Inherited Properties
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
.
meshShadowMode
: Number
None = 0, Caster = 1, Receiver = 2
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.
verticalAlignment
: VerticalAlignment
When a ScreenTransform is attached to the same SceneObject, this controls how the mesh will be positioned vertically depending on stretchMode
.
enabled
: Boolean
If disabled, the Component will stop enacting its behavior.
Examples
// @input Component.MaterialMeshVisual visual
// Set the material's main color to red
script.visual.mainPass.baseColor = new vec4(1, 0, 0, 1);
Still Looking for help?
Visit Support