Полезное

Мы Вконтакте

Discord канал

#
Модератор: icms
Аватара пользователя
Пользователь
Сообщения: 39
Занимаюсь разработкой головоломки. Почти всю логику делаю в LvL Blueprint. Почему-то когда другие пользователи UE4 узнают о том, что я почти не работаю c Blueprint Class, все говорят что это не правильно, но почему, объяснить не могут. Вот зачем мне использовать Blueprint Class, если его кроме этого уровня нигде не будет?
Аватара пользователя
Пользователь
Сообщения: 4069
всё зависит от конкретной игры, в твоей игры можно будет сохранится и выйти в середине уровня?
Аватара пользователя
Пользователь
Сообщения: 39
да, сохранение происходит автоматически, сразу после выхода с уровня. Только если его потом выбрать, он начнётся с начала. начинать его с середины нет смысла так как:
1. это в концепцию игры не вписывается.
2. по своим масштабам уровень можно назвать миниатюрным.
Аватара пользователя
Пользователь
Сообщения: 4069
GR1D0 писал(а):
да, сохранение происходит автоматически, сразу после выхода с уровня. Только если его потом выбрать, он начнётся с начала. начинать его с середины нет смысла так как:
1. это в концепцию игры не вписывается.
2. по своим масштабам уровень можно назвать миниатюрным.


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

p.s. с большей долей вероятности ты пользуешься левел блупринтом из за нубства))
Аватара пользователя
Пользователь
Сообщения: 469
Насчёт нубства оно конечно может быть, но насчёт типа игры и полного отсутствия другиих карт и т.д. и тп. оно по другому. В данном раскладе использовать лбп гораздо удобней хотя бы потому что отваливается большой кусок кастов и интерфейсов. И если это головоломка не исключено что самостоятельных экторов там вообще и нет.
А насчёт нагромождения кода, то правильно использовать функции (если этот кусок кода многоразовый) да и просто колапсить и подписывать явные места. Не тянуть связи через всё поле. Тут конечно если человек никогда буковки не писал сам в редакторе сложнее организацию соорудить.
_________________
Project SKIT
Аватара пользователя
Пользователь
Сообщения: 105
В UDK вроде все и было в одном блупринте, а потом появился UE4 и всех разбаловал.

По сути никакой разницы, где ты все прописываешь.

Некоторые говорили что если все сваливать в левел блупринт игра чуть больше тормозит. Но разница цифр что мне приводили почти не имела разницы. Так что делай как тебе удобно.
Последний раз редактировалось NeedHelp 06 окт 2017, 10:58, всего редактировалось 1 раз.
Аватара пользователя
Пользователь
Сообщения: 39
Prytaleks писал(а):
p.s. с большей долей вероятности ты пользуешься левел блупринтом из за нубства))

А, ну всё ясно). Спасибо что разъяснили.
Аватара пользователя
Администратор
Сообщения: 1581
GR1D0 писал(а):
Prytaleks писал(а):
p.s. с большей долей вероятности ты пользуешься левел блупринтом из за нубства))

А, ну всё ясно). Спасибо что разъяснили.


Ну на самом деле он прав. Конечно не так грубо, но из-за вашей неопытности..

Использование Лвл БП попросту неудобно. Да, там можно написать логику, и все будет прекрасно работать, но это не есть правильно, так как существуют более удобные и правильные способы, о которых вы пока не знаете. Это как копать яму ложкой. Да, так можно, и вам кажется это нормальным, но только потому, что у вас нет лопаты. Конечно же я не говорю уже о том, что вас ни на какую работу после такого не возьмут. :)

Вот представьте себе ситуацию.
У вас есть какой-то объект, при нажатии на который он передвигается (типично для головоломки). И такой объект не один. Например шашки, простой пример. Как вы их будете делать в ЛВЛ БП? Копипастить логику? Делая куча событий для каждой шашки? А что если эти объекты динамически спаунятся? Как быть?
Вот в таком случае удобно создать Эктор класс, в нем поместить модельку, написать логику реакции на нажатие и просто размещать/спаунить на сцене их. Ничего копипастить не нужно, не нужно плодить кучу событий. К ним легко обратиться (кстати никакие касты и интерфейсы не нужны, кто-то выше писал), удобно добавлять свойства (жизни, силу и прочее) и оперировать ими..

И кстати про свойства. Я вообще не представляю, как можно через Лвл БП давать свойства объектам, не говоря уже об их настройке.. Например те же жизни, силу и прочее. Это придется целые массивы отдельно хранить.

В общем это как писать программу в одном файле, а не делить на классе. Там будет сотни тысяч строк кода, которые не разобрать, а так все будет удобно. И стоит вообще запомнить такую вещь: "Переменные и логику вы пишете там, к чему они принадлежат.". Это значит, что не нужно поведение объектов писать в блупринте уровня, они не уровню принадлежат. Не стоит программировать персонажа в классе игрового режима, не стоит делать игровые правила в классе пользовательского интерфейса, ну и так далее.

Вот вам и объяснение. Так что да, вы делаете неправильно и по неопытности. По началу некоторые вещи действительно кажутся удобными, так как вы их легко понимаете. Но когда вы поймете ООП, вы сразу перестанете думать так) Не переживайте, это было со всеми. Я тоже в начале не понимал, зачем плодить кучу классов и функций. Теперь думаю, что без этого никак..
_________________
Просьба, не писать вопросы по движку в ЛС. Я не единственный, кто знает UE4, и поэтому пишите на форум или в группу.


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

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