示例#1
0
        /// <summary>
        /// 設定ファイル読み込み
        /// </summary>
        /// <param name="targetSettingFileName"></param>
        private void LoadModelSetting(string ModelPath)
        {
            try
            {
                //モデルパス取得
                this.ModelPath = ModelPath;
                string targetSettingFilePath = this.ModelPath + ModelPathDefine.LIPLIS_MODEL_JSON;
                string settingPath           = ModelPath + ModelPathDefine.SETTINGS;
                string chatSettingPath       = settingPath + ModelPathDefine.LIPLIS_CHAT_SETTING;
                string toneSettingPath       = settingPath + ModelPathDefine.LIPLIS_TONE_SETTING;

                // LiplisModel.jsonファイルを読み込む
                // 原則としてApplication.dataPath配下。
                // プリセットモデルの場合はリソース配下となる。
                modelSetting = JsonLoader <LiplisMoonlightModel> .Load(targetSettingFilePath);

                //口調設定
                toneSetting = JsonLoader <LiplisToneSetting> .Load(chatSettingPath);

                //固定セリフ設定
                chatSetting = JsonLoader <LiplisChatSetting> .Load(chatSettingPath);
            }
            catch (Exception ex)
            {
                //ファイル読み込みに失敗したらエクセプション発生
                throw new ApplicationException("LiplisModelLive2d:LoadModelSetting:モデルの読み込みに失敗しました!", ex);
            }
        }
示例#2
0
        /// <summary>
        /// ラビッツモデルを生成する
        /// </summary>
        /// <param name="modelPathAnderResource"></param>
        /// <returns></returns>
        private LiplisModel LoadModel(string modelPath, int AllocationId, int modelNum)
        {
            //モデル設定を取得する
            LiplisMoonlightModel lmm = PrisetModelSettingLoader.LoadClassFromJson <LiplisMoonlightModel>(modelPath + ModelPathDefine.LIPLIS_MODEL_JSON);
            LiplisToneSetting    ltn = PrisetModelSettingLoader.LoadClassFromJson <LiplisToneSetting>(modelPath + ModelPathDefine.SETTINGS + ModelPathDefine.LIPLIS_TONE_SETTING);
            LiplisChatSetting    lch = PrisetModelSettingLoader.LoadClassFromJson <LiplisChatSetting>(modelPath + ModelPathDefine.SETTINGS + ModelPathDefine.LIPLIS_CHAT_SETTING);

            //ウインドウイメージの読み込み
            Texture2D TextureWindow    = PrisetModelSettingLoader.LoadTexture(modelPath + ModelPathDefine.IMAGES + ModelPathDefine.IMG_WINDOW) as Texture2D;
            Texture2D TextureLogWindow = PrisetModelSettingLoader.LoadTexture(modelPath + ModelPathDefine.IMAGES + ModelPathDefine.IMG_WINDOW_LOG) as Texture2D;
            Texture2D TextureCharIcon  = PrisetModelSettingLoader.LoadTexture(modelPath + ModelPathDefine.IMAGES + ModelPathDefine.IMG_ICON_CHAR) as Texture2D;

            //モデルを追加する
            return(new LiplisModel(AllocationId, modelPath, lmm, ltn, lch, TextureWindow, TextureLogWindow, TextureCharIcon, modelNum));
        }
示例#3
0
        /// <summary>
        /// プリセットモデルロード コンストラクター
        /// </summary>
        /// <param name="AllocationId"></param>
        /// <param name="CanvasRendering"></param>
        /// <param name="ModelPath"></param>
        /// <param name="CallbackOnNextTalkOrSkip"></param>
        /// <param name="modelSetting"></param>
        /// <param name="toneSetting"></param>
        /// <param name="chatSetting"></param>
        /// <param name="TextureWindow"></param>
        public LiplisModel(int AllocationId,
                           GameObject CanvasRendering,
                           string ModelPath,
                           ModelEvents.OnNextTalkOrSkip
                           CallbackOnNextTalkOrSkip,
                           LiplisMoonlightModel modelSetting,
                           LiplisToneSetting toneSetting,
                           LiplisChatSetting chatSetting,
                           Texture2D TextureWindow,
                           Texture2D TextureLogWindow,
                           Texture2D TextureCharIcon)
        {
            //アロケーションID設定
            this.AllocationId = AllocationId;

            //ソートオーダーの設定
            this.SortOrder = AllocationId * 10;

            //レンダリング階層取得
            this.CanvasRendering = CanvasRendering;

            //モデル設定を読み込み
            this.ModelPath = ModelPath;

            //コールバックメソッドの設定
            this.CallbackOnNextTalkOrSkip = CallbackOnNextTalkOrSkip;

            //モデル設定
            this.modelSetting = modelSetting;
            this.toneSetting  = toneSetting;
            this.chatSetting  = chatSetting;

            //イメージの読み込み
            this.SpriteWindow    = CreateTalkWindowSprite(TextureWindow);
            this.SpriteLogWindow = CreateTalkWindowSprite(TextureLogWindow);
            this.SpriteCharIcon  = CreateTalkWindowSprite(TextureCharIcon);

            //モデルの初期化
            InitModel(true);

            //プレファブの初期化
            InitPrefab();

            //トークウインドウの初期化
            InitTalkWindow();
        }
