Показываю, что такое Макро функции и для чего они нужны. Полезные ссылки: Наш форум - uengine.ru/forum/ Наша группа в ВК - uengine Пожертвования - uengine.ru/donation Наш Discord - / discord
Макрос это просто кусок кода (он своего рода шаблон), который можно вставлять в любую часть программы, чтобы его не повторять по новой, и в программе его нельзя запустить отдельно так как он не существует, он как команда "Копировать" (само тело макроса) и "Вставить" (вставляем сам код в нужное место). И так как макрос это просто "сложенный код", то к макросу применимы ноды, которые работают с кодом, но не могут работают с функцией, так как функция это как своеобразная отдельная готовая программа (или скорее объект из ООП). С помощью макроса можно просто сделать компактнее и красивее связи в блупринтах. Скажем вам нужно повторять какое-то действие много много раз в коде, функция для этого не подойдет так как она отдельный объект, а макрос это просто код и мы вставим этот кусок кода куда нам нужно. Или с форума unreal лучше аналогия: Вам нужно сделать 10 автомобилей. Вы строите 1 завод и на нем делаете 10 автомобилей - это функция. А макрос - вы строите 10 заводов, и на каждом производите по 1 автомобилю. PS. Flakky (автор канала) жив, он написал недавно комменты на хабре, он там кстати частенько бывает. Забросил канал возможно от творческого выгорания или занят над каким-то серьезным проектом. Ютюб канал вряд ли даёт хороший доход, так как он специфический (unreal это же не трендовая вещь, как видео про сладкую вату из сникерса), а жить на что-то нужно.
хм. лупы типо for loop тоже в виде макросов сделаны. И если они разворачиваются и их внутренние переменные доступны как остальные, то получается что тут обычного (в понимании с++) лупа фор нету ??? for (int i=0;i
Спасибо тебе большое, очень всё подробно и понятно объясняешь, не заговариваешься, всё по теме и по порядку разбираешь)) сильно удивляюсь почему твой канал столь не популярен каким он не должен быть. Благодаря тебе постепенно двигаюсь к своей задумке по созданию ммо рпг, продолжай в том же духе, Ты помогаешь людям реализовать их не большие, так сказать, мечты)
Если вывести в макросе print string а потом в event графе после него принт стринг, то сначало сработает тот что в графе а потом уже тот что в макросе, почему так? Если код идет напрямую то должно быть все по порядку а не с конца?
Блин, чел, до этого мне очень нравились твои уроки, но здесь какой-то хаос, ты всё время перескакиваешь с одного вопроса на другой и уже полностью теряется ход мысли, которую ты хочешь донести. Хотелось бы, чтобы информация подавалась более последовательно, а не так хаотично, я раз по 20 пересматриваю один и тот же момент, чтобы понять о чём речь вообще. И не понятно зачем ты про description и keywords снова рассказал, это уже было в предыдущем уроке
Это хотя бы хоть какой то толковый урок по блюпринтам, но с тобой соглашусь на 120%. Он постарался выложить уроки по Unreal Engine и вот такие уроки (особенно по программированию C++ у SimpleCode), вдохновляют и побуждают сделать на основе этого даже лучше уроки по подобной тематике самому (щас этим и занимаюсь, хотя и подумываю не делать этого чтобы те люди которые смотрят это прошли сквозь такой "ад" вместе со мной и вкусили все "прелести" трудностей, ну а пока что... "тихо иду вперёд")
@@user-gv9px9ix9e Привет давай сконнектимся , есть отличная тема для разговора. Тут вроде передавать контакты нельзя, поэтому я вставлю их в описание своего канала. Отпиши мне как увидишь пожалуйста.
Тут еще кажется такой момент. Функции, после сборки, вызываются из одного куска кода сколько угодно раз, макросы тупо дублируют куски кода. Если многократно использовать один макрос в коде, экономнее делать это через Custom Event. Поправьте, если я ошибаюсь.
Кто играл в ммо рпг , тот поймет ,в world of warcraft есть макросы Суть его в том что бы можешь запихнуть в одну команду много разных команд и одним нажатием делать сразу много каких-то конкретных действий Это делает игру проще. и суть в том что место меньше занимает на панели, так же и тут Макрос сделал, вставил его и визуально занимает меньше места
Я правильно понимаю, что макросы больше похожи на inline функции или, собственно, макросы в C++, а wildcard - это плюсовый шаблон? По крайней мере, их поведение больше похоже именно на то, что я описал
На английском сайте прочитал, что функция всегда срабатывает мгновенно, а в макрос можно например поставить ноду delay (в функцию нельзя), и он будет выполняться тогда в течение какого-то времени (времени этого дилэя). Это так? Поэтому нельзя вставить макрос в функцию? И можно ли например сделать так, чтобы из макроса 1 запускался макрос 2 в котором есть дилэй, но макрос 1 продолжался сразу, а НЕ после того, как макрос 2 закончится?
По последнему вопросу: решил что макрос 2 надо запускать не напрямую, а через Custom Event, который сначала надо создать в Event Graph. Еще 1 вопрос: правда ли что рекурсия в макросах (макрос 1 запускает макрос 2, который может запустить макрос 1) всегда вызывает краш на этапе компиляции?
Я так и не понял, макрос чем отличается от функции? Тот макрос с бранчем, который ты сделал со временем и разделением - можно создать точно такую же функцию, она тоже будет одним блоком. В чём разница то?
Наверное спустя год ты уже понял в чём отличие, но, отличие в том что после функций коды не работает, а после макроса можно дальше команды(коды, блоки) создавать
как я понял, макросы очень полезны для сюжетной игры. например персонажу надо куда то войти, он вошёл, что то сделал и вышел. больше он обратно зайти не может так как макрос выключен
Switch это не аналог While в С++. While это цикл(который итерируется пока выражение истина) Switch же это оператор множественного выбора и является аналогом if (ветвления). Do While отличается от While тем что в While сначала идет проверка(выражение) потом тело цикла, а в Do While наоборот сначала тело цикла потом проверка(выражение).
если будешь ещё делать видосы, можешь рассказать как сделать запретные зоны как в хитмане, ну то есть например ты зашёл на запретную зону и охранник (нпс) будет тебя атаковать а если ты стоишь не в запретной зоне он тебя атаковать небудет?
Если правильно понял, то макрос-это, грубо говоря, компактная упаковка куска кода. Но раньше я думал, что эту роль играет функция. Теперь непонятно, для чего тогда нужны функции, в чем их преимущество перед макросами
Функция это подпрограмма, для которой существует свой отдельный стэк. Когда вызывается подпрограмма, меняется контекст процессора, так же функция имеет свою отдельную область видимости переменных, которая изолирована от внешнего скоупа (области видимости). А макрос это просто кусок кода, который будет подставлен в текст программы и всё. Зачем оно нужно в блюпринтах сразу и не ясно....
Да, типа того. Макрос это алиас блока кода, который препроцессор просто подставит в то место, где был указан макрос. В язык добавлена эта фича для сокращения кода и удобства написания кода. Синтаксический "сахар". Зачем оно в блюпринтах, не совсем ясно...
используется апи и http запросы, почитай если по просому апи это сервис который обеспечивает взаимодействие сервака с клиентским приложением, не важно игра это или сайт или приложение
Привет, я загрузил последнюю версию движка Unreal Engine. Я хочу создать игру. Вы знаете игру Call of Duty. Могу ли я создать такую игру на своем движке или это невозможно?
Во-первых у тебя нет своего движка. Во-вторых повторить геймплей, графику и всё остальное думаю можно на 99% в UE4. Но даже если ты сможешь запрограммировать всю логику игры, где ты возьмешь ассеты? Модельки, анимации, эффекты, звуки...
@@ArthurPozhidayev вот про директивы речи не было, хотя, имхо, это их главная польза с точки зрения оптимизации работы кода. Хотя я сам на практике этого ни разу не делал)
Все можно возвращать в си ++ Пример со структурой: 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
Это как в онлайн играх макросы есть, доступным языко, КОД который ты пишешь в функциях например(а так же сами функции), его можно вообразить в макросе, это как скилы постоянные которые тебе надо использовать автоматом то есть при вызове макроса, вся твоя написаная стрепня внутри, каак и в функциях будет задействоватся внутри, это почти как и функция в одном блоке так же и макрос, просто для удобства сделано по большей части чтоб много места не занимало и не путаться... Можешь и без макросов впринципе делать все... :)
кроме циклов нихрена не понятно(((( объясняй пожалуйста не так резко и бегло, маячишь этими функциями,дергаешь их туда сюда, многое рассказываешь идеально, но местами унизительно больно.