Example #1
0
        /// <summary>
        /// 開いて初期化
        /// </summary>
        /// <param name="filePath">PMXファイルのパス</param>
        /// <param name="textureFolder">テクスチャのフォルダ</param>
        /// <param name="context">レンダリングコンテキスト</param>
        /// <returns>MMDModelのインスタンス</returns>
        public static PMXModel ファイルから読み込む(string filePath, string textureFolder)
        {
            PMXModel model = ファイルから開く(filePath, textureFolder);

            model.モデルを初期化する();
            return(model);
        }
Example #2
0
        /// <summary>
        /// 開いて初期化
        /// </summary>
        /// <param name="filePath">PMXファイルのパス</param>
        /// <param name="loader">テクスチャなどのパスの解決インターフェース</param>
        /// <param name="context">レンダリングコンテキスト</param>
        /// <returns>MMDModelのインスタンス</returns>
        public static PMXModel ファイルから読み込む(string filePath, サブリソースローダー loader)
        {
            PMXModel model = ファイルから開く(filePath, loader);

            model.モデルを初期化する();
            return(model);
        }
Example #3
0
        // static: ファイルから読み込む(Open&Load)

        /// <summary>
        /// 開いて初期化
        /// </summary>
        /// <param name="filePath">PMXのファイルパス</param>
        /// <param name="context">レンダリングコンテキスト</param>
        /// <returns>MMDModelのインスタンス</returns>
        public static PMXModel ファイルから読み込む(string filePath)
        {
            PMXModel model = ファイルから開く(filePath);

            model.モデルを初期化する();
            return(model);
        }
Example #4
0
        public 材質モーフ(PMXModel model)
        {
            this._model = model;

            foreach (MMDFileParser.PMXModelParser.モーフ materialMorphData in model.モデル.モーフリスト)
            {
                if (materialMorphData.モーフ種類 == モーフ種類.材質)
                {
                    this.Morphs.Add(materialMorphData.モーフ名, new 材質モーフデータ(materialMorphData));
                }
            }
        }
Example #5
0
        public ボーンモーフ(PMXModel model)
        {
            _skinningProvider = model.スキニング;

            foreach (MMDFileParser.PMXModelParser.モーフ morphData in model.モデル.モーフリスト)
            {
                if (morphData.モーフ種類 == モーフ種類.ボーン)
                {
                    this.MorphList.Add(morphData.モーフ名, new ボーンモーフデータ(morphData));
                }
            }
        }
 public PMXモーフ管理(PMXModel model)
 {
     モーフリスト.Add(new 頂点モーフ(model));
     モーフリスト.Add(new ボーンモーフ(model));
     モーフリスト.Add(new 材質モーフ(model));
     モーフリスト.Add(new グループモーフ(model, this));
     モーフリスト.Add(new UVモーフ(model, モーフ種類.UV));
     モーフリスト.Add(new UVモーフ(model, モーフ種類.追加UV1));
     モーフリスト.Add(new UVモーフ(model, モーフ種類.追加UV2));
     モーフリスト.Add(new UVモーフ(model, モーフ種類.追加UV3));
     モーフリスト.Add(new UVモーフ(model, モーフ種類.追加UV4));
 }
Example #7
0
        public 頂点モーフ(PMXModel pmxModel)
        {
            _model         = pmxModel.モデル;
            _Buffermanager = pmxModel.バッファ管理;

            foreach (MMDFileParser.PMXModelParser.モーフ morphData in this._model.モーフリスト)
            {
                if (morphData.モーフ種類 == モーフ種類.頂点)
                {
                    this.MorphList.Add(morphData.モーフ名, new 頂点モーフデータ(morphData));
                }
            }
        }
Example #8
0
 public UVモーフ(PMXModel model, モーフ種類 targetType)
 {
     _bufferManager = model.バッファ管理;
     _targetMorph   = targetType;
     this._model    = model.モデル;
     if (model.モデル.ヘッダ.追加UV数 + 2 <= (int)targetType)
     {
         return;                                                          //このとき対応した追加UVは存在しない
     }
     foreach (MMDFileParser.PMXModelParser.モーフ morphData in model.モデル.モーフリスト)
     {
         if (morphData.モーフ種類 == this._targetMorph)
         {
             this.Morphs.Add(morphData.モーフ名, new UVモーフデータ(morphData));
         }
     }
 }
Example #9
0
        public グループモーフ(PMXModel model, モーフ morph)
        {
            this._morph = morph;

            int i = 0;

            foreach (var morphData in model.モデル.モーフリスト)
            {
                if (morphData.モーフ種類 == モーフ種類.グループ)
                {
                    this.Morphs.Add(morphData.モーフ名, new GroupMorphData(morphData));
                }

                this._モーフ名リスト.Add(i, morphData.モーフ名);

                i++;
            }
        }