Макрос это просто кусок кода (он своего рода шаблон), который можно вставлять в любую часть программы, чтобы его не повторять по новой, и в программе его нельзя запустить отдельно так как он не существует, он как команда "Копировать" (само тело макроса) и "Вставить" (вставляем сам код в нужное место). И так как макрос это просто "сложенный код", то к макросу применимы ноды, которые работают с кодом, но не могут работают с функцией, так как функция это как своеобразная отдельная готовая программа (или скорее объект из ООП). С помощью макроса можно просто сделать компактнее и красивее связи в блупринтах. Скажем вам нужно повторять какое-то действие много много раз в коде, функция для этого не подойдет так как она отдельный объект, а макрос это просто код и мы вставим этот кусок кода куда нам нужно. Или с форума unreal лучше аналогия: Вам нужно сделать 10 автомобилей. Вы строите 1 завод и на нем делаете 10 автомобилей - это функция. А макрос - вы строите 10 заводов, и на каждом производите по 1 автомобилю. PS. Flakky (автор канала) жив, он написал недавно комменты на хабре, он там кстати частенько бывает. Забросил канал возможно от творческого выгорания или занят над каким-то серьезным проектом. Ютюб канал вряд ли даёт хороший доход, так как он специфический (unreal это же не трендовая вещь, как видео про сладкую вату из сникерса), а жить на что-то нужно.
Кто играл в ммо рпг , тот поймет ,в world of warcraft есть макросы Суть его в том что бы можешь запихнуть в одну команду много разных команд и одним нажатием делать сразу много каких-то конкретных действий Это делает игру проще. и суть в том что место меньше занимает на панели, так же и тут Макрос сделал, вставил его и визуально занимает меньше места
Я правильно понимаю, что макросы больше похожи на inline функции или, собственно, макросы в C++, а wildcard - это плюсовый шаблон? По крайней мере, их поведение больше похоже именно на то, что я описал
Спасибо тебе большое, очень всё подробно и понятно объясняешь, не заговариваешься, всё по теме и по порядку разбираешь)) сильно удивляюсь почему твой канал столь не популярен каким он не должен быть. Благодаря тебе постепенно двигаюсь к своей задумке по созданию ммо рпг, продолжай в том же духе, Ты помогаешь людям реализовать их не большие, так сказать, мечты)
Блин, чел, до этого мне очень нравились твои уроки, но здесь какой-то хаос, ты всё время перескакиваешь с одного вопроса на другой и уже полностью теряется ход мысли, которую ты хочешь донести. Хотелось бы, чтобы информация подавалась более последовательно, а не так хаотично, я раз по 20 пересматриваю один и тот же момент, чтобы понять о чём речь вообще. И не понятно зачем ты про description и keywords снова рассказал, это уже было в предыдущем уроке
Это хотя бы хоть какой то толковый урок по блюпринтам, но с тобой соглашусь на 120%. Он постарался выложить уроки по Unreal Engine и вот такие уроки (особенно по программированию C++ у SimpleCode), вдохновляют и побуждают сделать на основе этого даже лучше уроки по подобной тематике самому (щас этим и занимаюсь, хотя и подумываю не делать этого чтобы те люди которые смотрят это прошли сквозь такой "ад" вместе со мной и вкусили все "прелести" трудностей, ну а пока что... "тихо иду вперёд")
@@КириллДрагонов-п3и Привет давай сконнектимся , есть отличная тема для разговора. Тут вроде передавать контакты нельзя, поэтому я вставлю их в описание своего канала. Отпиши мне как увидишь пожалуйста.
Тут еще кажется такой момент. Функции, после сборки, вызываются из одного куска кода сколько угодно раз, макросы тупо дублируют куски кода. Если многократно использовать один макрос в коде, экономнее делать это через Custom Event. Поправьте, если я ошибаюсь.
хм. лупы типо for loop тоже в виде макросов сделаны. И если они разворачиваются и их внутренние переменные доступны как остальные, то получается что тут обычного (в понимании с++) лупа фор нету ??? for (int i=0;i
На английском сайте прочитал, что функция всегда срабатывает мгновенно, а в макрос можно например поставить ноду delay (в функцию нельзя), и он будет выполняться тогда в течение какого-то времени (времени этого дилэя). Это так? Поэтому нельзя вставить макрос в функцию? И можно ли например сделать так, чтобы из макроса 1 запускался макрос 2 в котором есть дилэй, но макрос 1 продолжался сразу, а НЕ после того, как макрос 2 закончится?
По последнему вопросу: решил что макрос 2 надо запускать не напрямую, а через Custom Event, который сначала надо создать в Event Graph. Еще 1 вопрос: правда ли что рекурсия в макросах (макрос 1 запускает макрос 2, который может запустить макрос 1) всегда вызывает краш на этапе компиляции?
Если правильно понял, то макрос-это, грубо говоря, компактная упаковка куска кода. Но раньше я думал, что эту роль играет функция. Теперь непонятно, для чего тогда нужны функции, в чем их преимущество перед макросами
Функция это подпрограмма, для которой существует свой отдельный стэк. Когда вызывается подпрограмма, меняется контекст процессора, так же функция имеет свою отдельную область видимости переменных, которая изолирована от внешнего скоупа (области видимости). А макрос это просто кусок кода, который будет подставлен в текст программы и всё. Зачем оно нужно в блюпринтах сразу и не ясно....
Я так и не понял, макрос чем отличается от функции? Тот макрос с бранчем, который ты сделал со временем и разделением - можно создать точно такую же функцию, она тоже будет одним блоком. В чём разница то?
Наверное спустя год ты уже понял в чём отличие, но, отличие в том что после функций коды не работает, а после макроса можно дальше команды(коды, блоки) создавать
как я понял, макросы очень полезны для сюжетной игры. например персонажу надо куда то войти, он вошёл, что то сделал и вышел. больше он обратно зайти не может так как макрос выключен
Привет, я загрузил последнюю версию движка Unreal Engine. Я хочу создать игру. Вы знаете игру Call of Duty. Могу ли я создать такую игру на своем движке или это невозможно?
Во-первых у тебя нет своего движка. Во-вторых повторить геймплей, графику и всё остальное думаю можно на 99% в UE4. Но даже если ты сможешь запрограммировать всю логику игры, где ты возьмешь ассеты? Модельки, анимации, эффекты, звуки...
Если вывести в макросе print string а потом в event графе после него принт стринг, то сначало сработает тот что в графе а потом уже тот что в макросе, почему так? Если код идет напрямую то должно быть все по порядку а не с конца?
если будешь ещё делать видосы, можешь рассказать как сделать запретные зоны как в хитмане, ну то есть например ты зашёл на запретную зону и охранник (нпс) будет тебя атаковать а если ты стоишь не в запретной зоне он тебя атаковать небудет?
Да, типа того. Макрос это алиас блока кода, который препроцессор просто подставит в то место, где был указан макрос. В язык добавлена эта фича для сокращения кода и удобства написания кода. Синтаксический "сахар". Зачем оно в блюпринтах, не совсем ясно...
используется апи и http запросы, почитай если по просому апи это сервис который обеспечивает взаимодействие сервака с клиентским приложением, не важно игра это или сайт или приложение
Switch это не аналог While в С++. While это цикл(который итерируется пока выражение истина) Switch же это оператор множественного выбора и является аналогом if (ветвления). Do While отличается от While тем что в While сначала идет проверка(выражение) потом тело цикла, а в Do While наоборот сначала тело цикла потом проверка(выражение).
Все можно возвращать в си ++ Пример со структурой: c++ struct MyStruct { int a; double b; char c; }; MyStruct myFunction() { MyStruct result; result.a = 10; result.b = 3.14; result.c = 'x'; return result; } int main() { MyStruct s = myFunction(); cout
кроме циклов нихрена не понятно(((( объясняй пожалуйста не так резко и бегло, маячишь этими функциями,дергаешь их туда сюда, многое рассказываешь идеально, но местами унизительно больно.
@@ArthurPozhidayev вот про директивы речи не было, хотя, имхо, это их главная польза с точки зрения оптимизации работы кода. Хотя я сам на практике этого ни разу не делал)
Это как в онлайн играх макросы есть, доступным языко, КОД который ты пишешь в функциях например(а так же сами функции), его можно вообразить в макросе, это как скилы постоянные которые тебе надо использовать автоматом то есть при вызове макроса, вся твоя написаная стрепня внутри, каак и в функциях будет задействоватся внутри, это почти как и функция в одном блоке так же и макрос, просто для удобства сделано по большей части чтоб много места не занимало и не путаться... Можешь и без макросов впринципе делать все... :)
>> "Но, как говорится, это не вам решать"
Проорал)
хихи
тоже)))
ага
Макрос это просто кусок кода (он своего рода шаблон), который можно вставлять в любую часть программы, чтобы его не повторять по новой, и в программе его нельзя запустить отдельно так как он не существует, он как команда "Копировать" (само тело макроса) и "Вставить" (вставляем сам код в нужное место). И так как макрос это просто "сложенный код", то к макросу применимы ноды, которые работают с кодом, но не могут работают с функцией, так как функция это как своеобразная отдельная готовая программа (или скорее объект из ООП).
С помощью макроса можно просто сделать компактнее и красивее связи в блупринтах.
Скажем вам нужно повторять какое-то действие много много раз в коде, функция для этого не подойдет так как она отдельный объект, а макрос это просто код и мы вставим этот кусок кода куда нам нужно.
Или с форума unreal лучше аналогия: Вам нужно сделать 10 автомобилей. Вы строите 1 завод и на нем делаете 10 автомобилей - это функция. А макрос - вы строите 10 заводов, и на каждом производите по 1 автомобилю.
PS. Flakky
(автор канала) жив, он написал недавно комменты на хабре, он там кстати частенько бывает. Забросил канал возможно от творческого выгорания или занят над каким-то серьезным проектом. Ютюб канал вряд ли даёт хороший доход, так как он специфический (unreal это же не трендовая вещь, как видео про сладкую вату из сникерса), а жить на что-то нужно.
Прям успокоил, спасибо
и чё по итогу то, из сникерса норм вата или фигня?
Спасибо разъяснение по этим двум вопросам👍
Программистам всё понятно) Но, блин, бедные новички..
Программисты и так знали что такое макрос в C++ )
Спасибо тебе за понятные уроки по ue4, очень жаль что ты давно ничего не выпускал :(
Где новые уроки по unreal engine?
Незнаю
где он ктото знает ?
@@twinsmusiccafe живой он, просто ушёл в другой проект. vk.com/flakky
Спасибо за урок, всё понятно!
Спасибо. Очень подробно. Не понимаю комментаторов которые жалуются )
Уроки классные! Всегда ставьте лайки!
Кто играл в ммо рпг , тот поймет ,в world of warcraft есть макросы
Суть его в том что бы можешь запихнуть в одну команду много разных команд и одним нажатием делать сразу много каких-то конкретных действий
Это делает игру проще. и суть в том что место меньше занимает на панели, так же и тут
Макрос сделал, вставил его и визуально занимает меньше места
Я правильно понимаю, что макросы больше похожи на inline функции или, собственно, макросы в C++, а wildcard - это плюсовый шаблон? По крайней мере, их поведение больше похоже именно на то, что я описал
Канал заброшен?
Нас отставили, это судьбы любого блупринтера наглядным примером
Это здорово, значит чел работает, что значит не зря он это всё умеет, что значит что надо тоже уметь для того чтобы зарабатывать
@@dan323609 Необязательно, он ведь мог и умереть(надеюсь, нет))))
@@medvital живой он, просто ушёл в другой проект. vk.com/flakky
@@Maxim_Chugurov форум мёртв, регаться не даёт, уроков больше нет, походу всё умерло :(
Спасибо тебе!
Блиин, это лучше чем функция. У него можно создать входные и выходние переменные с точным путём.
Её можно изпользовать только в блупринте, где макрос создан, а фунции, можно изпользовать в любых блупринтах
Зато в функциях нельзя использовать латентные блоки@@TheArtyur2006RU
Всё?😥 Уроки закончились?😪😭
Вот это да! У меня теперь вкладка с подписками вся в твоих видео
2:58 Вы получаете награду "Бесполезная херня года"
А так спасибо! Урок как всегда крутой!
Спасибо тебе большое, очень всё подробно и понятно объясняешь, не заговариваешься, всё по теме и по порядку разбираешь)) сильно удивляюсь почему твой канал столь не популярен каким он не должен быть. Благодаря тебе постепенно двигаюсь к своей задумке по созданию ммо рпг, продолжай в том же духе, Ты помогаешь людям реализовать их не большие, так сказать, мечты)
Блин, чел, до этого мне очень нравились твои уроки, но здесь какой-то хаос, ты всё время перескакиваешь с одного вопроса на другой и уже полностью теряется ход мысли, которую ты хочешь донести. Хотелось бы, чтобы информация подавалась более последовательно, а не так хаотично, я раз по 20 пересматриваю один и тот же момент, чтобы понять о чём речь вообще. И не понятно зачем ты про description и keywords снова рассказал, это уже было в предыдущем уроке
Это хотя бы хоть какой то толковый урок по блюпринтам, но с тобой соглашусь на 120%. Он постарался выложить уроки по Unreal Engine и вот такие уроки (особенно по программированию C++ у SimpleCode), вдохновляют и побуждают сделать на основе этого даже лучше уроки по подобной тематике самому (щас этим и занимаюсь, хотя и подумываю не делать этого чтобы те люди которые смотрят это прошли сквозь такой "ад" вместе со мной и вкусили все "прелести" трудностей, ну а пока что... "тихо иду вперёд")
@@КириллДрагонов-п3и Привет давай сконнектимся , есть отличная тема для разговора. Тут вроде передавать контакты нельзя, поэтому я вставлю их в описание своего канала. Отпиши мне как увидишь пожалуйста.
оставил тг и вк.
@@TOPBORODA я прочитал ваше сообщение.
Спасибо что уделяете мне внимание.
@@КириллДрагонов-п3и ну так выходите на связь)
Думал что я один тупой, почитав комменты понял, что реально сложный урок ))
Уроки классные, длительность норм ведь всё по существу.
куда пропал?) Даже не закончил официально обучение(
Ребят курсы актуальны??
Интересно куда вы пропали
Ты куда пропал?)
@Железный чебурек Спасибо😄
ОЧЕНЬ запутанный урок!!! Вы вообще не составляете план урока перед созданием видео?
Тут еще кажется такой момент. Функции, после сборки, вызываются из одного куска кода сколько угодно раз, макросы тупо дублируют куски кода. Если многократно использовать один макрос в коде, экономнее делать это через Custom Event. Поправьте, если я ошибаюсь.
В какой то момент надоело ставить на паузу, т.к. не успевал, поставил на скорость 0.5, хорошо посмеялся )))
хм. лупы типо for loop тоже в виде макросов сделаны. И если они разворачиваются и их внутренние переменные доступны как остальные, то получается что тут обычного (в понимании с++) лупа фор нету ???
for (int i=0;i
На английском сайте прочитал, что функция всегда срабатывает мгновенно, а в макрос можно например поставить ноду delay (в функцию нельзя), и он будет выполняться тогда в течение какого-то времени (времени этого дилэя). Это так? Поэтому нельзя вставить макрос в функцию? И можно ли например сделать так, чтобы из макроса 1 запускался макрос 2 в котором есть дилэй, но макрос 1 продолжался сразу, а НЕ после того, как макрос 2 закончится?
По последнему вопросу: решил что макрос 2 надо запускать не напрямую, а через Custom Event, который сначала надо создать в Event Graph. Еще 1 вопрос: правда ли что рекурсия в макросах (макрос 1 запускает макрос 2, который может запустить макрос 1) всегда вызывает краш на этапе компиляции?
Если правильно понял, то макрос-это, грубо говоря, компактная упаковка куска кода. Но раньше я думал, что эту роль играет функция. Теперь непонятно, для чего тогда нужны функции, в чем их преимущество перед макросами
преимущество в том, что в конце выполнения все переменные объявленые внутри функции уничтожаются , а в макросах придется это прописывать отдеально
Функция это подпрограмма, для которой существует свой отдельный стэк. Когда вызывается подпрограмма, меняется контекст процессора, так же функция имеет свою отдельную область видимости переменных, которая изолирована от внешнего скоупа (области видимости). А макрос это просто кусок кода, который будет подставлен в текст программы и всё. Зачем оно нужно в блюпринтах сразу и не ясно....
Что с каналом, где еще уроки? :(
Я так и не понял, макрос чем отличается от функции? Тот макрос с бранчем, который ты сделал со временем и разделением - можно создать точно такую же функцию, она тоже будет одним блоком. В чём разница то?
Наверное спустя год ты уже понял в чём отличие, но, отличие в том что после функций коды не работает, а после макроса можно дальше команды(коды, блоки) создавать
Что-то беда какая-то с уроком. В этом уроке вообще непонятно. С места на место скачешь. Этот урок нужно разбить на урока 3-4.
Спасибо!
Где новый видео?
как говорил ельцин "я устал"
Ты прав...
Если бы к меня был бы мошный компютер то я бы многово сделал на Unreal Engine 4...
как я понял, макросы очень полезны для сюжетной игры. например персонажу надо куда то войти, он вошёл, что то сделал и вышел. больше он обратно зайти не может так как макрос выключен
пацаны! если у вас хотя бы посредственный английский, качайте буржуйские туторы, там все по полочкам и без этой каши
Ты что ушёл с ютуба?
Привет, я загрузил последнюю версию движка Unreal Engine. Я хочу создать игру. Вы знаете игру Call of Duty. Могу ли я создать такую игру на своем движке или это невозможно?
Во-первых у тебя нет своего движка. Во-вторых повторить геймплей, графику и всё остальное думаю можно на 99% в UE4. Но даже если ты сможешь запрограммировать всю логику игры, где ты возьмешь ассеты? Модельки, анимации, эффекты, звуки...
Вы прекрасно знаете, как экспортировать модель в нереальную в Quixel?
Канал заброшен???
А чего я не могу зарегистрироваться на сайте uengine.ru?
Спасибо автор, вернись на канал!
Если вывести в макросе print string а потом в event графе после него принт стринг, то сначало сработает тот что в графе а потом уже тот что в макросе, почему так? Если код идет напрямую то должно быть все по порядку а не с конца?
где ты ?
если будешь ещё делать видосы, можешь рассказать как сделать запретные зоны как в хитмане, ну то есть например ты зашёл на запретную зону и охранник (нпс) будет тебя атаковать а если ты стоишь не в запретной зоне он тебя атаковать небудет?
Посмотри его видос про ботов
Max Max я все пересмотрел, но там нету
Он в не помню точно в каком кроке создавал бота . Ты берешь етого бота и делаешь тригер на запретную зону . На которого бот тригерется
Max Max ааа всё нашёл спс
)))
макрос=контейнер в общем. кэп :)
лень проверять. выделив ноды, их можно упаковать в контейнер? (простите.. в макрос) Или вырезать-вставлять и тд?
Да, типа того. Макрос это алиас блока кода, который препроцессор просто подставит в то место, где был указан макрос.
В язык добавлена эта фича для сокращения кода и удобства написания кода. Синтаксический "сахар".
Зачем оно в блюпринтах, не совсем ясно...
Слушай ты создал онлайн шутер, а вот например как сделать магазин покупки скинов и прочее на сайте, так как сказать синхронизации сайта с игрой
используется апи и http запросы, почитай если по просому апи это сервис который обеспечивает взаимодействие сервака с клиентским приложением, не важно игра это или сайт или приложение
Вот Switch это аналог While в С++, а есть ли какой нибудь аналог Do While?
Switch это не аналог While в С++.
While это цикл(который итерируется пока выражение истина)
Switch же это оператор множественного выбора и является аналогом if (ветвления).
Do While отличается от While тем что в While сначала идет проверка(выражение) потом тело цикла, а в Do While наоборот сначала тело цикла потом проверка(выражение).
@@АндрейФоменский когда switch блюпринта не аналог switch c++
Ребят, кому интересно полноценное изучение движка Unreal Engine (игры и видеопродакшен), есть интересное предложение, пишите.
и какое же предложение ?
Все можно возвращать в си ++
Пример со структурой:
c++
struct MyStruct {
int a;
double b;
char c;
};
MyStruct myFunction() {
MyStruct result;
result.a = 10;
result.b = 3.14;
result.c = 'x';
return result;
}
int main() {
MyStruct s = myFunction();
cout
inline MyStruct foo() { return {10, 3.14, 'x'} }
@@4malgama ну или так, в любом случае автор наврал))
Можно было поподробнее рассказать про новые ноды и их свойства
Вы живы хоть ?
Привет, всем)
кроме циклов нихрена не понятно(((( объясняй пожалуйста не так резко и бегло, маячишь этими функциями,дергаешь их туда сюда, многое рассказываешь идеально, но местами унизительно больно.
На какую кнопку выравнивать ноды?
Хоткеи на выравнивание по-дефолту отключены, но можно настроить в Editor Preferences. Вбей в поиске Align и назначь свои.
Q
А вообще выделяешь нужные ноды, правой кнопкой по одной из них, и там находишь пункт "Alignment"
23 минуты не так много, учитывая что ваши ролики смотрю на скорости 2х
госпаде я хочу умереть, мой мозг
Для чего нужен макрос, одна вода, область применения его
Да, а так по сути новичку туговато ооочень это понять, как и мне собственно... Не с первого и не второго раза понимаю к чему это все катится... :D
Макрос как inline?
Если в контексте языка C/C++, то как #define
@@ArthurPozhidayev вот про директивы речи не было, хотя, имхо, это их главная польза с точки зрения оптимизации работы кода. Хотя я сам на практике этого ни разу не делал)
моя бошкаааааааааааааааааа
Вообще по макросам ничего не понял !!! толи я такой тупой толи объяснение какие то сумбурные?
ля, а как всё запомнить?
Сложно сходу новичку понять.
ваще не понятно. Начиная с самого главного - какова миссия макросов, 3ачем они ну3ны вообще
Это как в онлайн играх макросы есть, доступным языко, КОД который ты пишешь в функциях например(а так же сами функции), его можно вообразить в макросе, это как скилы постоянные которые тебе надо использовать автоматом то есть при вызове макроса, вся твоя написаная стрепня внутри, каак и в функциях будет задействоватся внутри, это почти как и функция в одном блоке так же и макрос, просто для удобства сделано по большей части чтоб много места не занимало и не путаться... Можешь и без макросов впринципе делать все... :)
или всю информацию дали
Yu can all the worldW !!
Информация
чёт сложна.
Автор ты умер?
Делаю огромный проект на подобии ГТА5. Нужна твоя помощь. Помоги, пожалуйста. (UE5)
сложноооооооооо
Не извиняюсь а извините
sites.google.com/view/ue4help/главная-страница
Developer
чё ты дёргаешься? нихера не понятно
Макросы фигня, вот дойдёте до ООП, вот там станет напряжно.
обычно так про ООП пишут только те кто не понимает вообще что это такое)
@@ARTSKYShow Да я даже не знаю, что эта аббревиатура означает. Организация Освобождения Палестины, не?
Спасибо!
Спасибо!