/// <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"); } }
/// <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(); } }