Полезное

Мы Вконтакте

Discord канал

#
12
След.
Модератор: Di-Crash
Пользователь
Сообщения: 558
А вот например сейчас учу АИ, и мне без циклов с массивами там просто невозможно действовать подобным образом. И мне придется действовать более - менее правильно.

Кстати вернулся к повторному просмотру уроков Flakkу(про массивы) когда мне эти массивы конкретно понадобились, а именно что бы мобы окружали игрока. И второй раз урок пошел всяко лучше и понятнее.
Аватара пользователя
Администратор
Сообщения: 1581
Прытков Саша писал(а):
если моя игра будет прикольная, без жестких багов и не будет лагать, вообще пофиг че там за код))


Ну так может у вас лагать не будет, а у другого будет. Так что нужно писать оптимизированный код, а не кое какой. И ещё желательно тестировать свой код и отлаживать..

Вот например код моей игры на большом компе выдает 5мс в кадр, а вот на планшете уже 20мс в кадр. Более того, до оптимизации и на большом компе вызывало 30мс после определенного уровня. 30 мс это уже очень много.. Это всего лишь 30 кадров в секунду. А процессор у меня из мощного класса предпоследнего поколения. А минимальные требования должны быть ПК 10 летней давности у меня да ещё и среднего класса. Так что это вообще не вариант был. А это ещё и прототип :D

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


смотря какого кода, если этот "обычный" код будет типа как от меня, то не факт))

я думаю стандартные ноды работают не медленнее чем скрипты c++, чем они по сути и являются, другое дело нагружает систему компоненты акторов, например тот же character movement содержит в себе кучу переменных флоат, как и другие компоненты, вот эти самые компоненты и загружают систему сильно, также сильно загружают систему мощные скрипты на event tice, или кривые. С event tic не шучу не разу, только когда 10 раз убежусь что без него никак, использую его. Для меня лучше будет отказаться от реализации какой то идеи, чем криво вешать ее на евент тик.
Аватара пользователя
Администратор
Сообщения: 1581
Прытков Саша писал(а):
Flakky писал(а):
Так что оптимизация кода это очень важно. Особенно учитывая то, что блупринты медленнее раз в 10 обычного кода.


смотря какого кода, если этот "обычный" код будет типа как от меня, то не факт))

я думаю стандартные ноды работают не медленнее чем скрипты c++, чем они по сути и являются, другое дело нагружает систему компоненты акторов, например тот же character movement содержит в себе кучу переменных флоат, как и другие компоненты, вот эти самые компоненты и загружают систему сильно, также сильно загружают систему мощные скрипты на event tice, или кривые. С event tic не шучу не разу, только когда 10 раз убежусь что без него никак, использую его. Для меня лучше будет отказаться от реализации какой то идеи, чем криво вешать ее на евент тик.


Открою секрет) В во многих нодах тоже внутри содержатся переменные, несколько функций и ещё много всего. Грубо говоря, в одной ноде может быть 10 функций, которые служат для корректного вывода всех выходных данных. И при вызове нода, внутри кода вызывается все эти 10 функций для того, что бы эта нода отработала свой функционал, даже если часть из этого фунуционала не используется. И может быть не 10 функций, а 20, 30, 50, 100. Зависит от функций.. Например функция linetrace. Для вас просто функция, но внутри наверняка не один цикл, особенно в MultiLinetrace. Более того, куча проверок и функций проверки данных о столкновении и объекте, с которым столкнулся трейс. На каждый вывод (которых в трейсе очень много из-за структуры Hit) наверняка есть функция своя внутри. Все это очень ресурсоемко, если сравнивать с обычным кодом.

Именно поэтому блупринты гораздо медленнее чем С++. А не этот самый компонент, который сам написан на С++ и использует только те функции, которые ему нужны. Если воссоздать такой компонент на блупринтах, думаю, что игра выше 30фпс не выдаст :D

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

p.s. я прекрасно понимаю что некоторые ноды это серьезные скрипты, своему знакомому так нахваливаю прелести Unreal, вот говорю раньше людям надо было написать кучу кода, а теперь тоже самое можно получить одной нодой.
Аватара пользователя
Пользователь
Сообщения: 213
Для первых шагов и правда лишь бы работало, это по большому счету делается для себя, и друзьям похвастаться. оптимизация и упрощение, придут сами никуда от этого не деться, но на начальном этапе это не должно тебя тормозить, иначе можно зарыться в оптимизацию и потерять всякий творческий интерес.
Пользователь
Сообщения: 558
Хадиков Заур писал(а):
Для первых шагов и правда лишь бы работало, это по большому счету делается для себя, и друзьям похвастаться. оптимизация и упрощение, придут сами никуда от этого не деться, но на начальном этапе это не должно тебя тормозить, иначе можно зарыться в оптимизацию и потерять всякий творческий интерес.

мудрые слова


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

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