15. Blueprints Unreal Engine 4 - Ссылки на объекты
HTML-код
- Опубликовано: 6 фев 2025
- Показываю, как объектам взаимодействовать друг с другом.
Полезные ссылки:
Наш форум - uengine.ru/forum/
Наша группа в ВК - uengine
Пожертвования - uengine.ru/don...
Наш Discord - / discord
очень полезный урок, сильно помог, спасибо!
Переменная показана в 16 уроке Blueprints Unreal Engine 4 - Создание (Spawn) объектов. На 14.47 смотрите.
С-П-А-С-И-Б-О !)
A trick: you can watch series at Flixzone. Been using it for watching all kinds of movies these days.
@Ameer Drew definitely, I've been using flixzone} for since december myself :)
@Ameer Drew definitely, been using flixzone} for years myself :)
Огромное спасибо!
Спасибо, хитро с переменной получилось.
Очень не понятно откуда взялась Rotation speed. Ну очевидно что это переменная, что она должна быть в объекте стола, подсвечена зеленым - значит integer. В общем, без этой переменной просто ничего не получится, а в уроке про стол мы ее не создавали.
Если это специально так задумано, то конечно прикольно, приходится подумать почему и как это должно работать. )))
Только это не integer, а float. Не вводи людей в заблуждение.
Это был был бы любимый урок Иосифа Сталина
Все хорошо только такой метод жцтко не экономный по памяти. Для больших блюпринтов лучше использовать интерфейсы. Блюпринт при любом касте создает копию таргета в памяти. 9 кастов на 1 и тот же объект создает 9 экземрляров в памяти
Да и области видимости тоже проблемой становится. Скорее перед тем,как учить "как сделать" нужно научиться "как спланировать". Большие блупринты лучше заменить кодом.
а насколько это пагубно влияеет на оптимизацию???
Подскажите, пожалуйста, как можно получить ссылку без помощи пипетки? Например, во время игры спаунится объект с триггером и при пересечении с ним нужно получить ссылку, пипеткой тут не справишься. Подскажите, пожалуйста, с помощью чего можно решить проблему или какой урок посмотреть?
Здравствуйте, не узнали как это делать?
@@greatskydrake9531
@Great Sky Drake
Очень давно забросил Unreal Engine. Сейчас отошёл от него. Сейчас вообще в вебразработку полез, JavaScript.
Тогда решение я нашёл Детали не помню, но идея такая: при пересечении какого-то объекта с триггером "триггерится" событие. При этом можно получить ссылку на объект, пересекающий триггер. Как-то так.
А пипетка - это просто чтоб удобней было найти объект на сцене.
@@greatskydrake9531 тот бп что спавнит - должен сохранять ссылку на созданный объект где-то. А оттуда уже можно взаимодействие расписывать
Интересно, а как лучше кастить виджеты ? Или виджет к другому виджету ?
А как не установить значение чужой переменной, а добавить? Достаточно ли просто вытянуть инкремент из Rotation speed?
Каст дорогая нода, как по другому подключить можно ссылку?
А если мне нужно получить ссылку на Худ(Виджет) или на объекты которые заспавнятся во время игры, как это сделать не подскажите?
Если будет спавниться не на старте а позже во время игры, то можно чтобы hud сам себя записывал в требуемый объект. Например: Begin play->get player pawn->cast->setHudWidgetRef
Можно создать переменную с ссылкой на этот виджет
Подскажите пожалуйста, а как получить ссылку на объект в тригер боксе? пример ,если зайти в тригер ,нужно что бы определённый свет включился. А если я выделяю объект и перехожу в левел блюпринт,то у меня нету такой строки Create a Reference
Тоже самое у меня
Попробовал динамически менять материал в зависимости от скорости объекта. Не возможно(нет переменных в материале). Хм... Может на плюсах можно. Посмотрим.
СПАСИБО ТЕБЕ БОЛЬШОЕ!!! Никак разобраться не мог как получить ссылку на объект не в блупринтах лэвэла! Но у меня остался вопрос как получить ссылку на объект в AI controller?
у меня нету set rotation speed. чё за фигня ? где её взять ? у меня вообще нету в BP. версия UE 4.20.3
Такая же фигня, все облазил, испробовал, не вызывается эта функция.
@@alkuzed и что тогда делать? я даже скачивал версию 4.3 там тоже нету
@@alhon85 , нужно создать эту переменную в блюпринте стола(там где event tik) и тогда к ней можно обращаться. Второй вариант, в каком то следующем уроке(точно не помню) видно этот код.
@@alkuzed СПАСИБО, попробую
как и где создали перемен Rotation Speed ?
смотрите в предыдущих уроках как создавать переменные, создаете переменную скорости поворота стола и вставляете ее в блюпринте стола вместо цифрового значения.
Как таковой Rotation Speed, нет переменной просто на каждый кадр в сцене мы делаем поворот на определены градус, чем больше градус тем быстрее крутится. Чтобы вообще добраться до переменной которая меняет угол поворот ПКМ AddActorLocalRotation -> вытягиваем из блока Delta Rotation -> MakeRotation -> X(Roll) ставим например 10. Что бы было видно в движке переменную ставим галочку Instanse Editable в details, и жмем на глазик чтобы открылся
Tozhe smotrel vse uroki, I kak to propustil moment sozdanija etoi peremennoi, vam uzhe naverno pozdno eto podskazivatj, no mozhet komu esho pomozhet.
Ja prosto poshel v BP_MyBPActor i tam sozdal novuju peremennuju, nazval "RotationSpeed" i podkljuchil jejo cherez makeTransform k Z osi togo gde mi kazhdij tik menjajem rotation na skolko to gradusov.
P.S. Sorry za translit
@@PaconskYспасибо спас
@@masdaiable спасибо бро
Что за ошибка красная внизу выскочила?
Уроки хорошие. Но зачем он каждый раз у меня спрашивает, ДА??? чувак, ты не сомневайся, я точно тебе не подскажу как правильно , я только учюсь.
Окей но как создать ссылку на объект если его нет на сцене? Вот нужна ссылка на персонажа за которого играет игрок но этого персонажа не сцене нет пока игрок не зайдёт на сервер.
1. Ставишь обьект на который нужна ссылка на сцену
2. Берешь с него ссылку, записываешь в переменную
3. Ссылка будет работать только тогда, когда твой 2й обьект зайдет на сцену. Нужно проверять на валидность.
Подскажите, как соединить 2 блюпринта, открывания двери и поворота ручки на этой двери?
это все в одном блюпринте можно сделать
А как взять ссылку на уровень? Подскажите кто-нибудь пожалуйста.
не получается дать тригер евенты нада больше уточнения
Как вызвать rotation speed? Нет такой у меня, сделал урок на другой комманде
Это переменная, которую он добавил в прошлом уроке, посмотри))
не понятно где он взял сет ротайшен спид, у меня этого нет
Это переменная
а можно как то получить ссылку на переменную в другом блюпринте. при чем ее значение постоянно затем отслеживать?
Нашёл как сделать? Я хочу взять переменную из одного принта, а потом использовать ее в принте для виджетов. А как я хз
Уроки полезные. Я - программист, но всегда где-то нужно брать изначальную инфу. Но взращивать поколение неразбирающихся плохо, отсюда и кучи трэшинди, с кривыми механиками.
Массив - это некоторая область в оперативной памяти, где последовательно размещены элементы массива. Это важно знать, особенно в UE, где для качественной оригинальной механики и экономии памяти придется "обниматься" с C++.
То же самое про саму ссылку. Ссылка на объект указывает на область в рамке, где начинаются данные типа. То есть, передавая ссылку на объект мы передаём его инстанс(важнейший момент, т.к. юзеры не знакомые могу накосячить с той же оптимизацией, раз за разом в каком-нибудь лупе брать копию объекта).
> Ссылка на объект указывает на область в рамке
Новички в этот момент начали искать рамку в интерфейсе UE4 =)
Если уж начал говорить про оперативную память, то не отступай от этого понятия, я считаю.
Если у кого-то будет выскакивать ошибка Blueprint Runtime Error: "Accesed None trying to read property Table"..., то это значит, что ссылка на объект не задана
А куда пропал человек? 4 года с последнего видео. Такой талант пропадает.
эм, у меня тупо нет mybpactor
Денис может ты не создал такой класс или по другому его назвал
его нужно создать