コード例 #1
0
ファイル: PMDLoaderWindow.cs プロジェクト: hsnk/mmd-for-unity
 public PMDLoaderWindow()
 {
     // デフォルトコンフィグ
     var config = MMD.Config.LoadAndCreate();
     shader_type = config.pmd_config.shader_type;
     rigidFlag = config.pmd_config.rigidFlag;
     use_mecanim = config.pmd_config.use_mecanim;
     use_ik = config.pmd_config.use_ik;
     is_pmx_base_import = config.pmd_config.is_pmx_base_import;
 }
コード例 #2
0
        /// <summary>
        /// プレファブを作成する
        /// </summary>
        /// <param name='shader_type'>シェーダーの種類</param>
        /// <param name='use_rigidbody'>剛体を使用するか</param>
        /// <param name='animation_type'>アニメーションタイプ</param>
        /// <param name='use_ik'>IKを使用するか</param>
        /// <param name='scale'>スケール</param>
        /// <param name='is_pmx_base_import'>PMX Baseでインポートするか</param>
        public void CreatePrefab(PMDConverter.ShaderType shader_type, bool use_rigidbody, PMXConverter.AnimationType animation_type, bool use_ik, float scale, bool is_pmx_base_import)
        {
            GameObject game_object;
            string     prefab_path;

            if (is_pmx_base_import)
            {
                //PMX Baseでインポートする
                //PMXファイルのインポート
                PMX.PMXFormat pmx_format = null;
                try {
                    //PMX読み込みを試みる
                    pmx_format = PMXLoaderScript.Import(file_path_);
                } catch (System.FormatException) {
                    //PMXとして読み込めなかったら
                    //PMDとして読み込む
                    PMD.PMDFormat pmd_format = PMDLoaderScript.Import(file_path_);
                    pmx_format = PMXLoaderScript.PMD2PMX(pmd_format);
                }
                header_ = pmx_format.header;
                //ゲームオブジェクトの作成
                game_object = PMXConverter.CreateGameObject(pmx_format, use_rigidbody, animation_type, use_ik, scale);

                // プレファブパスの設定
                prefab_path = pmx_format.meta_header.folder + "/" + pmx_format.meta_header.name + ".prefab";
            }
            else
            {
                //PMXエクスポーターを使用しない
                //PMDファイルのインポート
                PMD.PMDFormat pmd_format = null;
                try {
                    //PMX読み込みを試みる
                    PMX.PMXFormat pmx_format = PMXLoaderScript.Import(file_path_);
                    pmd_format = PMXLoaderScript.PMX2PMD(pmx_format);
                } catch (System.FormatException) {
                    //PMXとして読み込めなかったら
                    //PMDとして読み込む
                    pmd_format = PMDLoaderScript.Import(file_path_);
                }
                header_ = PMXLoaderScript.PMD2PMX(pmd_format.head);

                //ゲームオブジェクトの作成
                bool use_mecanim = PMXConverter.AnimationType.LegacyAnimation == animation_type;
                game_object = PMDConverter.CreateGameObject(pmd_format, shader_type, use_rigidbody, use_mecanim, use_ik, scale);

                // プレファブパスの設定
                prefab_path = pmd_format.folder + "/" + pmd_format.name + ".prefab";
            }
            // プレファブ化
            PrefabUtility.CreatePrefab(prefab_path, game_object, ReplacePrefabOptions.ConnectToPrefab);

            // アセットリストの更新
            AssetDatabase.Refresh();
        }
