You can edit almost every page by Creating an account. Otherwise, see the FAQ.

Blueprint

Материал из EverybodyWiki Bios & Wiki
Перейти к:навигация, поиск

Ошибка скрипта: Модуля «Unsubst» не существует. 

Blueprint (англ. blueprint — план, чертеж) — система визуального скриптинга, представляющая собой визуальный интерфейс для создания элементов Геймплей, используемая в игровом движке Unreal Engine. Данная система позволяет использовать почти полный потенциал программирования.

Использование[править]

Язык Blueprint может использоваться в движке Unreal Engine для самых разных целей. Несмотря на то, что движок Unreal Engine также поддерживает язык программирования C++, игра может быть написана только на Blueprint.[1]

Существует 2 типа blueprint’ов: Level Blueprint (в котором происходит настройка уровня в целом) и Class Blueprint. Class Blueprint унаследует другие классы, которые в свою очередь унаследуют следующие[2]:

  • Class Blueprint — родительский класс для всех подклассов
    • Actor Blueprint — объекты, которые могут быть размещены или призваны в мире
      • Pawn — объекты, которым можно управлять клавиатурой, мышкой, джойстиком и т. п.
        • Character — объекты, имеющие возможность бегать, прыгать, ходить и т. п.
    • GameMode — определяет саму игру, например, ее правила, подсчет очков и т. п. Также здесь настраиваются другие Blueprint’ы по умолчанию, например, скрипт объекта, которым управляет игрок.

Синтаксис языка[править]

Вся логика языка Blueprint строится из нодов (или блоки), которые соединяются проводами.

Существует несколько типов нодов[3]:

  1. Event (англ. event — событие) — некоторое событие, после которого начинает выполняться следующий код. Примеры event’ов: event tick (вызывается каждый кадр), event beginPlay (вызывается при запуске игры), event onActorBeginOverlap (вызывается, когда хитбокс какого-либо объекта пересекся с хитбоксом другого объекта). Event — это собственно функции, которые вызываются самим движком при определенных условиях.
  2. Function (англ. function — функция) - также как и в других языках программирования функции. Составляют большую часть кода на blueprint. Существуют внутриигровые функции, которые можно использовать, например:
  • Get/Set variable — получает переменную или устанавливает в нее указанное значение
  • AddActorWorldOffset — сдвигает объект в мировых координатах на указанное расстояние.
  • PrintString — печатает на экране указанный текст. Текст виден только в редакторе, в уже скомпилированной игре его не будет.
  • Delay — приостанавливает выполнение скрипта на указанное количество времени.
  • и так далее.

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

3. Блок Branch (англ. branch — ветка) — аналог условного оператора if-else

4. Блоки Switch on … (англ. switch — переключатель) — аналог оператора switch case.

5. Блоки циклов for, for with break (цикл for с условием выхода), while.

6. Блок Construction Scipt (англ. Construction — строительство) — специальная функция, вызываемая при спавне объекта или изменении его характеристик. Может быть вызвана даже до начала игры в редакторе.


Blueprint — строго типизированный язык (как и C++), поэтому все переменные должны иметь свой тип данных. Поддерживаются также массивы, словари.

Также Blueprint — язык объектно-ориентированный, поэтому поддерживает все принципы ООП: абстракция, инкапсуляция, наследование и полиморфизм.

Комментарии[4][править]

В Blueprint есть возможность добавлять к коду комментарии, однако при этом, как во всех других языках программирования, код не будет пропускаться, а будет продолжать работать. Комментарий — это белый полупрозрачный квадрат (хотя цвет можно поменять, этим редко пользуются), который оборачивает один или несколько нодов, и имеет сверху поле, в который можно ввести текст, собственно самого комментария.

Компиляция кода[править]

При запуске игры все Blueprint коды переводятся на язык C++. В самой игре используется уже переведенный код на C++. Само переведение занимает некоторое время, поэтому игра на Blueprint может работать несколько дольше, чем на C++, однако это зависит от чистоты кода. У профессионального программиста разница между скриптом на Blueprint и на C++ может быть почти незаметна.

См. также[править]

Примечания[править]

  1. Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
  2. Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
  3. Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.
  4. Ошибка Lua в package.lua на строке 80: module 'Module:Languages' not found.

Шаблон:Unreal

Шаблон:Игровые движки


This article "Blueprint" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Blueprint. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.



Read or create/edit this page in another language[править]