Class VRMExpressionManager

Constructors

Properties

_calculateWeightMultipliers: any

Calculate sum of override amounts to see how much we should multiply weights of certain expressions.

_expressionMap: any

A map from name to expression.

_expressions: any

A set of VRMExpression. When you want to register expressions, use registerExpression

blinkExpressionNames: string[]

A set of name or preset name of expressions that will be overridden by VRMExpression.overrideBlink.

lookAtExpressionNames: string[]

A set of name or preset name of expressions that will be overridden by VRMExpression.overrideLookAt.

mouthExpressionNames: string[]

A set of name or preset name of expressions that will be overridden by VRMExpression.overrideMouth.

Accessors

  • get customExpressionMap(): {
        [name: string]: VRMExpression;
    }
  • A map from name to expression, but excluding preset expressions.

    Returns {
        [name: string]: VRMExpression;
    }

  • get expressionMap(): {
        [name: string]: VRMExpression;
    }
  • Returns {
        [name: string]: VRMExpression;
    }

  • get expressions(): VRMExpression[]
  • Returns VRMExpression[]

Methods

  • Return a registered expression. If it cannot find an expression, it will return null instead.

    Parameters

    • name: string

      Name or preset name of the expression

    Returns null | VRMExpression

  • Get a track name of specified expression. This track name is needed to manipulate its expression via keyframe animations.

    Parameters

    • name: string

      Name of the expression

    Returns null | string

    Example: Manipulate an expression using keyframe animation

    const trackName = vrm.expressionManager.getExpressionTrackName( 'blink' );
    const track = new THREE.NumberKeyframeTrack(
    name,
    [ 0.0, 0.5, 1.0 ], // times
    [ 0.0, 1.0, 0.0 ] // values
    );

    const clip = new THREE.AnimationClip(
    'blink', // name
    1.0, // duration
    [ track ] // tracks
    );

    const mixer = new THREE.AnimationMixer( vrm.scene );
    const action = mixer.clipAction( clip );
    action.play();
  • Get the current weight of the specified expression. If it doesn't have an expression of given name, it will return null instead.

    Parameters

    • name: string

      Name of the expression

    Returns null | number

  • Register an expression.

    Parameters

    Returns void

  • Set a weight to the specified expression.

    Parameters

    • name: string

      Name of the expression

    • weight: number

      Weight

    Returns void

  • Unregister an expression.

    Parameters

    Returns void

  • Update every expressions.

    Returns void