Beispiel #1
0
        /// <summary>
        /// Performs the actual exporting of the parameters
        /// </summary>
        /// <param name="controller">The controller to extract the parameters from</param>
        /// <param name="selectedFolder">The folder to write the parameters to</param>
        private static void ExportAnimationParams(AnimatorController controller, string selectedFolder)
        {
            foreach (AnimatorControllerParameter parameter in controller.parameters)
            {
                ScriptableAnimParam animParam = ScriptableObject.CreateInstance <ScriptableAnimParam>();

                animParam.AnimParamName = parameter.name;
                animParam.DefaultValue  = animParam.CurrentValue = parameter.nameHash;

                AssetDatabase.CreateAsset(animParam, selectedFolder + parameter.name + ".asset");
            }
        }
Beispiel #2
0
        /// <summary>
        /// Helper used to get the assets' filename and apply it to the Animation Param value in case
        /// the parameter asset is named the same (convenience to save typing it twice)
        /// </summary>
        private void InitializeWithFileName()
        {
            ScriptableAnimParam scriptableAnimParam = target as ScriptableAnimParam;

            if (scriptableAnimParam.AnimParamName == null && !string.IsNullOrEmpty(target.name))
            {
                SerializedProperty paramNameProp    = serializedObject.FindProperty("AnimParamName");
                SerializedProperty defaultValueProp = serializedObject.FindProperty("DefaultValue");

                paramNameProp.stringValue = target.name;
                defaultValueProp.intValue = Animator.StringToHash(target.name);

                serializedObject.ApplyModifiedProperties();
            }
        }