コード例 #3
0
ファイル: PMDLoaderWindow.cs プロジェクト: hsnk/mmd-for-unity
    void OnGUI()
    {
        pmdFile = EditorGUILayout.ObjectField("PMD File", pmdFile, typeof(Object));

        // シェーダの種類
        shader_type = (PMDConverter.ShaderType)EditorGUILayout.EnumPopup("Shader Type", shader_type);

        // 剛体を入れるかどうか
        rigidFlag = EditorGUILayout.Toggle("Rigidbody", rigidFlag);

        // Mecanimを使うかどうか
#if UNITY_4_2
        use_mecanim = EditorGUILayout.Toggle("Use Mecanim", use_mecanim);
#else //UNITY_4_2
        bool old_gui_enabled = GUI.enabled;
        GUI.enabled = false;
        use_mecanim = EditorGUILayout.Toggle("Use Mecanim", false);
        GUI.enabled = old_gui_enabled;
#endif //UNITY_4_2

        // IKを使うかどうか
        use_ik = EditorGUILayout.Toggle("Use IK", use_ik);

        // スケール
        scale = EditorGUILayout.Slider("Scale", scale, 0.001f, 1.0f);
        EditorGUILayout.BeginHorizontal();
        {
            EditorGUILayout.PrefixLabel(" ");
            if (GUILayout.Button("Original", EditorStyles.miniButtonLeft))
            {
                scale = 0.085f;
            }
            if (GUILayout.Button("1.0", EditorStyles.miniButtonRight))
            {
                scale = 1.0f;
            }
        }
        EditorGUILayout.EndHorizontal();

        // PMX Baseでインポートするかどうか
        is_pmx_base_import = EditorGUILayout.Toggle("Use PMX Base Import", is_pmx_base_import);

        if (pmdFile != null)
        {
            if (GUILayout.Button("Convert"))
            {
                LoadModel();
                pmdFile = null;                         // 読み終わったので空にする
            }
        }
        else
        {
            EditorGUILayout.LabelField("Missing", "Select PMD File");
        }
    }
コード例 #4
0
ファイル: PMDLoaderWindow.cs プロジェクト: hsnk/mmd-for-unity
    public PMDLoaderWindow()
    {
        // デフォルトコンフィグ
        var config = MMD.Config.LoadAndCreate();

        shader_type        = config.pmd_config.shader_type;
        rigidFlag          = config.pmd_config.rigidFlag;
        use_mecanim        = config.pmd_config.use_mecanim;
        use_ik             = config.pmd_config.use_ik;
        is_pmx_base_import = config.pmd_config.is_pmx_base_import;
    }
コード例 #5
0
    public PMDLoaderWindow()
    {
        // 默认设置
		var config = MMD.Config.LoadAndCreate();
		shader_type = config.pmd_config.shader_type;
		Debug.Log("test");
		rigidFlag = config.pmd_config.rigidFlag;
		use_mecanim = config.pmd_config.use_mecanim;
		use_ik = config.pmd_config.use_ik;
		is_pmx_base_import = config.pmd_config.is_pmx_base_import;
    }
コード例 #6
0
    public PMDLoaderWindow()
    {
        // 默认设置
        var config = MMD.Config.LoadAndCreate();

        shader_type = config.pmd_config.shader_type;
        Debug.Log("test");
        rigidFlag          = config.pmd_config.rigidFlag;
        use_mecanim        = config.pmd_config.use_mecanim;
        use_ik             = config.pmd_config.use_ik;
        is_pmx_base_import = config.pmd_config.is_pmx_base_import;
    }
コード例 #7
0
ファイル: Config.cs プロジェクト: Imanity/HelloArduino
 public override void OnGUI()
 {
     base.OnGUI(() =>
     {
         shader_type        = (PMDConverter.ShaderType)EditorGUILayout.EnumPopup("Shader Type", shader_type);
         rigidFlag          = EditorGUILayout.Toggle("Rigidbody", rigidFlag);
         use_mecanim        = false;
         use_ik             = EditorGUILayout.Toggle("Use IK", use_ik);
         is_pmx_base_import = EditorGUILayout.Toggle("Use PMX Base Import", is_pmx_base_import);
     }
                );
 }
