Полезное

Мы Вконтакте

Discord канал

#
Модератор: Di-Crash
Аватара пользователя
Пользователь
Сообщения: 46
Есть ли в Unreal Engine 4 таблица, где можно хранить числовые значения и обращаться к ним из любого blueprint? Вроде String Table, используемой в widget, только для числовых значений и чтобы можно было вызвать в blueprint.
Аватара пользователя
Пользователь
Сообщения: 46
Вопрос решён. Была найдена функция make literal text. С помощью этой функции можно получить значение переменной из выбранной string table по соответствующему ей ключу и вывести его в виде переменной типа text. Эта переменная конвертируется в string, а она в float (в моём случае). Просто у меня в разных блупринтах есть переменные с одинаковым значением (например в 3 блупринтах есть переменная с массой блока брони, переменные с значением мощности двигателя №1 и прочие неизменяемые в процессе игры константы). Я хотел избавится от необходимости искать в разных блупринтах все места, где используется какое-либо значение, чтобы изменить его, если это будет необходимо. Если есть ещё какие-либо альтернативы, позволяющие сделать удобное хранилище данных (значений переменных) вне блупринта, то напишите. Может есть и более удобный и правильный вариант.
Аватара пользователя
Пользователь
Сообщения: 4068
можно хранить какое угодно количество данных в массиве стринг, с помощью ParseIntoArray, строка разобьется на массив.

Пример строки

Ak74 27 92.3 X=203.5 Y=-250.2 Z=108.5

после ParseIntoArray, вернет такой массив, пример
Ak74 - имя предмета
27 - текущие патроны
92.3 - прочность
X=203.5 - текущая позиция
Y=-250.2 - текущая позиция
Z=108.5 - текущая позиция

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

Ak74#27#92.3#X=203.5 Y=-250.2 Z=108.5

Ak74 - имя предмета
27 - текущие патроны
92.3 - прочность
X=203.5 Y=-250.2 Z=108.5 - текущая позиция

Для этого нужно писать логику, как для записи, так и для считывания.
Также можно канешно использовать структуры. Лично для меня удобнее массив стринг, логика для записи в строку и считывание, не занимает много времени.
Индекс в массиве, есть ключ, через который ты получаешь все необходимые данные с помощью ParseIntoArray.
Хранить его можно например в ГэймИнстанс.
Каст на гэйминстанс(и куда угодно) нужно сделать в акторе на бэгинплэее и получить ссылку на массив(или другой объект) сразу, что бы не плодить эти касты в будущем.


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8

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