UE4动画文件自动切割

在制作demo过程中 经常遇到所有动作在一长段Anim里面 需要自己根据帧数来进行复制文件然后打开进行切割

UE4动画文件自动切割_第1张图片UE4动画文件自动切割_第2张图片

步骤繁琐 挺费时间

既然引擎本身有这样的功能存在 那么我们也能做到一键操作 so~~~~干就完了

UE4动画文件自动切割_第3张图片先来一个编辑器扩展工具蓝图

UE4动画文件自动切割_第4张图片继承自AssetActionUtility

重载方法UE4动画文件自动切割_第5张图片

让其支持资源类型位动画资源UE4动画文件自动切割_第6张图片

打开蓝图 创建一个Clip方法 添加传入参数

  这个参数是一个数据表 就是用来配置我们切割的动画分片及所在动画帧了

新建一个结构体 作为分片数据UE4动画文件自动切割_第7张图片

每个动画进行切割的时候创建一个对应的数据表 传给clip方法就可以了

UE4动画文件自动切割_第8张图片

 

 

接下来就是Clip方法的实现了

动画文件拷贝部分

先做拷贝部分(本来应该线性连下去的 这里为了方便截图所以使用序列)

UE4动画文件自动切割_第9张图片

到上面这一步 已经实现了根据数据表格来拷贝出多个动画片段文件了

现在我们需要在拷贝后进行动画裁切就可以了

 

动画裁切部分

首先新建一个C++类 继承自BlueprintFunctionLibrary

新建一个供蓝图调用的裁剪方法

实现裁切方法(这里注意取frametime的时候我们进行了-1操作 因为key帧为2的时候 其实动画时间只有1到2的过渡时间 所以这里需要-1,另外这里我们先调用了裁剪动画后段 ,再裁剪前段,因为先裁剪前段的话后面的动画会进行前移,第二步裁剪就需要重新计算起始时间了)

UE4动画文件自动切割_第10张图片

编译后 在拷贝动画片段文件后面进行裁剪的调用

UE4动画文件自动切割_第11张图片

 

到这里整个动画批量裁剪就完成了

你可能感兴趣的:(UE4)