forked from sunyu/CubismFramework
204 lines
6.5 KiB
TypeScript
204 lines
6.5 KiB
TypeScript
/**
|
|
* Copyright(c) Live2D Inc. All rights reserved.
|
|
*
|
|
* Use of this source code is governed by the Live2D Open Software license
|
|
* that can be found at https://www.live2d.com/eula/live2d-open-software-license-agreement_en.html.
|
|
*/
|
|
|
|
import { CubismIdHandle } from './id/cubismid';
|
|
import { csmMap } from './type/csmmap';
|
|
|
|
/**
|
|
* モデル設定情報を取り扱う関数を宣言した純粋仮想クラス。
|
|
*
|
|
* このクラスを継承することで、モデル設定情報を取り扱うクラスになる。
|
|
*/
|
|
export abstract class ICubismModelSetting {
|
|
/**
|
|
* Mocファイルの名前を取得する
|
|
* @return Mocファイルの名前
|
|
*/
|
|
public abstract getModelFileName(): string;
|
|
|
|
/**
|
|
* モデルが使用するテクスチャの数を取得する
|
|
* テクスチャの数
|
|
*/
|
|
public abstract getTextureCount(): number;
|
|
|
|
/**
|
|
* テクスチャが配置されたディレクトリの名前を取得する
|
|
* @return テクスチャが配置されたディレクトリの名前
|
|
*/
|
|
public abstract getTextureDirectory(): string;
|
|
|
|
/**
|
|
* モデルが使用するテクスチャの名前を取得する
|
|
* @param index 配列のインデックス値
|
|
* @return テクスチャの名前
|
|
*/
|
|
public abstract getTextureFileName(index: number): string;
|
|
|
|
/**
|
|
* モデルに設定された当たり判定の数を取得する
|
|
* @return モデルに設定された当たり判定の数
|
|
*/
|
|
public abstract getHitAreasCount(): number;
|
|
|
|
/**
|
|
* 当たり判定に設定されたIDを取得する
|
|
*
|
|
* @param index 配列のindex
|
|
* @return 当たり判定に設定されたID
|
|
*/
|
|
public abstract getHitAreaId(index: number): CubismIdHandle;
|
|
|
|
/**
|
|
* 当たり判定に設定された名前を取得する
|
|
* @param index 配列のインデックス値
|
|
* @return 当たり判定に設定された名前
|
|
*/
|
|
public abstract getHitAreaName(index: number): string;
|
|
|
|
/**
|
|
* 物理演算設定ファイルの名前を取得する
|
|
* @return 物理演算設定ファイルの名前
|
|
*/
|
|
public abstract getPhysicsFileName(): string;
|
|
|
|
/**
|
|
* パーツ切り替え設定ファイルの名前を取得する
|
|
* @return パーツ切り替え設定ファイルの名前
|
|
*/
|
|
public abstract getPoseFileName(): string;
|
|
|
|
/**
|
|
* 表情設定ファイルの数を取得する
|
|
* @return 表情設定ファイルの数
|
|
*/
|
|
public abstract getExpressionCount(): number;
|
|
|
|
/**
|
|
* 表情設定ファイルを識別する名前(別名)を取得する
|
|
* @param index 配列のインデックス値
|
|
* @return 表情の名前
|
|
*/
|
|
public abstract getExpressionName(index: number): string;
|
|
|
|
/**
|
|
* 表情設定ファイルの名前を取得する
|
|
* @param index 配列のインデックス値
|
|
* @return 表情設定ファイルの名前
|
|
*/
|
|
public abstract getExpressionFileName(index: number): string;
|
|
|
|
/**
|
|
* モーショングループの数を取得する
|
|
* @return モーショングループの数
|
|
*/
|
|
public abstract getMotionGroupCount(): number;
|
|
|
|
/**
|
|
* モーショングループの名前を取得する
|
|
* @param index 配列のインデックス値
|
|
* @return モーショングループの名前
|
|
*/
|
|
public abstract getMotionGroupName(index: number): string;
|
|
|
|
/**
|
|
* モーショングループに含まれるモーションの数を取得する
|
|
* @param groupName モーショングループの名前
|
|
* @return モーショングループの数
|
|
*/
|
|
public abstract getMotionCount(groupName: string): number;
|
|
|
|
/**
|
|
* グループ名とインデックス値からモーションファイル名を取得する
|
|
* @param groupName モーショングループの名前
|
|
* @param index 配列のインデックス値
|
|
* @return モーションファイルの名前
|
|
*/
|
|
public abstract getMotionFileName(groupName: string, index: number): string;
|
|
|
|
/**
|
|
* モーションに対応するサウンドファイルの名前を取得する
|
|
* @param groupName モーショングループの名前
|
|
* @param index 配列のインデックス値
|
|
* @return サウンドファイルの名前
|
|
*/
|
|
public abstract getMotionSoundFileName(
|
|
groupName: string,
|
|
index: number
|
|
): string;
|
|
|
|
/**
|
|
* モーション開始時のフェードイン処理時間を取得する
|
|
* @param groupName モーショングループの名前
|
|
* @param index 配列のインデックス値
|
|
* @return フェードイン処理時間[秒]
|
|
*/
|
|
public abstract getMotionFadeInTimeValue(
|
|
groupName: string,
|
|
index: number
|
|
): number;
|
|
|
|
/**
|
|
* モーション終了時のフェードアウト処理時間を取得する
|
|
* @param groupName モーショングループの名前
|
|
* @param index 配列のインデックス値
|
|
* @return フェードアウト処理時間[秒]
|
|
*/
|
|
public abstract getMotionFadeOutTimeValue(
|
|
groupName: string,
|
|
index: number
|
|
): number;
|
|
|
|
/**
|
|
* ユーザーデータのファイル名を取得する
|
|
* @return ユーザーデータのファイル名
|
|
*/
|
|
public abstract getUserDataFile(): string;
|
|
|
|
/**
|
|
* レイアウト情報を取得する
|
|
* @param outLayoutMap csmMapクラスのインスタンス
|
|
* @return true レイアウト情報が存在する
|
|
* @return false レイアウト情報が存在しない
|
|
*/
|
|
public abstract getLayoutMap(outLayoutMap: csmMap<string, number>): boolean;
|
|
|
|
/**
|
|
* 目パチに関連付けられたパラメータの数を取得する
|
|
* @return 目パチに関連付けられたパラメータの数
|
|
*/
|
|
public abstract getEyeBlinkParameterCount(): number;
|
|
|
|
/**
|
|
* 目パチに関連付けられたパラメータのIDを取得する
|
|
* @param index 配列のインデックス値
|
|
* @return パラメータID
|
|
*/
|
|
public abstract getEyeBlinkParameterId(index: number): CubismIdHandle;
|
|
|
|
/**
|
|
* リップシンクに関連付けられたパラメータの数を取得する
|
|
* @return リップシンクに関連付けられたパラメータの数
|
|
*/
|
|
public abstract getLipSyncParameterCount(): number;
|
|
|
|
/**
|
|
* リップシンクに関連付けられたパラメータの数を取得する
|
|
* @param index 配列のインデックス値
|
|
* @return パラメータID
|
|
*/
|
|
public abstract getLipSyncParameterId(index: number): CubismIdHandle;
|
|
}
|
|
|
|
// Namespace definition for compatibility.
|
|
import * as $ from './icubismmodelsetting';
|
|
// eslint-disable-next-line @typescript-eslint/no-namespace
|
|
export namespace Live2DCubismFramework {
|
|
export const ICubismModelSetting = $.ICubismModelSetting;
|
|
export type ICubismModelSetting = $.ICubismModelSetting;
|
|
}
|