Example #1
0
    void LoadMotion()
    {
        string file_path = AssetDatabase.GetAssetPath(vmdFile);

        MMD.MotionAgent motion_agent = new MMD.MotionAgent(file_path);
        motion_agent.CreateAnimationClip(pmdPrefab, createAnimationFile, interpolationQuality);
    }
	void LoadMotion() {
		string file_path = AssetDatabase.GetAssetPath(vmdFile);
		MMD.MotionAgent motion_agent = new MMD.MotionAgent(file_path);
		motion_agent.CreateAnimationClip(pmdPrefab
										, vmd_config.createAnimationFile
										, vmd_config.interpolationQuality
										);
	}
        /// <summary>
        /// 有効化処理
        /// </summary>
        void OnEnable()
        {
            // デフォルトコンフィグ
            var config = MMD.Config.LoadAndCreate();
            vmd_config = config.vmd_config.Clone();

            // モデル情報
            if (config.inspector_config.use_vmd_preload)
            {
                var obj = (VMDScriptableObject)target;
                motion_agent = new MotionAgent(obj.assetPath);
            }
            else
            {
                motion_agent = null;
            }
        }
Example #4
0
        /// <summary>
        /// 有効化処理
        /// </summary>
        void OnEnable()
        {
            // デフォルトコンフィグ
            var config = MMD.Config.LoadAndCreate();

            vmd_config = config.vmd_config.Clone();

            // モデル情報
            if (config.inspector_config.use_vmd_preload)
            {
                var obj = (VMDScriptableObject)target;
                motion_agent = new MotionAgent(obj.assetPath);
            }
            else
            {
                motion_agent = null;
            }
        }
Example #5
0
        /// <summary>
        /// 選択されているオブジェクトがVMDファイルかチェックします
        /// </summary>
        /// <returns>VMDファイルであればそのパスを、異なればnullを返します。</returns>
        void setup()
        {
            // デフォルトコンフィグ
            var config = MMD.Config.LoadAndCreate();
            createAnimationFile = config.vmd_config.createAnimationFile;
            interpolationQuality = config.vmd_config.interpolationQuality;

            // モデル情報
            if (config.inspector_config.use_vmd_preload)
            {
				var obj = (VMDScriptableObject)target;
                motion_agent = new MotionAgent(obj.assetPath);
            }
            else
            {
                motion_agent = null;
            }
        }
Example #6
0
        /// <summary>
        /// 選択されているオブジェクトがVMDファイルかチェックします
        /// </summary>
        /// <returns>VMDファイルであればそのパスを、異なればnullを返します。</returns>
        void setup()
        {
            // デフォルトコンフィグ
            var config = MMD.Config.LoadAndCreate();

            createAnimationFile  = config.vmd_config.createAnimationFile;
            interpolationQuality = config.vmd_config.interpolationQuality;

            // モデル情報
            if (config.inspector_config.use_vmd_preload)
            {
                var obj = (VMDScriptableObject)target;
                motion_agent = new MotionAgent(obj.assetPath);
            }
            else
            {
                motion_agent = null;
            }
        }
Example #7
0
        /// <summary>
        /// Inspector上のGUI描画処理を行います
        /// </summary>
        public override void OnInspectorGUI()
        {
            // GUIの有効化
            GUI.enabled = !EditorApplication.isPlaying;

            pmdPrefab = (GameObject)EditorGUILayout.ObjectField("PMD Prefab", pmdPrefab, typeof(Object), false);
            vmd_config.OnGUIFunction();

            // Convertボタン
            EditorGUILayout.Space();
            if (message.Length != 0)
            {
                GUILayout.Label(message);
            }
            else
            {
                bool gui_enabled_old = GUI.enabled;
                GUI.enabled = (null != pmdPrefab);
                if (GUILayout.Button("Convert"))
                {
                    if (null == motion_agent)
                    {
                        var obj = (VMDScriptableObject)target;
                        motion_agent = new MotionAgent(obj.assetPath);
                    }
                    motion_agent.CreateAnimationClip(pmdPrefab
                                                     , vmd_config.createAnimationFile
                                                     , vmd_config.interpolationQuality
                                                     );
                    message = "Loading done.";
                }
                GUI.enabled = gui_enabled_old;
            }
            GUILayout.Space(40);

            // モデル情報
            if (motion_agent == null)
            {
                return;
            }
            EditorGUILayout.LabelField("Model Name");
            EditorGUILayout.LabelField(motion_agent.model_name, EditorStyles.textField);
        }
