您可以使用Unity的API来动态生成AnimatorController文件。以下是一些示例代码:

// 创建AnimatorController对象
var controller = AnimatorController.CreateAnimatorControllerAtPath("Assets/Animations/MyController.controller");

// 创建AnimationClip对象
var clip = new AnimationClip();
clip.name = "MyClip";
AssetDatabase.CreateAsset(clip, "Assets/Animations/MyClip.anim");

// 创建AnimatorState对象
var state = controller.layers[0].stateMachine.AddState("MyState");

// 将AnimationClip添加到AnimatorState中
state.motion = clip;

// 将AnimatorController保存到磁盘上
AssetDatabase.SaveAssets();
AssetDatabase.Refresh();

// 将AnimatorController添加到BuildSettings中,以便可以将其打包
var scenes = EditorBuildSettings.scenes;
Array.Resize(ref scenes, scenes.Length + 1);
scenes[scenes.Length - 1] = new EditorBuildSettingsScene("Assets/Animations/MyScene.unity", true);
EditorBuildSettings.scenes = scenes;

这段代码将在Assets/Animations目录下创建一个AnimatorController文件和一个AnimationClip文件,并将AnimationClip添加到AnimatorController中。然后,它将保存AnimatorController文件到磁盘上并将其添加到BuildSettings中,以便可以将其打包。

请注意,如果您的项目中已经存在一个AnimatorController文件,则需要使用AssetDatabase.LoadAssetAtPath方法加载它,然后对其进行修改,而不是使用AnimatorController.CreateAnimatorControllerAtPath方法创建一个新文件。


原文地址: https://www.cveoy.top/t/topic/b1sw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录