zoukankan      html  css  js  c++  java
  • Unity 代码生成动画控制器

      最近项目中有大量的动画需要在unity中查看,自己一个个托太麻烦,写了段代码自动生成。

    using System.Collections;
    using UnityEditor.Animations;
    using UnityEngine;
    using UnityEditor;
    using System.IO;
    using System.Collections.Generic;
    using System;
    
    public class Spader : Editor
    {
    // 递归的遍历获取path下的fbx文件
    static List<string> RecursiveGetFiles(string path) { var ls = new List<string>(); var dirs = Directory.GetDirectories(path); foreach (var d in dirs) ls.AddRange(RecursiveGetFiles(d)); ls.AddRange(Directory.GetFiles(path, "*.fbx")); return ls; } [MenuItem("Animator/Create Animator Controller")] static void CreateController() { // Creates the controller var controller = AnimatorController.CreateAnimatorControllerAtPath("Assets/Model/Motion.controller"); // Get all anim file var path = Application.dataPath + "/Resources/"; var allFiles = RecursiveGetFiles(path); var allClips = new List<AnimationClip>(); foreach (var f in allFiles) { var fPath = f.Substring(Application.dataPath.Length); var fbx = AssetDatabase.LoadAllAssetsAtPath("Assets" + fPath); foreach (var ob in fbx) { if(ob.GetType() == typeof(AnimationClip)) if(! ob.name.StartsWith("__preview")) allClips.Add(ob as AnimationClip); } } allClips.Sort((x, y)=> { if (x.name == "Idle01") return -1; else return 0; }); // Add parameters foreach (var clip in allClips) controller.AddParameter(clip.name, AnimatorControllerParameterType.Trigger); // Add states and transitions var rootStateMachine = controller.layers[0].stateMachine; foreach (var clip in allClips) { var state = rootStateMachine.AddState(clip.name); state.motion = clip; var transition = rootStateMachine.AddAnyStateTransition(state); transition.AddCondition(AnimatorConditionMode.If, 0.0f, clip.name); transition.canTransitionToSelf = false; if (clip.name == "Idle01") transition.canTransitionToSelf = true; } } }
  • 相关阅读:
    常见http状态码
    通过adb shell命令查看内存,CPU,启动时间,电量等信息
    Jmeter获取数据库数据参数化
    jmeter链接mysql数据库,sql数据库,oracle数据库
    appium 隐藏键盘
    python编码
    python:打印所有文件名字的扩展名
    python中字符串常见操作
    python中的字符串存储及切片介绍
    Ubuntu14.04安装部署bugzilla5.0.3
  • 原文地址:https://www.cnblogs.com/liucUP/p/11696862.html
Copyright © 2011-2022 走看看