コード例 #8
0
    void OnGUI()
    {
        pmdFile = EditorGUILayout.ObjectField("PMD File", pmdFile, typeof(Object));

        // Shader的种类
        shader_type = (PMDConverter.ShaderType)EditorGUILayout.EnumPopup("Shader Type", shader_type);

        // 是否加入刚体
        rigidFlag = EditorGUILayout.Toggle("Rigidbody", rigidFlag);

        // 是否使用Mecanim
        bool old_gui_enabled = GUI.enabled;

        GUI.enabled = false;
        use_mecanim = EditorGUILayout.Toggle("Use Mecanim", false);
        GUI.enabled = old_gui_enabled;

        // 是否使用IK
        use_ik = EditorGUILayout.Toggle("Use IK", use_ik);

        // 缩放
        scale = EditorGUILayout.Slider("Scale", scale, 0.001f, 1.0f);
        EditorGUILayout.BeginHorizontal();
        {
            EditorGUILayout.PrefixLabel(" ");
            if (GUILayout.Button("0.085", EditorStyles.miniButtonLeft))
            {
                scale = 0.085f;
            }
            if (GUILayout.Button("1.0", EditorStyles.miniButtonRight))
            {
                scale = 1.0f;
            }
        }
        EditorGUILayout.EndHorizontal();

        // 是否使用PMX Base导入
        is_pmx_base_import = EditorGUILayout.Toggle("Use PMX Base Import", is_pmx_base_import);

        if (pmdFile != null)
        {
            if (GUILayout.Button("Convert"))
            {
                LoadModel();
                pmdFile = null;                         // 读完清空
            }
        }
        else
        {
            EditorGUILayout.LabelField("Missing", "Select PMD File");
        }
    }
コード例 #9
0
ファイル: PMDLoaderWindow.cs プロジェクト: hsnk/mmd-for-unity
    void OnGUI()
    {
        pmdFile = EditorGUILayout.ObjectField("PMD File" , pmdFile, typeof(Object));

        // シェーダの種類
        shader_type = (PMDConverter.ShaderType)EditorGUILayout.EnumPopup("Shader Type", shader_type);

        // 剛体を入れるかどうか
        rigidFlag = EditorGUILayout.Toggle("Rigidbody", rigidFlag);

        // Mecanimを使うかどうか
        #if UNITY_4_2
        use_mecanim = EditorGUILayout.Toggle("Use Mecanim", use_mecanim);
        #else //UNITY_4_2
        bool old_gui_enabled = GUI.enabled;
        GUI.enabled = false;
        use_mecanim = EditorGUILayout.Toggle("Use Mecanim", false);
        GUI.enabled = old_gui_enabled;
        #endif //UNITY_4_2

        // IKを使うかどうか
        use_ik = EditorGUILayout.Toggle("Use IK", use_ik);

        // スケール
        scale = EditorGUILayout.Slider("Scale", scale, 0.001f, 1.0f);
        EditorGUILayout.BeginHorizontal();
        {
            EditorGUILayout.PrefixLabel(" ");
            if (GUILayout.Button("Original", EditorStyles.miniButtonLeft)) {
                scale = 0.085f;
            }
            if (GUILayout.Button("1.0", EditorStyles.miniButtonRight)) {
                scale = 1.0f;
            }
        }
        EditorGUILayout.EndHorizontal();

        // PMX Baseでインポートするかどうか
        is_pmx_base_import = EditorGUILayout.Toggle("Use PMX Base Import", is_pmx_base_import);

        if (pmdFile != null) {
            if (GUILayout.Button("Convert")) {
                LoadModel();
                pmdFile = null;		// 読み終わったので空にする
            }
        } else {
            EditorGUILayout.LabelField("Missing", "Select PMD File");
        }
    }
コード例 #10
0
	void OnGUI() {
		pmdFile = EditorGUILayout.ObjectField("PMD File" , pmdFile, typeof(Object));

        // Shader的种类
		shader_type = (PMDConverter.ShaderType)EditorGUILayout.EnumPopup("Shader Type", shader_type);

		// 是否加入刚体
		rigidFlag = EditorGUILayout.Toggle("Rigidbody", rigidFlag);

		// 是否使用Mecanim
		bool old_gui_enabled = GUI.enabled;
		GUI.enabled = false;
		use_mecanim = EditorGUILayout.Toggle("Use Mecanim", false);
		GUI.enabled = old_gui_enabled;

		// 是否使用IK
		use_ik = EditorGUILayout.Toggle("Use IK", use_ik);

		// 缩放
		scale = EditorGUILayout.Slider("Scale", scale, 0.001f, 1.0f);
		EditorGUILayout.BeginHorizontal();
		{
			EditorGUILayout.PrefixLabel(" ");
			if (GUILayout.Button("0.085", EditorStyles.miniButtonLeft)) {
				scale = 0.085f;
			}
			if (GUILayout.Button("1.0", EditorStyles.miniButtonRight)) {
				scale = 1.0f;
			}
		}
		EditorGUILayout.EndHorizontal();

		// 是否使用PMX Base导入
		is_pmx_base_import = EditorGUILayout.Toggle("Use PMX Base Import", is_pmx_base_import);
		
		if (pmdFile != null) {
			if (GUILayout.Button("Convert")) {
				LoadModel();
				pmdFile = null;		// 读完清空 
			}
		} else {
			EditorGUILayout.LabelField("Missing", "Select PMD File");
		}
	}
