Блюпринт (англ. blueprint) — система визуального программирования в на основе нодов с данными: событиями и функциями. Их можно связывать между собой и формировать элементы активности.
1. Перейдите в боковую вкладку “Плагины” и верхнее меню “Плагины”.
2. Нажмите на кнопку “Добавить”.
3. В открывшемся окне найдите плагин “BlueprintEngine” и поставьте напротив него галочку.
4 . Нажмите “ОК”.
5. Плагин добавиться в “Пользовательские плагины” и станет активным.
6. Откроется окно “Blueprints” для работы с плагином.
Если вы закрыли окно “Blueprint”, то для открытия вам необходимо вернуться к списку плагинов(пункт 5) и дважды кликнуть на галочку “Активен”.
После добавления плагина появиться новое свойство “ID” необходимое для работы с Blueprint.
1. Нажмите правой кнопкой мыши на объект.
2. Наведите на “Добавить свойство”.
3. В выпадающем списке выберете “ID”.
Свойство “ID” необходимо применять только к корневому элементу модели. Обычно он имеет свойство “Параметры загрузчика модели”.
ID - указывается индивидуальное название модели, которое будет использовано в Blueprint.
Zoom to Content - приближает камеру к схеме.
Show Flow - показывает как данные передаются между блоками. Горячая клавиша Z.
Clear - удаляет все блоки.
Run - запускает схему.
Deselect All - снимает выбор со всех объектов.
Open - открывает сохранённую схему.
Clear - удаляет все блоки.
Save - сохраняет схему, сохраняет новую схему в VRConcept\bin с названием BlueprintEngine.
Save As… - сохраняет схему с указанием папки и названия.
ПКМ - открывает список блоков для создания.
ЛКМ - для создания связей между блоками и выделение объектов.
Start - начало любой цепочки. Может быть несколько, но от одного только одна цепочка.
String - задаёт текстовое значение.
Int - задаёт целочисленное значение.
Float - задаёт вещественное значение.
Float var - преобразует входное значение в вещественное(вход - int, float; выход - float).
Берёт первое на входе.
Int var- преобразует входное значение в целочисленное(вход - float, int; выход - int).
Берёт первое на входе(отрезает дробную часть).
String var- преобразует входное значение в текстовое(вход - int, float, string; выход - string).
Берёт первое на входе(вещественное округляет до 6 знаков после запятой).
Print String - печатает текстовое значение в лог(вход - string).
Random Int - выводит случайное натуральное значение из диапазона(вход - int, int; выход - int)
Первый int - начальное значение диапазона, в котором будет происходить выбор случайного числа.
Второй int - размер диапазона. в котором будет происходить выбор случайного числа.
Входные значения берутся по модулю.
Минимальное значение диапазона равно входному значению Volume 0.
Максимальное значение диапазона равно входному значению (Volume 1 + Volume 0 - 1).
Пример 1:
Значение 1 : 0 - начальное значение;
Значение 2 : 5 - количество чисел в диапазоне, начиная с “Значение 1”;
Диапазон : от 0 до 4, включая оба числа.
Пример 2:
Значение 1 : 7 - начальное значение;
Значение 2 : 2 - количество чисел в диапазоне, начиная с “Значение 1”;
Диапазон : от 7 до 8, включая оба числа.
Summ Float - выводит сумму двух вещественных значений(вход - float, float; выход - float)
Delay - создаёт задержку в секундах между блоками(вход - float)
Move - передвигает объект за определённое время в секундах(вход - X, Y, Z, Name, Time).
Rotate - вращает объект за определённое время в секундах(вход - X, Y, Z, Name, Time).
Scale - масштабирует объект за определённое время в секундах(вход - X, Y, Z, Name, Time).
X - float
Y - float
Z - float
Name - string(Значение свойства ID)
Time - float
SetPosition - моментально передвигает объект (вход - X, Y, Z, Name).
SetRotation - вращает объект(вход - X, Y, Z, Name).
SetScale - масштабирует объект(вход - X, Y, Z, Name).
X - float
Y - float
Z - float
Name - string(Значение свойства ID)
GetPositionX - получает положение объекта по оси X(вход - Name; выход - X)
GetPositionY - получает положение объекта по оси Y(вход - Name; выход - Y)
GetPositionZ - получает положение объекта по оси Z(вход - Name; выход - Z)
X - float
Y - float
Z - float
Name - string(Значение свойства ID)
GetRotationX - получает поворот объекта по оси X(вход - Name; выход - X)
GetRotationY - получает поворот объекта по оси Y(вход - Name; выход - Y)
GetRotationZ - получает поворот объекта по оси Z(вход - Name; выход - Z)
X - float
Y - float
Z - float
Name - string(Значение свойства ID)
GetScaleX - получает масштаб объекта по оси X(вход - Name; выход - X)
GetScaleY - получает масштаб объекта по оси Y(вход - Name; выход - Y)
GetScaleZ - получает масштаб объекта по оси Z(вход - Name; выход - Z)
X - float
Y - float
Z - float
Name - string(Значение свойства ID)
SetDiffuseColor - изменяет цвет объекта(вход - R, G, B, A, Name)
R - float насыщенность красного от 0 до1
G - float насыщенность зелёного от 0 до1
B - float насыщенность синего от 0 до1
A - float прозрачность от 0 до1
Name - string(Значение свойства ID)
Чтобы перевести значения в обычное представление вам надо умножить число на 255 и округлить до целых.
Timer - копирует блок Delay.
Time - float
Count - int(не указывать)
Animation - воспроизведение анимации(вход - Name, Index, Looping, Reversed, Slowdown).
На данный момент возможно проигрывание только оригинальных анимаций.
Name - string (имя модели с анимацией)
Index - int (id анимации, то есть её номер)
Looping - int (цикличное воспроизведение 0 - нет; 1- да)
Reversed - int (обратное воспроизведение 0 - нет; 1- да)
Slowdown - float (коэффициент замедления: от 0 до1 мы ускоряем; от 1 до +1000 замедляем; 1 - нормальная скорость воспроизведения)
Sound - воспроизведения звука(Вход - Name, Looping, Gain; Выход - Duration).
Необходимо добавить свойство Звук к объекту.
Name - string (имя модели со звуком)
Looping - int (цикличное воспроизведение 0 - нет; 1- да)
Gain - float (громкость 1 - норма)
Duration - float (продолжительность воспроизведения)
Physics - позволяет управлять Механических свойством объекта.
Необходимо добавить Механическое свойство к объекту.
Name - string (Имя модели с Механическим свойством)
Body Type - int (Тип тела от 0 до 2:Статическое, Динамическое, Кинематическое)
Density - float (Плотность объекта)
Mass - float (Масса объекта)
Friction - float (Трение материала)
Restitution - float (Отскок материала)
Collision Group - int(Группа столкновений - оптимально)
Collision Mask - int(Маска столкновений - оптимально)
Impulse X/Y/Z - float (Импульс по одной из осей)
Reset - int (Сбросить трансформацию 0 - нет; 1- да )
SetTexture - позволяет управлять свойством Текстура объекта(Вход - Name, Texture, WrapMode, FilterMode).
Необходимо добавить свойство Текстура к объекту.
Name - string (имя модели с текстурой)
Texture - string (путь к текстуре)
WrapMode - int (Повторяет Режим переноса свойства Текстура. Выбор режима от 0 до 4: Прижать; Прижать к краю; Прижать к границе; Повторить; Отзеркалить)
FilterMode - int (Повторяет Режим фильтра свойства Текстура. Выбор режима от 0 до 6: Линейный; Линейный мипмап линейный/ближайший; Ближайший; Ближайший мипмап линейный/ближайший)