Example #8
0
        /// <summary>
        /// Inspector上のGUI描画処理を行います
        /// </summary>
        public override void OnInspectorGUI()
        {
            setup();

            // GUIの有効化
            GUI.enabled = true;

            pmdPrefab            = EditorGUILayout.ObjectField("PMD Prefab", pmdPrefab, typeof(Object), false) as GameObject;
            createAnimationFile  = EditorGUILayout.Toggle("Create Asset", createAnimationFile);
            interpolationQuality = EditorGUILayout.IntSlider("Interpolation Quality", interpolationQuality, 1, 10);

            // Convertボタン
            EditorGUILayout.Space();
            if (message.Length != 0)
            {
                GUILayout.Label(message);
            }
            else
            {
                if (GUILayout.Button("Convert"))
                {
                    if (null == motion_agent)
                    {
                        var obj = (VMDScriptableObject)target;
                        motion_agent = new MotionAgent(obj.assetPath);
                    }
                    motion_agent.CreateAnimationClip(pmdPrefab, createAnimationFile, interpolationQuality);
                    message = "Loading done.";
                }
            }
            GUILayout.Space(40);

            // モデル情報
            if (motion_agent == null)
            {
                return;
            }
            EditorGUILayout.LabelField("Model Name");
            GUI.enabled = false;
            EditorGUILayout.TextArea(motion_agent.model_name);
            GUI.enabled = true;
        }
        /// <summary>
        /// Inspector上のGUI描画処理を行います
        /// </summary>
        public override void OnInspectorGUI()
        {
            // GUIの有効化
            GUI.enabled = !EditorApplication.isPlaying;

            pmdPrefab = (GameObject)EditorGUILayout.ObjectField("PMD Prefab", pmdPrefab, typeof(Object), false);
            vmd_config.OnGUIFunction();

            // Convertボタン
            EditorGUILayout.Space();
            if (message.Length != 0)
            {
                GUILayout.Label(message);
            }
            else
            {
                bool gui_enabled_old = GUI.enabled;
                GUI.enabled = (null != pmdPrefab);
                if (GUILayout.Button("Convert"))
                {
                    if (null == motion_agent) {
                        var obj = (VMDScriptableObject)target;
                        motion_agent = new MotionAgent(obj.assetPath);
                    }
                    motion_agent.CreateAnimationClip(pmdPrefab
                                                    , vmd_config.createAnimationFile
                                                    , vmd_config.interpolationQuality
                                                    );
                    message = "Loading done.";
                }
                GUI.enabled = gui_enabled_old;
            }
            GUILayout.Space(40);

            // モデル情報
            if (motion_agent == null) return;
            EditorGUILayout.LabelField("Model Name");
            EditorGUILayout.LabelField(motion_agent.model_name, EditorStyles.textField);
        }
Example #10
0
        /// <summary>
        /// Inspector上のGUI描画処理を行います
        /// </summary>
        public override void OnInspectorGUI()
        {
            setup();

            // GUIの有効化
            GUI.enabled = true;

            pmdPrefab = EditorGUILayout.ObjectField("PMD Prefab", pmdPrefab, typeof(Object), false) as GameObject;
            createAnimationFile = EditorGUILayout.Toggle("Create Asset", createAnimationFile);
            interpolationQuality = EditorGUILayout.IntSlider("Interpolation Quality", interpolationQuality, 1, 10);

            // Convertボタン
            EditorGUILayout.Space();
            if (message.Length != 0)
            {
                GUILayout.Label(message);
            }
            else
            {
                if (GUILayout.Button("Convert"))
                {
                    if (null == motion_agent) {
						var obj = (VMDScriptableObject)target;
                        motion_agent = new MotionAgent(obj.assetPath);
                    }
                    motion_agent.CreateAnimationClip(pmdPrefab, createAnimationFile, interpolationQuality);
                    message = "Loading done.";
                }
            }
            GUILayout.Space(40);

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