Как я могу наследовать от UAnimMontage? - PullRequest
0 голосов
/ 08 февраля 2019

Я пытаюсь наследовать от UAnimMontage.По сути, я хочу создать собственный AnimMontage, который будет иметь различное количество (с конкретными именами) разделов.Эти секвенции зависят от значения Enum, которое он будет иметь.Это для системы MeleeCombo, поэтому у меня будет много AnimMontage, и я не хочу повторять те же действия для создания этих AnimMontage.И имена разделов будут использоваться в коде, поэтому, я думаю, лучше автоматизировать это.И лучше для художника, и для всех на самом деле.Этот класс будет показан в редакторе, чтобы редактировать, как обычный AnimMontage.Когда я создаю класс C ++, который наследуется от UAnimMontage (с Wizard C ++), он выдает мне много ошибок зависимостей, подобных этой:

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

Есть идеи, как я могу это сделать, не изменяя код Engine???Заранее спасибо!

1 Ответ

0 голосов
/ 09 февраля 2019

Посмотрите на исходный код, UAnimMontage и базовый класс помечены MinimalAPI, что означает, что вы можете наследовать от них, но должны предоставить собственную реализацию для их методов.

Итак, вылибо скопируйте и вставьте реализацию методов из кода движка в вашу собственную реализацию, либо измените исходный код движка, чтобы экспортировать все методы для связывания, а не только API.

...