Source: live_parameters_doc.js

/**
 * トラッキングパラメータを管理するオブジェクト
 * モデルスクリプトで引数として渡ってくる。
 * 
 * @example
 * function update(params) {
 *     // 標準的なトラッキング値の直接の操作 (Live2Dパラメータとは異なるので紐づけの設定は別途必要)
 *     params.Yaw = 0 // 顔の左右の向きの動きの値。-30~30の範囲。
 *     params.Pitch = 0 // 顔の上下の向きの動きの値。-30~30の範囲。
 *     params.Roll = 0 // 顔の左右の傾きの動きの値。-30~30の範囲。
 *     params.PositionX = 0 // Live2Dモデルの位置のX座標の値。-1~1の範囲。
 *     params.PositionY = 0 // Live2Dモデルの位置のY座標の値。-1~1の範囲。
 *     params.PositionZ = 0 // Live2Dモデルの拡大率の値。-1~1の範囲。
 *     params.BrowYLeft = 0 // 眉毛の上下の値。-1~1の範囲。
 *     params.BrowYRight = 0 // 眉毛の上下の値。-1~1の範囲。
 *     params.EyeOpenLeft = 1 // 目の開き具合の値。0~2の範囲。
 *     params.EyeOpenRight = 1 // 目の開き具合の値。0~2の範囲。
 *     params.EyeLookX = 0 // 視線の値。-1~1の範囲。
 *     params.EyeLookY = 0 // 視線の値。-1~1の範囲。
 *     params.MouthOpen = 0 // 口の開き具合の値。0~1の範囲。
 * }
 * @example
 * function start() {
 *     for (let param of live.parameters) {
 *         console.log(param.id, param.min, param.base, param.max);
 *     }
 * }
 */
class LiveParameters {

    /**
     * 顔の左右の向きの動きの値。-30~30の範囲。
     * @type {number}
     */
    Yaw = 0

    /**
     * 顔の上下の向きの動きの値。-30~30の範囲。
     * @type {number}
     */
    Pitch = 0

    /**
     * 顔の左右の傾きの動きの値。-30~30の範囲。
     * @type {number}
     */
    Roll = 0

    /**
     * Live2Dモデルの位置のX座標の値。-1~1の範囲。
     * @type {number}
     */
    PositionX = 0

    /**
     * Live2Dモデルの位置のY座標の値。-1~1の範囲。
     * @type {number}
     */
    PositionY = 0

    /**
     * Live2Dモデルの拡大率の値。-1~1の範囲。
     * @type {number}
     */
    PositionZ = 0

    /**
     * 眉毛の上下の値。-1~1の範囲。
     * @type {number}
     */
    BrowYLeft = 0

    /**
     * 眉毛の上下の値。-1~1の範囲。
     * @type {number}
     */
    BrowYRight = 0

    /**
     * 目の開き具合の値。0~2の範囲。
     * @type {number}
     */
    EyeOpenLeft = 1

    /**
     * 目の開き具合の値。0~2の範囲。
     * @type {number}
     */
    EyeOpenRight = 1

    /**
     * 視線の値。-1~1の範囲。
     * @type {number}
     */
    EyeLookX = 0

    /**
     * 視線の値。-1~1の範囲。
     * @type {number}
     */
    EyeLookY = 0

    /**
     * 口の開き具合の値。0~1の範囲。
     * @type {number}
     */
    MouthOpen = 0

    /**
     * 口の幅の値。-1~1の範囲。
     * @type {number}
     */
    MouthSpread = 0

    /**
     * 笑顔の値。-1~1の範囲。iOS用。
     * @type {number}
     */
    EyeSmileLeft = 0

    /**
     * 笑顔の値。-1~1の範囲。iOS用。
     * @type {number}
     */
    EyeSmileRight = 0

    /**
     * 目のパラメータ。-1~1の範囲。iOS用。
     * @type {number}
     */
    EyeWide = 0

    /**
     * 口のパラメータ。-1~1の範囲。iOS用。
     * @type {number}
     */
    MouthX = 0

    /**
     * マウスのX。-1~1の範囲。左側が-1。中心が0。
     * @type {number}
     */
    MouseX = 0

    /**
     * マウスのY。-1~1の範囲。上が-1。中心が0。
     * @type {number}
     */
    MouseY = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitEyeBlinkLeft = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitEyeLookDownLeft = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitEyeLookInLeft = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitEyeLookOutLeft = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitEyeLookUpLeft = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitEyeSquintLeft = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitEyeWideLeft = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitEyeBlinkRight = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitEyeLookDownRight = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitEyeLookInRight = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitEyeLookOutRight = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitEyeLookUpRight = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitEyeSquintRight = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitEyeWideRight = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitJawForward = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitJawLeft = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitJawRight = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitJawOpen = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitMouthClose = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitMouthFunnel = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitMouthPucker = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitMouthLeft = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitMouthRight = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitMouthSmileLeft = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitMouthSmileRight = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitMouthFrownLeft = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitMouthFrownRight = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitMouthDimpleLeft = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitMouthDimpleRight = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitMouthStretchLeft = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitMouthStretchRight = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitMouthRollLower = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitMouthRollUpper = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitMouthShrugLower = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitMouthShrugUpper = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitMouthPressLeft = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitMouthPressRight = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitMouthLowerDownLeft = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitMouthLowerDownRight = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitMouthUpperUpLeft = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitMouthUpperUpRight = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitBrowDownLeft = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitBrowDownRight = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitBrowInnerUp = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitBrowOuterUpLeft = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitBrowOuterUpRight = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitCheekPuff = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitCheekSquintLeft = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitCheekSquintRight = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitNoseSneerLeft = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitNoseSneerRight = 0

    /**
     * iOSのARKitの値
     * @type {number}
     */
    ARKitTongueOut = 0

    /**
     * リップシンク用の値
     * @type {number}
     */
    LipSyncVolume = 0

    /**
     * リップシンク用の値
     * @type {number}
     */
    LipSyncMouthOpen = 0

    /**
     * リップシンク用の値
     * @type {number}
     */
    LipSyncMouthSpread = 0

    /**
     * リップシンク用の値
     * @type {number}
     */
    LipSyncMouthA = 0

    /**
     * リップシンク用の値
     * @type {number}
     */
    LipSyncMouthI = 0

    /**
     * リップシンク用の値
     * @type {number}
     */
    LipSyncMouthU = 0

    /**
     * リップシンク用の値
     * @type {number}
     */
    LipSyncMouthE = 0

    /**
     * リップシンク用の値
     * @type {number}
     */
    LipSyncMouthO = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandLeftFound = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandLeftAngleX = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandLeftAngleY = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandLeftAngleZ = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandLeftPositionX = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandLeftPositionY = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandLeftPositionZ = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandLeftOpen = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandLeftFingerThumb = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandLeftFingerIndex = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandLeftFingerMiddle = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandLeftFingerRing = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandLeftFingerPinky = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandRightFound = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandRightAngleX = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandRightAngleY = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandRightAngleZ = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandRightPositionX = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandRightPositionY = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandRightPositionZ = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandRightOpen = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandRightFingerThumb = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandRightFingerIndex = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandRightFingerMiddle = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandRightFingerRing = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandRightFingerPinky = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandBothFound = 0

    /**
     * ハンドトラッキング用の値
     * @type {number}
     */
    HandDistance = 0

    /**
     * IDを指定しての値の取得。独自に作成したパラメータの値を取得する際に使用する。
     * @param {string} id 
     * @returns {number}
     */
    value(id){
        return this[id]
    }

    /**
     * IDを指定しての値の設定。独自に作成したパラメータの値を設定する際に使用する。
     * @param {string} id
     * @param {number} value
     */
    setValue(id, value){
        this[id] = value
    }
}