private void LoadModel(LiplisModelData modelData, int ModelType, bool flgResource) { //モデルタイプによってインスタンス化する実装クラスを可変 if (ModelType == (int)LiplisModelType.VRM) { //TODO LiplisModelLive2d:LoadModel VRMモデル実装 } else if (ModelType == (int)LiplisModelType.Live2d20) { //廃止予定 } else { //デフォルトはLive2dとする。 LoadModelLive2d30(modelData, flgResource); } }
/// <summary> /// モデルをロードする /// </summary> /// <param name="modelData"></param> /// <param name="flgResource"></param> private void LoadModelLive2d30(LiplisModelData modelData) { //Live2dモデルの読み込み IfsLiplisModel model = new LiplisModelLive2d(this.ModelPath, modelData, modelSetting.ModelScale, CanvasRendering, ModelLocation, Expression, CallbackOnNextTalkOrSkip ); //オーダー設定 model.SetOrder(this.SortOrder++); //モデルをリストに追加 ModelList.Add(model); }
//==================================================================== // // 初期化処理 //==================================================================== #region 初期化処理 /// <summary> /// コンストラクター /// </summary> /// <param name="targetPath"></param> public LiplisModelLive2d(string modelPath, //モデルパス LiplisModelData modelData, //モデルデータ float ModelScale, GameObject CanvasRendering, //親キャンバス Vector3 targetPosition, //ターゲット座標 MsgExpression Expression, //表情データ ModelEvents.OnNextTalkOrSkip CallbackOnNextTalkOrSkip //次へクリックコールバック ) { //モデルデータ取得 this.modelData = modelData; this.CanvasRendering = CanvasRendering; this.Direction = modelData.Direction; this.CallbackOnNextTalkOrSkip = CallbackOnNextTalkOrSkip; this.ModelScale = ModelScale; //モデルのロード LoadModel(modelPath, modelData.FileName, targetPosition); //表情のロード LoadExpression(Expression); }