示例#4
0
        /// <summary>
        /// ラビッツモデルを生成する
        /// </summary>
        /// <param name="modelPathAnderResource"></param>
        /// <returns></returns>
        private LiplisModel CreateModelRabbits(string modelPathAnderResource, int AllocationId)
        {
            //モデルパス生成
            string modelPath = UtilUnityPath.GetStreamingAssetsPath() + "/" + modelPathAnderResource;

            //モデル設定を取得する
            LiplisMoonlightModel lmm = PrisetModelSettingLoader.LoadClassFromJson <LiplisMoonlightModel>(modelPath + ModelPathDefine.LIPLIS_MODEL_JSON);
            LiplisToneSetting    ltn = PrisetModelSettingLoader.LoadClassFromJson <LiplisToneSetting>(modelPath + ModelPathDefine.SETTINGS + ModelPathDefine.LIPLIS_TONE_SETTING);
            LiplisChatSetting    lch = PrisetModelSettingLoader.LoadClassFromJson <LiplisChatSetting>(modelPath + ModelPathDefine.SETTINGS + ModelPathDefine.LIPLIS_CHAT_SETTING);

            //ウインドウイメージの読み込み
            Texture2D TextureWindow    = PrisetModelSettingLoader.LoadTexture(modelPath + ModelPathDefine.IMAGES + ModelPathDefine.IMG_WINDOW) as Texture2D;
            Texture2D TextureLogWindow = PrisetModelSettingLoader.LoadTexture(modelPath + ModelPathDefine.IMAGES + ModelPathDefine.IMG_WINDOW_LOG) as Texture2D;
            Texture2D TextureCharIcon  = PrisetModelSettingLoader.LoadTexture(modelPath + ModelPathDefine.IMAGES + ModelPathDefine.IMG_ICON_CHAR) as Texture2D;

            //モデルを追加する
            return(new LiplisModel(AllocationId, CanvasRendering, modelPath, ctrlTalk.NextTalkOrSkip, lmm, ltn, lch, TextureWindow, TextureLogWindow, TextureCharIcon));
        }
示例#5
0
        /// <summary>
        /// プリセットモデルロード コンストラクター
        /// </summary>
        /// <param name="AllocationId"></param>
        /// <param name="CanvasRendering"></param>
        /// <param name="ModelPath"></param>
        /// <param name="CallbackOnNextTalkOrSkip"></param>
        /// <param name="modelSetting"></param>
        /// <param name="toneSetting"></param>
        /// <param name="chatSetting"></param>
        /// <param name="TextureWindow"></param>
        public LiplisModel(int AllocationId,
                           string ModelPath,
                           LiplisMoonlightModel modelSetting,
                           LiplisToneSetting toneSetting,
                           LiplisChatSetting chatSetting,
                           Texture2D TextureWindow,
                           Texture2D TextureLogWindow,
                           Texture2D TextureCharIcon,
                           int ModelNum)
        {
            //アロケーションID設定
            this.AllocationId = AllocationId;

            //ソートオーダーの設定
            this.SortOrder = AllocationId * 10 + 100;

            //モデル設定を読み込み
            this.ModelPath = ModelPath;

            //モデル数セット
            this.ModelNum = ModelNum;

            //モデル設定
            this.modelSetting = modelSetting;
            this.toneSetting  = toneSetting;
            this.chatSetting  = chatSetting;

            //イメージの読み込み
            this.SpriteLogWindow = CreateTalkWindowSprite(TextureLogWindow);
            this.SpriteCharIcon  = CreateTalkWindowSprite(TextureCharIcon);

            ////モデルの初期化
            InitModel();

            ////プレファブの初期化
            InitPrefab();

            ////トークウインドウの初期化
            InitTalkWindow();
        }