コード例 #11
0
ファイル: PMDInspector.cs プロジェクト: Imanity/HelloArduino
        /// <summary>
        /// pmd_header 默认设置的设定
        /// </summary>
        private void setup()
        {
            // 默认设置
			var config = MMD.Config.LoadAndCreate();
            shader_type = config.pmd_config.shader_type;
            rigidFlag = config.pmd_config.rigidFlag;
            use_mecanim = config.pmd_config.use_mecanim;
            use_ik = config.pmd_config.use_ik;
            scale = config.pmd_config.scale;
            is_pmx_base_import = config.pmd_config.is_pmx_base_import;

            // 型号信息
            if (config.inspector_config.use_pmd_preload)
            {
				var obj = (PMDScriptableObject)target;
				model_agent = new ModelAgent(obj.assetPath);
            }
            else
            {
                model_agent = null;
            }
        }
コード例 #12
0
ファイル: Config.cs プロジェクト: zhaochuan1990/mmd-for-unity
 public override void OnGUIFunction()
 {
     shader_type    = (PMDConverter.ShaderType)EditorGUILayout.EnumPopup("Shader Type", shader_type);
     rigidFlag      = EditorGUILayout.Toggle("Rigidbody", rigidFlag);
     animation_type = (PMXConverter.AnimationType)EditorGUILayout.EnumPopup("Animation Type", animation_type);
     use_ik         = EditorGUILayout.Toggle("Use IK", use_ik);
     scale          = EditorGUILayout.Slider("Scale", scale, 0.001f, 1.0f);
     EditorGUILayout.BeginHorizontal();
     {
         EditorGUILayout.PrefixLabel(" ");
         if (GUILayout.Button("Original", EditorStyles.miniButtonLeft))
         {
             scale = 0.085f;
         }
         if (GUILayout.Button("1.0", EditorStyles.miniButtonRight))
         {
             scale = 1.0f;
         }
     }
     EditorGUILayout.EndHorizontal();
     is_pmx_base_import = EditorGUILayout.Toggle("Use PMX Base Import", is_pmx_base_import);
 }
コード例 #13
0
ファイル: PMDInspector.cs プロジェクト: Imanity/HelloArduino
        /// <summary>
        /// pmd_header 默认设置的设定
        /// </summary>
        private void setup()
        {
            // 默认设置
            var config = MMD.Config.LoadAndCreate();

            shader_type        = config.pmd_config.shader_type;
            rigidFlag          = config.pmd_config.rigidFlag;
            use_mecanim        = config.pmd_config.use_mecanim;
            use_ik             = config.pmd_config.use_ik;
            scale              = config.pmd_config.scale;
            is_pmx_base_import = config.pmd_config.is_pmx_base_import;

            // 型号信息
            if (config.inspector_config.use_pmd_preload)
            {
                var obj = (PMDScriptableObject)target;
                model_agent = new ModelAgent(obj.assetPath);
            }
            else
            {
                model_agent = null;
            }
        }
