Автор, за предыдущие видосы большое спасибо конечно, они хороши, но тут прям всё неверно рассказал. И то что в результате у тебя что то работает не доказывает обратное. Интерфейс - это темплейт класса а также его можно использовать как "тип" для объединения разных классов с одним интерфейсом в массивы их дальнейшую обработку как объекты общего типа. Это идёт из общей информации об ООП любого языка программирования. В 3 объекта у тебя команда не передалась не из-за того что "плохо работают параллельные задачи" а потому что ты просто получил все инстансы которые реализуют твой интерфейс и брал там только 0й элемент массива. Параллельных задач там написано не было вообще. Сори если задел. Без негатива < 3
Чуть дополню, объяснив как в теории используются интерфейсы. Интерфейс служит для обозначения поведению объекта. Если без полиморфизма, то его можно использовать как маркер для определения "обладает ли объект какими-то свойствами", например, проверка возможности сортировки или сохранения объекта, но это уже глубокое программирование. Если же рассматривать вместе с полиморфизмом, как оно и положено, ибо само определение полиморфизма - "один интерфейс - множество реализаций", то пример использования интерфейса выглядит таким образом: создаем интерфейс Talker, в нем указываем, что у нас будут методы sayHello() и sayBye(), и затем реализуем этот интерфейс в классах Human, Cat, Dog. Эти 3 класса никак не связаны между собой, но у них есть общий интерфейс, это значит, что мы можем вызвать у них один и тот же метод и он будет работать у каждого по своему(как мы пропишем). Пример: human.sayHello выведет нам "Привет!", cat.sayHello выдаст "мяу", а dog.sayHello - "гав". Возьмем второй метод: human.sayBye - человек скажет "Пока!", а собака и кошка промолчат. Да, мы можем просто создать такие методы внутри каждого класса и без интерфейсов и просто написать все эти print("Привет!"), print("мяу"). Но, даже НО, это не будет работать так, как ему положено. Первая главная особенность - это то, что если класс реализует интерфейс, то он 100% имеет методы интерфейса, которые можно вызвать, а если это делать без интерфейса, то надо ручками проверять, что у каждого объекта есть нужный нам метод. И вторая особенность, которая вытекает из первой - мы можем группировать объекты которые реализуют один и тот же интерфейс в общую структуру, например массив, несмотря на то, что у них разные классы. Если вспомните первые видео, там там были массивы, но из одних только строк или целых чисел, или вертексов, а в данном случае в массиве будет все, что угодно лишь бы с нужным интерфейсом. Пример, который не имеет ничего общего с реальностью и так делать не стоит: мы прыгаем на полянку с кучей разных монстров(орки, тролли, гоблины, ламы, олени, пингвины), первая половина из которых агрессивные, вторая половина пассивные, реализуем у агрессивных монстров интерфейс, который и промаркирует их как агрессивных и имеет метод aggression и помещаем их в массив с агрессивными монстрами. И когда сработает триггер, мы пройдемся по массиву и у каждого монстра вызовем метод aggression, но у каждого типа монстра он будет работать по своему(как вы ему напишете), например, тролли сразу побегут атаковать, орки сначала что-то покричат, а потом тоже побегут атаковать, а гоблины просто будут наблюдать за игроком - и все это с помощью вызова одного и того же метода. Повторюсь, что так не делается, это просто пример. То есть все существа и вещи могут делать одни и те же вещи, но разными способами: move у людей, собак - ходьба, у лягушек и кузнечиков - прыжки, но это передвижение, fly у мух, самолетов, листов - одно и то же, но по-разному и тд. Если кто-то это прочитал вот это, то потратьте пару недель на базис по программированию и разбор принципов ООП - это крайне важно, если хотите не как попугаи повторять все по видео, а иметь представление как реализовать свои задумки и развиваться.
Спасибо автору за подробное разжевывание темы! Использовать интерфейсы особенно для крупного проекта обязательно, но вот как, никак не мог найти вразумительного ответа, а здесь нашёл
9:25 - вместо forloop испльзуем foreach, и получаем цикл, актуальный для любого количества элементов массива, он просто переберет все доступные по порядку. Если, конечно, у нас именно такой частный случай.
Нет, это не так работает. Интерфейсы нужны не для того, чтобы "передавать данные множеству объектов". Они позволять дать набор одинаковых методов разным классам, подходящим для выполнения одной и той же задачи, и тем самым работать с ними схожим образом. По сути они описывают набор правил взаимодействия (потому так и называются). Это особенно нужно когда реализуешь эти методы в разных ветках иерархии классов, а множественное наследование запрещено (как в UE4) (да и вообще, множественное наследование для этого - плохая практика). Методы интерфейса не вызываются сразу на нескольких объектах, и поэтому нельзя передать ссылку на один объект с интерфейсом чтобы вызвать этот метод сразу на всех. Из-за этого и приходится делать "Get All Actors with Interface" и вызывать метод на каждом (а не из-за параллельности). И цикл ForEach там тоже прекрасно работает. Более того, как раз его и стоит использовать, поскольку размер полученного массива заранее неизвестен (ну, либо получать его размер по ходу и передавать в цикл For, но зачем?). А для того чтобы одним вызовом передать информацию нескольким объектам нужны диспетчеры, хотя на них придётся из каждого объекта подписываться.
@@Лучшийкомментарий-ъ3ч Короче: с интерфейсами в любом случае придётся вызывать методы у всех объектов отдельно. Чтобы передать всем сразу: используйте диспетчеры.
Здравствуйте! Всё верно, но если б я объяснял подобным языком, то у людей появится только больше вопростов! BP interface Это промежуточные функции в которых нельзя строить логику, а только получать или задавать данные , и логика реализовывается в самом БП куда эта "функция" подключена , вот поэтому BP_Interface и годится для передачи данных. Это всё опять те же яйца только в профиль, СУТЬ ОДНА!.
@@cyberstars-entertainment Вообще интерфейсы придуманы для уменьшения "связанности". Он введен для "контракта" (в некоторых книгах так выражаются) на класс, который гарантирует присутствие методов с точными параметрами. Фраза "вот поэтому BP_Interface и годится для передачи данных" - не точная в данном применении, скорее "вот поэтому BP_Interface и годится для создания группы классов с одинаковым методом для передачи данных", как то так...
@@cyberstars-entertainment У вас отличные, технически грамотные уроки (я посмотрел уже с десяток), но, в данном случае, я с вами не согласен. Попытка замаскировать якобы сложные понятия примитивизмом, на мой взгляд, провалилась. Я из урока вообще не понял, о чем идет речь (несмотря на многолетний опыт программирования на C++ и C#), пока не стал ковыряться в движке и не увидел словосочетание Implement Interface в настройках блупринта. На мой взгляд, человеку, который до этого разобрался в предыдущих 18 уроках, пора бы к этому моменту знать, что речь идет об объектно-ориентированном программировании, и понимать его основные понятия. Что такое класс объекта и экземпляр, и как это применимо к блупринтам, что такое наследование (о множественном, несомненно, умолчать), и таким образом объяснить и интерфейсы тоже (кстати, наверняка в учебниках по Java и C# интерфейсы объясняются хорошо, можно там подсмотреть). Это всего лишь несколько понятий, ничуть не более сложных, чем, например, Actor, Component, в чем человек уже успешно разобрался. И это, несомненно, упростит понимание блупринтов, а не усложнит.
1) 7:52 - мы не передавали в три, ты же указал что индекс 0, в чем тут параллельность ? 2) 9:55 - Почему логика работать не будет ? ArrayIndex из ForEachLoop не подойдет ? А ArrayElement почему не подойдет, без get ?
1) в том , что передача идёт по одинаковым ссылкам одновременно, и то что индекс 0, это не означает, что мы передадим данные (scale 2) всегда первому БП. Я показываю, что это не так работает и трём БП нужны три ссылки на interface. 2) На практике простой ForLoop работает лучше. с использованием ArrayElement - всем трём передать не получается.
@@cyberstars-entertainment , извини, но мне кажется кто то из нас не правильно понимает работу этого БП. Попробуйте отладить этот БП(с циклом) и увидите как все работает, а еще лучше отладить это в плюсовом коде. Просто я не понимаю о какой параллельности идет речь. Как я понимаю: там на "коллизию" срабатывает обработчик, в БП первая нода возвращает массив со всеми объектами которые поддерживают твой интерфейс. А дальше ты циклом обходишь массив и дергаешь метод интерфейса(с реализацией). Веду диалог, потому что сам хочу разбираться, но имеющаяся у меня информация не совпадает с твоей.
@@kakbudtobi Проще говоря, я имею ввиду то, что нельзя за раз выполнять код/логику (параллельно), это возможно в плюсах. забегая вперёд скажу, что терминология везде своя - авторская, и если где то это описано другими словами, это не значит, что кто то не прав Блупринт выполняется последовательно - один поток данных, в случае очереди идёт прерывание CPU . Плюсы дают возможность многопоточности. Я показываю, что сразу параллельно кинуть ( scale 2 ) в три БП не выйдет. Поэтому беру цикл, ведь он выполняет логику друг за другом и да то , что я показываю в ролике вы описали верно.
У тебя они одновременно не увеличивались только из за того что ты указал в Get - 0, Если просто засунуть Out Actors без Get (номер актера) в Target то все одновременно будут меняться
Урок отличный. Возникла проблема - делал связь между двумя служебными блупринтами (не размещаются на сцене, задаются в гейммоде), и связь не проходит. На отладке показывало что из контроллера уходит сигнал, но в целевом не срабатывало, хотя интерфейс в обоих блупринтах указан нужный.
Спасибо. У тебя очень крутие и информативние видео, но есть вопрос. Почему с foreach не будет работать? С foreach все отлично работает, только логіка чучуть другая. А что дает использование interface function from BP_interface. Где ее можна использовать? Для каких задач?
Это такая объединяющая функция , входы и выходы которой могут быть доступны там где её подключат, применять можно как передачу данных сразу в большое колво Blueprint
Как сделать передачу данных из блупринта, если он при запуске спавнится! То есть изначально его нет в сцене. В да, я повторил видео, но у меня нет взаимодействие удара или чего-то ещё, просто объект при запуске игры передает значения другому - предложенный вами метод у меня не сработал, есть в нем проблемы или это я что-то упустил из видео?
Всё конечно замечательно, но у меня ошибка вылетает при попытке получить ссылку на интерфейс через массив... И да, я пытался передать целое число из блупринта в персонажа, и такой вот подход не работает... вообще если честно, целый день отсидел, что бы передать переменную в персонажа, что бы в созданную в нём переменную записалось, но чёт ничего не понятно, вроде всё сделано логично, но передавать не хочет... Теперь вопрос, есть тот, кто даст ссылку где посмотреть/почитать как передавать переменные по блупринтам... Заранее спасибо... *задачу решил через диспатчеры*, но если у кого-то есть инфа как работать с интерфейсами, но узконаправленно, изменяя просто размеры объектов, то поделитесь, пожалуйста
Если есть ссылка на объект - вызывайте метод или устанавливайте переменную напрямую, никаких проблем. Если ссылки нет - то да скорее всего стоит использовать диспетчеры.
Здравствуйте! Попробуйте получить ссылку через переменную а не через 'get all actors' , и какая ошибка у вас? При работе с BP_interface, он может просто так перестать работать (если долго его мучать) , нужно его убрать и заново подсоединить в вашему блупринту. и если вы просто передаёте переменную, то можно обойтись и без BP_interface и Event_Dispatcher достаточно Cast to...
@@manlok876 Manlok , если эвент срабатывает по удалению объекта, то всё содержимое БП объекта удаляется вместе с ним, таким образом, вообще не важно, что мы используем, интерфейс, сслыку или функцию, это не сработает... Это честно говоря я так понял, но возможно я заблуждаюсь...
@@cyberstars-entertainment , у меня не совсем стандартная ситуация, я не могу получить ссылку при любом способе, точнее эта ссылка не валидна, с этим я разобрался... В любом случае спасибо...
А что по твоему урок? Все остальное на эту тему и на русском языке просто хаотичная хуйня без структуризации и сделанная тяп ляп к тому же. Тут чел все грамотно обьясняет шаг за шагом, мне как бегиннеру было легко войти в курс дела
@@rapatologyrrr472 он не объясняет грамотно. Начало видоса не плохое, а дальше хуже и хуже. Такая же хуйня без структуризации на тяп ляп как и у остальных.
John Smith тут как раз таки нормально подана информация, без лишней болтовни и всякой залупы отвлекающей, во всяком случае с этими уроками я хотя бы понимаю что, куда и зачем
Тут всю по полочкам, на пальцах. Я читал офф статью на сайте Epic Games и понял только приблезительно - много терминов из за которых возникают новые вопросы, нужно быть программистом чтоб легко понимать подобные статьи . Точно так же и Вики и.т.д. Здесь простым языком как и для чего можно юзать данный функционал.
Помимо раздражающей, мешающей музыки слишком быстрая картинка. Тряц бряц и всё, окошко уже появилось, что чиво куда нажимать, слишком быстро, сложна сложна непонятна
@@Этонеканал-б5п Ты каналом ошибся, мамин меломан. Здесь не твоя школьная дискотека. Привык смотреть обучающий контент только с музыкой, фиксиков пересмотрел. Мне не интересно что тебе по душе и какой у тебя вкус. Не могу оценить труды КС т.к. музыка мешала. Что уже было разложено по полочкам. Если не понял, прочитай еще раз, потом еще, потом включи синий трактор, а то смысл текста до тебя доходит только с музыкой для малышей
хватит вставлять музыку в уроки -_- это кому то мешает, а кто-то не любит данный жанр музыки, кто-то хочет слушать свою музыку. только людей отпугиваешь от себя. чисто из-за фона не смотрел тебя, и не буд смотреть дальше, и друзьям не посоветую.
Музыка на протяжении видео еле слышна и воспринимать информацию вообще не мешает. Попробуй закрыть вкладку со звериным порно, может получится улучшить концентрацию
Автор, за предыдущие видосы большое спасибо конечно, они хороши, но тут прям всё неверно рассказал. И то что в результате у тебя что то работает не доказывает обратное. Интерфейс - это темплейт класса а также его можно использовать как "тип" для объединения разных классов с одним интерфейсом в массивы их дальнейшую обработку как объекты общего типа. Это идёт из общей информации об ООП любого языка программирования. В 3 объекта у тебя команда не передалась не из-за того что "плохо работают параллельные задачи" а потому что ты просто получил все инстансы которые реализуют твой интерфейс и брал там только 0й элемент массива. Параллельных задач там написано не было вообще.
Сори если задел. Без негатива < 3
Чуть дополню, объяснив как в теории используются интерфейсы.
Интерфейс служит для обозначения поведению объекта. Если без полиморфизма, то его можно использовать как маркер для определения "обладает ли объект какими-то свойствами", например, проверка возможности сортировки или сохранения объекта, но это уже глубокое программирование.
Если же рассматривать вместе с полиморфизмом, как оно и положено, ибо само определение полиморфизма - "один интерфейс - множество реализаций", то пример использования интерфейса выглядит таким образом: создаем интерфейс Talker, в нем указываем, что у нас будут методы sayHello() и sayBye(), и затем реализуем этот интерфейс в классах Human, Cat, Dog. Эти 3 класса никак не связаны между собой, но у них есть общий интерфейс, это значит, что мы можем вызвать у них один и тот же метод и он будет работать у каждого по своему(как мы пропишем).
Пример: human.sayHello выведет нам "Привет!", cat.sayHello выдаст "мяу", а dog.sayHello - "гав". Возьмем второй метод: human.sayBye - человек скажет "Пока!", а собака и кошка промолчат.
Да, мы можем просто создать такие методы внутри каждого класса и без интерфейсов и просто написать все эти print("Привет!"), print("мяу"). Но, даже НО, это не будет работать так, как ему положено. Первая главная особенность - это то, что если класс реализует интерфейс, то он 100% имеет методы интерфейса, которые можно вызвать, а если это делать без интерфейса, то надо ручками проверять, что у каждого объекта есть нужный нам метод. И вторая особенность, которая вытекает из первой - мы можем группировать объекты которые реализуют один и тот же интерфейс в общую структуру, например массив, несмотря на то, что у них разные классы. Если вспомните первые видео, там там были массивы, но из одних только строк или целых чисел, или вертексов, а в данном случае в массиве будет все, что угодно лишь бы с нужным интерфейсом.
Пример, который не имеет ничего общего с реальностью и так делать не стоит: мы прыгаем на полянку с кучей разных монстров(орки, тролли, гоблины, ламы, олени, пингвины), первая половина из которых агрессивные, вторая половина пассивные, реализуем у агрессивных монстров интерфейс, который и промаркирует их как агрессивных и имеет метод aggression и помещаем их в массив с агрессивными монстрами. И когда сработает триггер, мы пройдемся по массиву и у каждого монстра вызовем метод aggression, но у каждого типа монстра он будет работать по своему(как вы ему напишете), например, тролли сразу побегут атаковать, орки сначала что-то покричат, а потом тоже побегут атаковать, а гоблины просто будут наблюдать за игроком - и все это с помощью вызова одного и того же метода. Повторюсь, что так не делается, это просто пример.
То есть все существа и вещи могут делать одни и те же вещи, но разными способами: move у людей, собак - ходьба, у лягушек и кузнечиков - прыжки, но это передвижение, fly у мух, самолетов, листов - одно и то же, но по-разному и тд.
Если кто-то это прочитал вот это, то потратьте пару недель на базис по программированию и разбор принципов ООП - это крайне важно, если хотите не как попугаи повторять все по видео, а иметь представление как реализовать свои задумки и развиваться.
@@耳に胼胝ができる Понято, гляну ООП, могу ли я задать вопрос вам, если где то не пойму ?!
@@耳に胼胝ができる как этот самый базис и основы ООП найти?
@@АртемийСеменюк какие нибудь курсы по программированию в ютубе. Язык не принципиален: С++, C#, Java, Python
@@耳に胼胝ができる Почему тот пример реализовывать на практике не стоит?
Спасибо автору за подробное разжевывание темы! Использовать интерфейсы особенно для крупного проекта обязательно, но вот как, никак не мог найти вразумительного ответа, а здесь нашёл
9:25 - вместо forloop испльзуем foreach, и получаем цикл, актуальный для любого количества элементов массива, он просто переберет все доступные по порядку. Если, конечно, у нас именно такой частный случай.
7:52 Блин.... я час потратил, что б исправить, а оказывается нужно дальше ролик посмотреть)))
Как всегда, качественное видео!
Спасибо за полезную инфу,дружище!:)
Нет, это не так работает.
Интерфейсы нужны не для того, чтобы "передавать данные множеству объектов". Они позволять дать набор одинаковых методов разным классам, подходящим для выполнения одной и той же задачи, и тем самым работать с ними схожим образом. По сути они описывают набор правил взаимодействия (потому так и называются). Это особенно нужно когда реализуешь эти методы в разных ветках иерархии классов, а множественное наследование запрещено (как в UE4) (да и вообще, множественное наследование для этого - плохая практика).
Методы интерфейса не вызываются сразу на нескольких объектах, и поэтому нельзя передать ссылку на один объект с интерфейсом чтобы вызвать этот метод сразу на всех. Из-за этого и приходится делать "Get All Actors with Interface" и вызывать метод на каждом (а не из-за параллельности).
И цикл ForEach там тоже прекрасно работает. Более того, как раз его и стоит использовать, поскольку размер полученного массива заранее неизвестен (ну, либо получать его размер по ходу и передавать в цикл For, но зачем?).
А для того чтобы одним вызовом передать информацию нескольким объектам нужны диспетчеры, хотя на них придётся из каждого объекта подписываться.
Сложно для понимания
@@Лучшийкомментарий-ъ3ч Короче: с интерфейсами в любом случае придётся вызывать методы у всех объектов отдельно. Чтобы передать всем сразу: используйте диспетчеры.
Здравствуйте!
Всё верно, но если б я объяснял подобным языком, то у людей появится только больше вопростов!
BP interface Это промежуточные функции в которых нельзя строить логику, а только получать или задавать данные , и логика реализовывается в самом БП куда эта "функция" подключена , вот поэтому BP_Interface и годится для передачи данных. Это всё опять те же яйца только в профиль, СУТЬ ОДНА!.
@@cyberstars-entertainment Вообще интерфейсы придуманы для уменьшения "связанности". Он введен для "контракта" (в некоторых книгах так выражаются) на класс, который гарантирует присутствие методов с точными параметрами. Фраза "вот поэтому BP_Interface и годится для передачи данных" - не точная в данном применении, скорее "вот поэтому BP_Interface и годится для создания группы классов с одинаковым методом для передачи данных", как то так...
@@cyberstars-entertainment У вас отличные, технически грамотные уроки (я посмотрел уже с десяток), но, в данном случае, я с вами не согласен. Попытка замаскировать якобы сложные понятия примитивизмом, на мой взгляд, провалилась. Я из урока вообще не понял, о чем идет речь (несмотря на многолетний опыт программирования на C++ и C#), пока не стал ковыряться в движке и не увидел словосочетание Implement Interface в настройках блупринта. На мой взгляд, человеку, который до этого разобрался в предыдущих 18 уроках, пора бы к этому моменту знать, что речь идет об объектно-ориентированном программировании, и понимать его основные понятия. Что такое класс объекта и экземпляр, и как это применимо к блупринтам, что такое наследование (о множественном, несомненно, умолчать), и таким образом объяснить и интерфейсы тоже (кстати, наверняка в учебниках по Java и C# интерфейсы объясняются хорошо, можно там подсмотреть). Это всего лишь несколько понятий, ничуть не более сложных, чем, например, Actor, Component, в чем человек уже успешно разобрался. И это, несомненно, упростит понимание блупринтов, а не усложнит.
Красавчик, выручил с Get All Widget with Intarface.
Увлекательно ,будем изучать
Спасибо за новый информативный урок.... ура! я первая
Как всегда все доступно и разжевано. Спасибо!
1) 7:52 - мы не передавали в три, ты же указал что индекс 0, в чем тут параллельность ?
2) 9:55 - Почему логика работать не будет ? ArrayIndex из ForEachLoop не подойдет ?
А ArrayElement почему не подойдет, без get ?
1) в том , что передача идёт по одинаковым ссылкам одновременно, и то что индекс 0, это не означает, что мы передадим данные (scale 2) всегда первому БП.
Я показываю, что это не так работает и трём БП нужны три ссылки на interface.
2) На практике простой ForLoop работает лучше. с использованием ArrayElement - всем трём передать не получается.
@@cyberstars-entertainment , извини, но мне кажется кто то из нас не правильно понимает работу этого БП. Попробуйте отладить этот БП(с циклом) и увидите как все работает, а еще лучше отладить это в плюсовом коде. Просто я не понимаю о какой параллельности идет речь. Как я понимаю: там на "коллизию" срабатывает обработчик, в БП первая нода возвращает массив со всеми объектами которые поддерживают твой интерфейс. А дальше ты циклом обходишь массив и дергаешь метод интерфейса(с реализацией).
Веду диалог, потому что сам хочу разбираться, но имеющаяся у меня информация не совпадает с твоей.
@@kakbudtobi Проще говоря, я имею ввиду то, что нельзя за раз выполнять
код/логику (параллельно), это возможно в плюсах.
забегая вперёд скажу, что терминология везде своя - авторская,
и если где то это описано другими словами, это не значит, что кто то не прав
Блупринт выполняется последовательно - один поток данных, в случае очереди
идёт прерывание CPU .
Плюсы дают возможность многопоточности.
Я показываю, что сразу параллельно кинуть ( scale 2 ) в три БП не выйдет.
Поэтому беру цикл, ведь он выполняет логику друг за другом
и да то , что я показываю в ролике вы описали верно.
@@cyberstars-entertainment Спасибо.
А я все в гугле инфу скала) а надо было к вам сразу идти
Все было понятно, спасибо за урок!
Прекрасные квадраты. С треугольниками я бы не шутила - сам понимаешь
ваще unreal
Классные уроки!
Ясно понятно интересно молодец.👍
Однозначно лайк 👍
Как всегда замечательное объяснение. Лучшие уроки!
Ну это просто 10 из 10!
9:48 foreach loop будет работать. Проверил только что. Версия 4.27
Спасибо большое!
а чем ивент диспатчер лучше такого способа? или в каком случае он, а в каком это?
Благодарю!
спасибо
Во спасибо разобрался для авто прогона массива использовал Reversi for !
У тебя они одновременно не увеличивались только из за того что ты указал в Get - 0, Если просто засунуть Out Actors без Get (номер актера) в Target то все одновременно будут меняться
Но почему то из индекса 0 вытскаивается месседж, а из массива нет. и в поиске на находится.
Спасибо.
Урок отличный.
Возникла проблема - делал связь между двумя служебными блупринтами (не размещаются на сцене, задаются в гейммоде), и связь не проходит. На отладке показывало что из контроллера уходит сигнал, но в целевом не срабатывало, хотя интерфейс в обоих блупринтах указан нужный.
Я бы обменялась данными
Можем сразу в два блупринта
Один не смазаный
Зависит от опыта работы с блупринтами,
по началу лучше передавать в один
@@cyberstars-entertainment я уже давно передаю в один и думаю пора попробовать что то новое
@@rapatologyrrr472 Пока что, лучше глубже освоить работу с конкретным блупринтом, потом переходить на множество
Спасибо. У тебя очень крутие и информативние видео, но есть вопрос. Почему с foreach не будет работать? С foreach все отлично работает, только логіка чучуть другая.
А что дает использование interface function from BP_interface. Где ее можна использовать? Для каких задач?
Это такая объединяющая функция , входы и выходы которой могут быть доступны там где её подключат,
применять можно как передачу данных сразу в большое колво Blueprint
@@cyberstars-entertainment Спасибо
Как сделать передачу данных из блупринта, если он при запуске спавнится! То есть изначально его нет в сцене. В да, я повторил видео, но у меня нет взаимодействие удара или чего-то ещё, просто объект при запуске игры передает значения другому - предложенный вами метод у меня не сработал, есть в нем проблемы или это я что-то упустил из видео?
Тут гужно дуиать уже, гапримео можно использовать line trace
При спавне есть ссылка на этот спавленный объект. Поэтому при вызове интерфейса передавать ему в target эту ссылку.
Всё конечно замечательно, но у меня ошибка вылетает при попытке получить ссылку на интерфейс через массив... И да, я пытался передать целое число из блупринта в персонажа, и такой вот подход не работает... вообще если честно, целый день отсидел, что бы передать переменную в персонажа, что бы в созданную в нём переменную записалось, но чёт ничего не понятно, вроде всё сделано логично, но передавать не хочет...
Теперь вопрос, есть тот, кто даст ссылку где посмотреть/почитать как передавать переменные по блупринтам...
Заранее спасибо...
*задачу решил через диспатчеры*, но если у кого-то есть инфа как работать с интерфейсами, но узконаправленно, изменяя просто размеры объектов, то поделитесь, пожалуйста
Если есть ссылка на объект - вызывайте метод или устанавливайте переменную напрямую, никаких проблем.
Если ссылки нет - то да скорее всего стоит использовать диспетчеры.
Здравствуйте! Попробуйте получить ссылку через переменную а не через 'get all actors' , и какая ошибка у вас?
При работе с BP_interface, он может просто так перестать работать (если долго его мучать) , нужно его убрать и заново подсоединить в вашему блупринту.
и если вы просто передаёте переменную, то можно обойтись и без BP_interface и Event_Dispatcher достаточно Cast to...
@@manlok876 Manlok , если эвент срабатывает по удалению объекта, то всё содержимое БП объекта удаляется вместе с ним, таким образом, вообще не важно, что мы используем, интерфейс, сслыку или функцию, это не сработает... Это честно говоря я так понял, но возможно я заблуждаюсь...
@@cyberstars-entertainment , у меня не совсем стандартная ситуация, я не могу получить ссылку при любом способе, точнее эта ссылка не валидна, с этим я разобрался...
В любом случае спасибо...
Чем интерфейс отличается от каста?
Cyberstars Entertainment - Привет, а ты проводишь стримы?
Привет, еще нет
Называть это уроком можно с большой натяжкой. Я бы такое в качестве урока не рекомендовал никому.
А что по твоему урок? Все остальное на эту тему и на русском языке просто хаотичная хуйня без структуризации и сделанная тяп ляп к тому же. Тут чел все грамотно обьясняет шаг за шагом, мне как бегиннеру было легко войти в курс дела
@@rapatologyrrr472 он не объясняет грамотно. Начало видоса не плохое, а дальше хуже и хуже. Такая же хуйня без структуризации на тяп ляп как и у остальных.
John Smith тут как раз таки нормально подана информация, без лишней болтовни и всякой залупы отвлекающей, во всяком случае с этими уроками я хотя бы понимаю что, куда и зачем
Тут всю по полочкам, на пальцах. Я читал офф статью на сайте Epic Games и понял только приблезительно - много терминов из за которых возникают новые вопросы,
нужно быть программистом чтоб легко понимать подобные статьи . Точно так же и Вики и.т.д.
Здесь простым языком как и для чего можно юзать данный функционал.
С П А С И Б О
Учите английский в первую очередь!
Пожалуйста покажи как сделать игровой магазин как в бравле или в фортнайте
Может стоит удалить видео, чтобы не вводить в заблуждение начинающих?
Нажав на АД
Я правильно понимаю, это можно сделать и через диспетчер событий?
да, и через blueprint interface
th-cam.com/video/rjxzFVCoNoM/w-d-xo.html
Не понятно почему не будет с форичем работать? я сделал, все работает.
Помимо раздражающей, мешающей музыки слишком быстрая картинка. Тряц бряц и всё, окошко уже появилось, что чиво куда нажимать, слишком быстро, сложна сложна непонятна
Ненавижу тебя и твою фоновую музыку. Вместо усвоения материала, по итогу только раздражение
ахахах)))))))) Кибер стар не обращай внимание на месячные
мне музыка по душе)))) У кибер стар отличный вкус) А вместо благодарности за его труды ты смеешь писать это. Деградация на лицо
@@Этонеканал-б5п Ты каналом ошибся, мамин меломан. Здесь не твоя школьная дискотека. Привык смотреть обучающий контент только с музыкой, фиксиков пересмотрел. Мне не интересно что тебе по душе и какой у тебя вкус. Не могу оценить труды КС т.к. музыка мешала. Что уже было разложено по полочкам. Если не понял, прочитай еще раз, потом еще, потом включи синий трактор, а то смысл текста до тебя доходит только с музыкой для малышей
@@Этонеканал-б5п Пойди с мамой своей поговори, вижу тебя беспокоит эта тема
Ну ты и фиксик)))))))@@hrisogona9330
хватит вставлять музыку в уроки -_-
это кому то мешает, а кто-то не любит данный жанр музыки, кто-то хочет слушать свою музыку.
только людей отпугиваешь от себя. чисто из-за фона не смотрел тебя, и не буд смотреть дальше, и друзьям не посоветую.
Музыка на протяжении видео еле слышна и воспринимать информацию вообще не мешает. Попробуй закрыть вкладку со звериным порно, может получится улучшить концентрацию
@@rapatologyrrr472 мм.. шутки за 300...
Очень жаль, что вы нас покидаете
Плохо, что твои друзья останутся обделенными
@@cyberstars-entertainment неужели большинству зрителей нравится фоновая музыка?