Полезное

Мы Вконтакте

Discord канал

Прямые коммуникации

Добавлено Апр 29 2016
Прямые коммуникации

Прямые коммуникации являются наиболее распространенным методом взаимодействия блупринтов и отлично подходят тогда, когда у вас есть два блупринта, и вы знаете что им необходимо обменяться некой информацией.
В этом типе связи, всегда один блупринт обращается к другому. Самый простой способ использования этого метода, получение ссылки на другой блупринт, через название класса, и указания какой экземпляр этого блупринта необходимо использовать.

 

Основы работы

Первое, что вам нужно сделать для того, чтобы использовать прямую коммуникаию, заключается в определении взаимодействующих блупринтов.

Взаимодейстующие объекты

Здесь мы имеем персонажа и потолочный светильник, и хотим что бы персонаж мог его отключить.
В этом случае рабочий блупринт это наш персонаж, а целю является блупринт светильника. Используя прямые взаимодействия можно сказать, что, когда игрок нажимает кнопку, блупринт потолочного светильника должен выключить свет.
Для этого нам нужно создать открытую переменную внутри нашего блупринта персонажа.

Открытая переменная

Мы создали переменную типа блупринта потолочного светильника.

Будьте осторожны изменяя данные в других блупринтах, ибо они в свою очередь так же могут ссылаться на что либо, следует это учитывать.

Теперь, выбрав нашего персонажа на уровне, мы можем увидеть, на панели Details новое поле для установки значения нашей переменной.

Поле ввода

По умолчанию переменная установлена как None. Чтобы определить, какой экземпляр светильника вы хотите изменять, вы должны нажать на кнопку пипетки и выбрать этот объект на уровне.

Выбор объекта

Теперь благодаря этой переменной мы точно знаем к какому объекту мы хотим получить доступ через блупринт.

Использование прямых коммуникаций в функциях

Когда вы работаете с функциями в блупринтах, вы все еще можете использовать прямые взаимодействия, указав тип целевого блупринта в качестве параметра для этой функции.

Функция

При использовании функции, вам нужно будет еще указать, экземпляр объекта к которому вы хотите обратиться. Это может быть сделано как и выше, с помощью публичной переменной, но уже подключаемой к специально созданному вами входу функции.

Передача данных функции

Исправление проблем

Наиболее часто ошибка возникает, когда экземпляр объекта не указан вообще в переменной. Если у вас возникли проблемы при получении доступа к нужному объекту, убедитесь,
что вы указали, какой именно экземпляр этого объекта вы хотите использовать.

Целевой объект

Если вместо этого вы установите переменную из результата вызова функции, вы должны увидеть предупреждение в журнале, что переменная имеет «Access None» исключение. Если у вас открыто окно «Message Log», оно отобразит ссылку на узел вызывающий проблему.

Access None

Выше вы видите «Access None» исключение. Исключение указывает на ноду, которая вызывает проблемы. При нажатии откроется блупринт, в котором используется данная нода.

Добавил: Flakky Категория: Blueprint'ы


Комментарии

На данный момент комментарии отключены.

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