コード例 #14
0
ファイル: PMDInspector.cs プロジェクト: hsnk/mmd-for-unity
        /// <summary>
        /// Inspector上のGUI描画処理を行います
        /// </summary>
        public override void OnInspectorGUI()
        {
            setup();

            // GUIの有効化
            GUI.enabled = !EditorApplication.isPlaying;

            // シェーダの種類
            shader_type = (PMDConverter.ShaderType)EditorGUILayout.EnumPopup("Shader Type", shader_type);

            // 剛体を入れるかどうか
            rigidFlag = EditorGUILayout.Toggle("Rigidbody", rigidFlag);

            // Mecanimを使うかどうか
            #if UNITY_4_2
            use_mecanim = EditorGUILayout.Toggle("Use Mecanim", use_mecanim);
            #else //UNITY_4_2
            GUI.enabled = false;
            use_mecanim = EditorGUILayout.Toggle("Use Mecanim", false);
            GUI.enabled = !EditorApplication.isPlaying;
            #endif //UNITY_4_2

            // IKを使うかどうか
            use_ik = EditorGUILayout.Toggle("Use IK", use_ik);

            // スケール
            scale = EditorGUILayout.Slider("Scale", scale, 0.001f, 1.0f);
            EditorGUILayout.BeginHorizontal();
            {
                EditorGUILayout.PrefixLabel(" ");
                if (GUILayout.Button("0.085", EditorStyles.miniButtonLeft)) {
                    scale = 0.085f;
                }
                if (GUILayout.Button("1.0", EditorStyles.miniButtonRight)) {
                    scale = 1.0f;
                }
            }
            EditorGUILayout.EndHorizontal();

            // PMX Baseでインポートするかどうか
            is_pmx_base_import = EditorGUILayout.Toggle("Use PMX Base Import", is_pmx_base_import);

            // Convertボタン
            EditorGUILayout.Space();
            if (message.Length != 0)
            {
                GUILayout.Label(message);
            }
            else
            {
                if (GUILayout.Button("Convert to Prefab"))
                {
                    if (null == model_agent) {
                        var obj = (PMDScriptableObject)target;
                        model_agent = new ModelAgent(obj.assetPath);
                    }
                    model_agent.CreatePrefab(shader_type, rigidFlag, use_mecanim, use_ik, scale, is_pmx_base_import);
                    message = "Loading done.";
                }
            }
            GUILayout.Space(40);

            // モデル情報
            if (model_agent == null) return;
            EditorGUILayout.LabelField("Model Name");
            GUI.enabled = false;
            EditorGUILayout.TextArea(model_agent.name);
            GUI.enabled = true;

            EditorGUILayout.Space();

            EditorGUILayout.LabelField("Comment");
            GUI.enabled = false;
            EditorGUILayout.TextArea(model_agent.comment, GUILayout.Height(300));
            GUI.enabled = true;
        }
コード例 #15
0
        /// <summary>
        /// Inspector上のGUI描画処理を行います
        /// </summary>
        public override void OnInspectorGUI()
        {
            setup();

            // GUIの有効化
            GUI.enabled = !EditorApplication.isPlaying;

            // シェーダの種類
            shader_type = (PMDConverter.ShaderType)EditorGUILayout.EnumPopup("Shader Type", shader_type);

            // 剛体を入れるかどうか
            rigidFlag = EditorGUILayout.Toggle("Rigidbody", rigidFlag);

            // Mecanimを使うかどうか
#if UNITY_4_2
            use_mecanim = EditorGUILayout.Toggle("Use Mecanim", use_mecanim);
#else //UNITY_4_2
            GUI.enabled = false;
            use_mecanim = EditorGUILayout.Toggle("Use Mecanim", false);
            GUI.enabled = !EditorApplication.isPlaying;
#endif //UNITY_4_2

            // IKを使うかどうか
            use_ik = EditorGUILayout.Toggle("Use IK", use_ik);

            // スケール
            scale = EditorGUILayout.Slider("Scale", scale, 0.001f, 1.0f);
            EditorGUILayout.BeginHorizontal();
            {
                EditorGUILayout.PrefixLabel(" ");
                if (GUILayout.Button("0.085", EditorStyles.miniButtonLeft))
                {
                    scale = 0.085f;
                }
                if (GUILayout.Button("1.0", EditorStyles.miniButtonRight))
                {
                    scale = 1.0f;
                }
            }
            EditorGUILayout.EndHorizontal();

            // PMX Baseでインポートするかどうか
            is_pmx_base_import = EditorGUILayout.Toggle("Use PMX Base Import", is_pmx_base_import);

            // Convertボタン
            EditorGUILayout.Space();
            if (message.Length != 0)
            {
                GUILayout.Label(message);
            }
            else
            {
                if (GUILayout.Button("Convert to Prefab"))
                {
                    if (null == model_agent)
                    {
                        var obj = (PMDScriptableObject)target;
                        model_agent = new ModelAgent(obj.assetPath);
                    }
                    model_agent.CreatePrefab(shader_type, rigidFlag, use_mecanim, use_ik, scale, is_pmx_base_import);
                    message = "Loading done.";
                }
            }
            GUILayout.Space(40);

            // モデル情報
            if (model_agent == null)
            {
                return;
            }
            EditorGUILayout.LabelField("Model Name");
            GUI.enabled = false;
            EditorGUILayout.TextArea(model_agent.name);
            GUI.enabled = true;

            EditorGUILayout.Space();

            EditorGUILayout.LabelField("Comment");
            GUI.enabled = false;
            EditorGUILayout.TextArea(model_agent.comment, GUILayout.Height(300));
            GUI.enabled = true;
        }
