如何从UAnimMontage继承?

时间:2019-02-08 07:19:09

标签: c++ inheritance unreal-engine4

我尝试从UAnimMontage继承。基本上,我想创建一个自定义AnimMontage,它将具有不同数量的节(具有特定名称)。这些Sectios取决于它将具有的Enum的值。 这是用于MeleeCombo系统的,因此,我将有很多AnimMontage,并且我不想重复相同的操作来创建这些AnimMontage。这些部分的名称将在代码中使用,因此,我认为最好将其自动化。 而且对艺术家和每个人都更好。 此类将在编辑器中显示,以便像普通的AnimMontage一样进行编辑。 当我创建一个从UAnimMontage(使用Wizard C ++)继承的C ++类时,它引发了很多诸如此类的依赖错误:

2>CloseCombatAnimMontage.cpp.obj : error LNK2001: unresolved external symbol "public: virtual float __cdecl UAnimSequenceBase::GetPlayLength(void)" (?GetPlayLength@UAnimSequenceBase@@UEAAMXZ)

任何想法,在不更改引擎代码的情况下如何做到这一点? 预先感谢!

1 个答案:

答案 0 :(得分:0)

看看源代码,UAnimMontage和基类都标有MinimalAPI,这意味着您可以从它们继承,但必须为其方法提供自己的实现。

因此,您可以将方法的实现从引擎代码复制粘贴到自己的实现中,或者修改引擎的源代码,以便导出所有方法以进行链接,而不仅仅是api。