[UE4] 通过c++给AnimSequence添加FloatCurve

本文介绍了如何在UE4中通过C++动态地为AnimSequence添加FloatCurve,以解决手动添加不准确且费时的问题。作者创建了一个插件,在编辑器模式下分析动画数据并将其存储到曲线中,以提高运行时性能。文章详细说明了使用FRawCurveTracks添加FloatCurve的过程,并指出VectorCurve的添加类似。
摘要由CSDN通过智能技术生成

[UE4] 通过c++给AnimSequence添加FloatCurve

标签(空格分隔): UE4 unrealengine 虚幻引擎


因为项目需要,要在动画中记录很多跟动画相关的数据,UE4只能在动画编辑器界面手动给动画添加曲线,手动添加即不准确也太累了
所以写了个插件在Editor模式下提取动画数据进行计算(比如动画每一帧某个骨骼节点速度,如果在运行时处理的话太浪费性能了)然后把结果存在动画的曲线中,这样运行时直接去当前动画的曲线中取就行了,节省性能又方便

UE4支持FloatCurve 和 VectorCurve 下面写的是如何添加 FloatCurve 添加VectorCurve的流程基本一样

相关的API:

FloatCurve存在 AnimSequenceBase中的RawCurveData (类型:FRawCurveTracks)

struct FRawCurveTracks
{
    ...
    TArray<FFloatCurve> FloatCurves //动画中带有的FloatCurve

    /**
     * 根据提供的UID创建新的曲线,如果创建成功则返回true
     * 如果bVectorInterpCurve == true, 则创建FVectorCuve, 否则创建的曲线是FFloatCurve
     */
    ENGINE_API bool AddCurveData(USkeleton::Anim
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值