コード例 #16
0
ファイル: PMDInspector.cs プロジェクト: Imanity/HelloArduino
        /// <summary>
        /// 在Inspector上进行GUI的绘制处理
        /// </summary>
        public override void OnInspectorGUI()
        {
            setup();

            
            GUI.enabled = !EditorApplication.isPlaying;// 激活GUI

            
            shader_type = (PMDConverter.ShaderType)EditorGUILayout.EnumPopup("Shader Type", shader_type);// 着色器类型

           
            rigidFlag = EditorGUILayout.Toggle("Rigidbody", rigidFlag); // 是否加入刚体

            
            GUI.enabled = false;// 是否使用Mecanim
            use_mecanim = EditorGUILayout.Toggle("Use Mecanim", false);
            GUI.enabled = !EditorApplication.isPlaying;

            
            use_ik = EditorGUILayout.Toggle("Use IK", use_ik);// 是否使用IK

           
            scale = EditorGUILayout.Slider("Scale", scale, 0.001f, 1.0f); // 缩放
            EditorGUILayout.BeginHorizontal();
            {
                EditorGUILayout.PrefixLabel(" ");
                if (GUILayout.Button("0.085", EditorStyles.miniButtonLeft)) {
                    scale = 0.085f;
                }
                if (GUILayout.Button("1.0", EditorStyles.miniButtonRight)) {
                    scale = 1.0f;
                }
            }
            EditorGUILayout.EndHorizontal();

          
            is_pmx_base_import = EditorGUILayout.Toggle("Use PMX Base Import", is_pmx_base_import);  // 是否使用PMX Base进行导入

           
            EditorGUILayout.Space(); // Convert按钮
            if (message.Length != 0)
            {
                GUILayout.Label(message);
            }
            else
            {
                if (GUILayout.Button("Convert to Prefab"))
                {
                    if (null == model_agent) {
						var obj = (PMDScriptableObject)target;
                        model_agent = new ModelAgent(obj.assetPath);
                    }
                    model_agent.CreatePrefab(shader_type, rigidFlag, use_mecanim, use_ik, scale, is_pmx_base_import);
                    message = "Loading done.";
                }
            }
            GUILayout.Space(40);

           
            if (model_agent == null) return; // info of model
            EditorGUILayout.LabelField("Model Name");
            GUI.enabled = false;
            EditorGUILayout.TextArea(model_agent.name);
            GUI.enabled = true;

            EditorGUILayout.Space();

            EditorGUILayout.LabelField("Comment");
            GUI.enabled = false;
            EditorGUILayout.TextArea(model_agent.comment, GUILayout.Height(300));
            GUI.enabled = true;
        }
