Полезное

Мы Вконтакте

Discord канал

#
Пред.
12
Модератор: icms
Аватара пользователя
Пользователь
Сообщения: 5
Всем привет! Помогите, пожалуйста разобраться с проблемой сохранения blueprint классов. Версия движка 4.15.3. Есть у меня родительский класс AmmoItemParent (он наследуется от Actor). У данного класса есть свойство AmmoType - это Enum (со значениями Armor, Melee, Range), по умолчанию - Armor. У этого класса есть наследник - MeleeWeaponItemParent, у него свойство AmmoType установлено как - Melee. От этого класса уже наследуется оружие ближнего боя. Сама механика у меня написана, всё работает, но время от времени я пытаюсь поднять например кинжал и он не поднимается, начинаю искать причину и вижу, что MeleeWeaponItemParent сбросил все свои свойства до родительского класса, т.е он стал Armor, а все кинжалы и прочее что наследуется сбросили уже свои свойства: иконки, размер атаки, кулдауны перезарядки и прочее. Уже запарился заново всё настраивать. Такая ерунда у меня бывает не только с оружием, но и с NPC, если диалоги или свойства прописаны в классе, то в один прекрасный момент всё может очиститься. И такая же проблема есть у класса противников, у родителя есть Editable массив, в котором я указываю маршрут патрулирования по TargetPoint'ам. Этот массив у меня вообще чуть ли не каждый день очищается. Может у кого-то была подобная проблема?
Сам я кстати склоняюсь к одной мысли... Я когда создал родительский класс оружия, мне не понравилось где он лежит и я его переместил потом в другую папку. С этими перемещениями у меня всегда почему-то проблемы, старая папка всё равно остается и в ней лежит типо ссылки на класс или еще что-то. Настоящий класс весит 560 кб, а ссылка (или что это такое непонятное там осталось) - 1 кб. В общем анриал как-то не до конца перемещает классы и может при запуске он что-то подгружает не оттуда откуда надо? Может тоже подскажите как правильно перемещать?
Аватара пользователя
Пользователь
Сообщения: 1341
Сделай установку свойств в конструкторе
_________________
прикрепленные картинки с radikal не смотрю.
Аватара пользователя
Пользователь
Сообщения: 4069
Greysvandir писал(а):
Настоящий класс весит 560 кб, а ссылка (или что это такое непонятное там осталось) - 1 кб. В общем анриал как-то не до конца перемещает классы и может при запуске он что-то подгружает не оттуда откуда надо? Может тоже подскажите как правильно перемещать?

да, при перемещении создается мусорная копия весом 1кб, из за этого бага может даже не запоковатся проект, все это надо почищать потом в виндовсе, нужно сверять количество файлов в движке и в виндовсе в той же папке, мусорные удалять обязательно, во всем остальном проблемы с логикой или техникой.
Аватара пользователя
Пользователь
Сообщения: 5
Про конструктор думал, но это показалось костылем больше, раз есть свойства хотелось бы ими пользоваться))
Попробую мусор почистить, спасибо!
Аватара пользователя
Пользователь
Сообщения: 5
Мусор почистил и 3 дня всё было хорошо, хотел уже обрадоваться, но вчера вечером очистился массив патрулирования, а сегодня утром у топора свойства очистились((( Самое дурацкое, что вечером вчера как раз на топоре анимации отлаживал, но свойства даже не трогал, когда выключал анриал проверил что всё хорошо, а сегодня включил и первым делом проверил все свойства и как раз у топора теперь всё чисто, всё перезаписалось от родительского класса.
Есть еще мысли куда посмотреть?
Чувствую так и придется в конструктор всё прописать.
Аватара пользователя
Пользователь
Сообщения: 5
Похоже это довольно распространенная проблема, Эпики говорят что в 4.17 версии вроде исправили, будем подождать.
Аватара пользователя
Пользователь
Сообщения: 4069
Greysvandir писал(а):
а сегодня включил и первым делом проверил все свойства и как раз у топора теперь всё чисто, всё перезаписалось от родительского класса.

была такая шняга и у меня, время от времени слетали настройки у потомков, но я зато пришел к новому способу который мне очень нравится и удобен, а именно описывать все в одном блюпринте, без всяких потомков, есть например 1 блюпринт бот, там описаны все гуманоиды, есть блюпринт оружие, там описано все оружие и т.д., с помощью интежеров или энумератион, и прочих операторов ветвления, получаешь с одного блюпринта все что хочешь. И настройки не спадают.
Аватара пользователя
Пользователь
Сообщения: 429
Цитата:
Похоже это довольно распространенная проблема, Эпики говорят что в 4.17 версии вроде исправили, будем подождать.

Эта проблема существует с самого начала UE4 - с 2012 по-моему и до сих пор не решена, так что "...держитесь тут, всего доброго" (с)Медведев. И что самое "смешное", что блупринты лишают возможности по-полной использовать преимущества ООП. Но... В самых первых версиях даже переопределения функций не было, прикинь? ))) Теперь оно есть, но всегда есть шанс поутру нарваться на такие вот штуки как у тебя. Лично я никогда не пользовался наследованием через BP, только на C++. Но можешь воспользоваться чудо костылем, описанным постом выше ))) В конце концов анриал тем и славен, что пользователи его постоянно используют костыли при работе с BP и не только )

ПиСя. Что до костылей, которыми пользовался я, то там все проще. Создается система наследования в C++ и в блупринт используется только для установки переменных и пееропределения некоторых методов (функций). При таком наследовании не было проблем со слетанием параметров дочерних классов. К тому же мне лично проще программировать текстом, старая школа, все дела ))) Наверное я не такой проДВИНУТЫЙ, как пользователи BP ))
Аватара пользователя
Пользователь
Сообщения: 2319
Greysvandir писал(а):
Похоже это довольно распространенная проблема, Эпики говорят что в 4.17 версии вроде исправили, будем подождать.

а есть ссылочка где пишут и что исправят?
Просто у меня многоуровневая система наследования и проблемы возникали только у тех акторов которые на уровень в едиторе выкинуты и уже на уровне какие-то переменные актора заданны, и потом поменять параметры в родителях. И вот при таком раскладе случаются глюки и даже краши движка. Лечится удалением и закидыванием акторов в уровень по новой. Но это происходит крайне редко.
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 2319
Prytaleks писал(а):
но я зато пришел к новому способу который мне очень нравится и удобен, а именно описывать все в одном блюпринте, без всяких потомков, есть например 1 блюпринт бот, там описаны все гуманоиды, есть блюпринт оружие, там описано все оружие и т.д., с помощью интежеров или энумератион, и прочих операторов ветвления, получаешь с одного блюпринта все что хочешь. И настройки не спадают.


viewtopic.php?p=38699#p38699
почитай книжку эту, серьезно, я сам только половину прочел правда, но дочитаю.
https://drive.google.com/open?id=0Bxg-a ... EZCM203SmM
_________________
we need to go deeper
Последний раз редактировалось Snake 25 июн 2017, 09:06, всего редактировалось 1 раз.


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница