3dsMaxAndFbxMetaDate根据元数据批量自动创建动画通知

3dsMaxAndFbxMetaDate根据元数据批量自动创建动画通知

我们实际项目中的动画通知都是由动作模块负责人在Unreal 手动添加设置的,这事挺着轻松,但是如果资源量一多,每一个资源都靠一两个人去管理动画通知也是非常蛋疼的一件事,所以本文主旨是让动画师在资源制作阶段就将各类常用动画通知直接在3ds MAX 中就设置好,随FBX一同导入进Unreal 中,遗憾的是需要引擎最低版本为 4.25

先看官方文档中的FBX元数据管道的介绍

FBX Asset Metadata Pipeline

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

官方说法是元数据可以帮助资源自动化批量处理。但是 **4.25 之前的版本FBX文件只支持SkeletalMesh导入元数据,4.25才支持 AnimSequence 导入元数据。**对动画太不友好了。。。。

查看资源元数据,入下图。
在这里插入图片描述


2.1 在3ds Max 给对象添加自定义属性

先看下3ds MAX 上的资源操作。
官方做法是直接 Object Properties 里填入数据,但是 Properties 里面的数据导入Unreal 后只是一段字符串,需要做字符串分割操作,感觉不太方便,我这里是另外给对象添加自定义属性,然后给属性定值,如下图

notify_A:时间 就是 添加动画通知的时间位置。
在这里插入图片描述
在这里插入图片描述
添加完事直接导出FBX,没有特殊导出设置。

2.2 FBX 导入 Unreal

直接将FBX 导入 Unreal ,需要注意的是:我们的 自定义属性 是添加在骨骼上的,导入时需如下设置
在这里插入图片描述


如下图

  • 左边的 MetaDataTag : FBX.Bone_root.notify_A
    • Bone_root :是3ds MAX 里添加自定义属性的对象,可以是骨骼,模型,等可以导出对象
    • notify_A : 是添加的自定义属性名称。
  • 右边的 Value :即为 自定义属性的值,类型为字符串。

图中只有 notify_X 是我们添加的,其他均为 3ds MAX 导出自带的各类数据。
在这里插入图片描述


处理 AnimSequence 元数据 - 脚本化操作

3.1 先设置资源类型限制,如下图,只有在选中 AnimSequence 类资源时右键 才有效。
在这里插入图片描述

3.2 创建 名为 AddAnimaNotify 的函数 ,函数名即为按钮名
在这里插入图片描述

3.3 先是拿到选中的AnimSequence 资源,然后用循环对每个资源操作

sequence 每一个分支处理一个 MetaDataTag ,如下图,因为项目中的所有角色骨架的根骨骼都命名为 Bone_root ,所以这里写死是没有问题的。
在这里插入图片描述

如下图,每一个 MetaDataTag 都可以引导创建一个 动画通知,只需将MetaDataTag - value 从帧数转为动画时间即可,当然了如果自定义属性的值为 0 ,就不创建 。
在这里插入图片描述

完整蓝图

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值