コード例 #17
0
ファイル: PMDInspector.cs プロジェクト: Imanity/HelloArduino
        /// <summary>
        /// 在Inspector上进行GUI的绘制处理
        /// </summary>
        public override void OnInspectorGUI()
        {
            setup();


            GUI.enabled = !EditorApplication.isPlaying;// 激活GUI


            shader_type = (PMDConverter.ShaderType)EditorGUILayout.EnumPopup("Shader Type", shader_type);// 着色器类型


            rigidFlag = EditorGUILayout.Toggle("Rigidbody", rigidFlag); // 是否加入刚体


            GUI.enabled = false;// 是否使用Mecanim
            use_mecanim = EditorGUILayout.Toggle("Use Mecanim", false);
            GUI.enabled = !EditorApplication.isPlaying;


            use_ik = EditorGUILayout.Toggle("Use IK", use_ik);// 是否使用IK


            scale = EditorGUILayout.Slider("Scale", scale, 0.001f, 1.0f); // 缩放
            EditorGUILayout.BeginHorizontal();
            {
                EditorGUILayout.PrefixLabel(" ");
                if (GUILayout.Button("0.085", EditorStyles.miniButtonLeft))
                {
                    scale = 0.085f;
                }
                if (GUILayout.Button("1.0", EditorStyles.miniButtonRight))
                {
                    scale = 1.0f;
                }
            }
            EditorGUILayout.EndHorizontal();


            is_pmx_base_import = EditorGUILayout.Toggle("Use PMX Base Import", is_pmx_base_import);  // 是否使用PMX Base进行导入


            EditorGUILayout.Space(); // Convert按钮
            if (message.Length != 0)
            {
                GUILayout.Label(message);
            }
            else
            {
                if (GUILayout.Button("Convert to Prefab"))
                {
                    if (null == model_agent)
                    {
                        var obj = (PMDScriptableObject)target;
                        model_agent = new ModelAgent(obj.assetPath);
                    }
                    model_agent.CreatePrefab(shader_type, rigidFlag, use_mecanim, use_ik, scale, is_pmx_base_import);
                    message = "Loading done.";
                }
            }
            GUILayout.Space(40);


            if (model_agent == null)
            {
                return;                      // info of model
            }
            EditorGUILayout.LabelField("Model Name");
            GUI.enabled = false;
            EditorGUILayout.TextArea(model_agent.name);
            GUI.enabled = true;

            EditorGUILayout.Space();

            EditorGUILayout.LabelField("Comment");
            GUI.enabled = false;
            EditorGUILayout.TextArea(model_agent.comment, GUILayout.Height(300));
            GUI.enabled = true;
        }
コード例 #18
0
ファイル: Config.cs プロジェクト: leonpardlee/mmd-for-unity
 public override void OnGUIFunction()
 {
     shader_type = (PMDConverter.ShaderType)EditorGUILayout.EnumPopup("Shader Type", shader_type);
     rigidFlag = EditorGUILayout.Toggle("Rigidbody", rigidFlag);
     animation_type = (PMXConverter.AnimationType)EditorGUILayout.EnumPopup("Animation Type", animation_type);
     use_ik = EditorGUILayout.Toggle("Use IK", use_ik);
     scale = EditorGUILayout.Slider("Scale", scale, 0.001f, 1.0f);
     EditorGUILayout.BeginHorizontal();
     {
         EditorGUILayout.PrefixLabel(" ");
         if (GUILayout.Button("Original", EditorStyles.miniButtonLeft)) {
             scale = 0.085f;
         }
         if (GUILayout.Button("1.0", EditorStyles.miniButtonRight)) {
             scale = 1.0f;
         }
     }
     EditorGUILayout.EndHorizontal();
     is_pmx_base_import = EditorGUILayout.Toggle("Use PMX Base Import", is_pmx_base_import);
 }
コード例 #19
0
ファイル: Config.cs プロジェクト: hsnk/mmd-for-unity
 public override void OnGUI()
 {
     base.OnGUI(() =>
         {
             shader_type = (PMDConverter.ShaderType)EditorGUILayout.EnumPopup("Shader Type", shader_type);
             rigidFlag = EditorGUILayout.Toggle("Rigidbody", rigidFlag);
             use_mecanim = false;
             use_ik = EditorGUILayout.Toggle("Use IK", use_ik);
             is_pmx_base_import = EditorGUILayout.Toggle("Use PMX Base Import", is_pmx_base_import);
         }
     );
 }