ru:toolworks:docs:apparatus:beginner

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Последняя версияСледующая версия справа и слева
ru:toolworks:docs:apparatus:beginner [2021/04/16 12:00] jisparru:toolworks:docs:apparatus:beginner [2021/04/28 10:56] vladius
Строка 14: Строка 14:
  
    - Теперь надо [[ue>Basics/Projects/Browser|создать новый проект]]. Выберете пустой шаблон, так как в этом уроке мы настроим всё с нуля. Остальные опции можно оставить без изменений. Мы назовём модельную игру "ApparatusLearn", ну а вы можете использовать любое другое имя.    - Теперь надо [[ue>Basics/Projects/Browser|создать новый проект]]. Выберете пустой шаблон, так как в этом уроке мы настроим всё с нуля. Остальные опции можно оставить без изменений. Мы назовём модельную игру "ApparatusLearn", ну а вы можете использовать любое другое имя.
-   - Когда проект создался и открылся, не лишним будет проверить, выбран ли плагин в настройках. Для этого в верхнем меню выберете 'Edit' -> 'Plugins'. Затем напечатайте 'Apparatus' в строке поиска (или промотайте вниз до 'Workflow' секции). Убедитесь, что галочка 'Enabled' включена:{{ :en:toolworks:docs:apparatus-if-enabled.png?nolink |}}+   - Когда проект создался и открылся, не лишним будет проверить, выбран ли плагин в настройках. Для этого в верхнем меню выберете 'Edit' -> 'Plugins'. Затем напечатайте 'Apparatus' в строке поиска (или промотайте вниз до 'Workflow' секции). Убедитесь, что опция 'Enabled' включена:{{ :en:toolworks:docs:apparatus-if-enabled.png?nolink |}}
  
 ===== Начало работы с плагином ===== ===== Начало работы с плагином =====
Строка 23: Строка 23:
       * 'JumpMoveInput' – клавиша <key>w</key>.       * 'JumpMoveInput' – клавиша <key>w</key>.
    - Получим: {{ :en:toolworks:docs:apparatus-bindings.png?nolink |}}    - Получим: {{ :en:toolworks:docs:apparatus-bindings.png?nolink |}}
-   - Создадим новую 'пешку' (Pawn Blueprint). Для этого нажмём зелёную кнопочку 'Add/Import' в Content-браузере. Выберем 'Blueprint Class'->'Pawn' и дадим ему имя 'BP_MainPawn' (подробнее про именование ассетов можно посмотреть в [[https://github.com/Allar/ue4-style-guide|стиль-руководстве]]). После создания нового блупринт-класса, прожмите <key>Ctrl</key>+<key>s</key>, чтобы сохранить только что созданный объект. Теперь двойным нажатием по иконке 'BP_MainPawn' откроем редактор блупринтов (если вы в первый раз сталкиваетесь с Content-браузером, советуем проверить [[ue>Basics/ContentBrowser/index.html|официальную документацию]]). Переходим в Event-граф и удаляем все ноды через <key>Ctrl</key>+<key>a</key> и <key>Del</key>. В дальнейшем подразумевается, что вы знакомы и с [[ue>ProgrammingAndScripting/Blueprints/Editor/index.html|редактором Blueprint'ов]]; далее - BP).+   - Создадим новую 'пешку' (Pawn Blueprint). Для этого нажмём зелёную кнопку 'Add/Import' в Content-браузере. Выберем 'Blueprint Class'->'Pawn' и дадим ему имя 'BP_MainPawn' (подробнее про именование ассетов можно посмотреть в [[https://github.com/Allar/ue4-style-guide|стиль-руководстве]]). После создания нового блупринт-класса, прожмите <key>Ctrl</key>+<key>s</key>, чтобы сохранить только что созданный объект. Теперь двойным нажатием по иконке 'BP_MainPawn' откроем редактор блупринтов (если вы в первый раз сталкиваетесь с Content-браузером, советуем проверить [[ue>Basics/ContentBrowser/index.html|официальную документацию]]). Переходим в Event-граф и удаляем все ноды через <key>Ctrl</key>+<key>a</key> и <key>Del</key>. В дальнейшем подразумевается, что вы знакомы и с [[ue>ProgrammingAndScripting/Blueprints/Editor/index.html|редактором Blueprint'ов]]; далее - BP).
    - В редакторе BP перейдём во Viewport и к списку компонентов пешки добавим 'StaticMesh'. В [[ue>ProgrammingAndScripting/Blueprints/Editor/UIComponents/Details|панели деталей]] справа для 'Static Mesh'-свойства выберем 'Cube' mesh-ассет. Чтобы пешка выглядела более приятной, можно для 'Element 0' свойства выбрать материал  'BrushedMetal'. А сейчас, пожалуйста, добавьте **'Subjective Actor'** компонент (предоставляемый Apparatus'ом) к нашей пешке и посмотрите в панель деталей, чтобы ближе познакомиться с новым Actor-компонентом. В этом уроке нам потребуются только свойства под секцией 'Details':{{ :en:toolworks:docs:apparatus-details-panel.png?nolink |}}Как вы уже догадались, детали мы будем настраивать именно здесь.    - В редакторе BP перейдём во Viewport и к списку компонентов пешки добавим 'StaticMesh'. В [[ue>ProgrammingAndScripting/Blueprints/Editor/UIComponents/Details|панели деталей]] справа для 'Static Mesh'-свойства выберем 'Cube' mesh-ассет. Чтобы пешка выглядела более приятной, можно для 'Element 0' свойства выбрать материал  'BrushedMetal'. А сейчас, пожалуйста, добавьте **'Subjective Actor'** компонент (предоставляемый Apparatus'ом) к нашей пешке и посмотрите в панель деталей, чтобы ближе познакомиться с новым Actor-компонентом. В этом уроке нам потребуются только свойства под секцией 'Details':{{ :en:toolworks:docs:apparatus-details-panel.png?nolink |}}Как вы уже догадались, детали мы будем настраивать именно здесь.
    - <key>Ctrl</key>+<key>Shift</key>+<key>s</key> чтобы сохранить всё; пожалуйста, скомпилируйте BP. Вновь откройте Content-браузер. Здесь мы создадим новый BP, но на этот раз раскроем панель 'All classes' и найдём там класс 'Detail':{{ :en:toolworks:docs:apparatus-new-detail.png?nolink |}} Есть также возможность создавать детали через 'Create Advanced Asset' секцию в меню Content-браузера (доступ по правой кнопки мыши): {{ :en:toolworks:docs:apparatus:extra-detail-creation.png?nolink |}}    - <key>Ctrl</key>+<key>Shift</key>+<key>s</key> чтобы сохранить всё; пожалуйста, скомпилируйте BP. Вновь откройте Content-браузер. Здесь мы создадим новый BP, но на этот раз раскроем панель 'All classes' и найдём там класс 'Detail':{{ :en:toolworks:docs:apparatus-new-detail.png?nolink |}} Есть также возможность создавать детали через 'Create Advanced Asset' секцию в меню Content-браузера (доступ по правой кнопки мыши): {{ :en:toolworks:docs:apparatus:extra-detail-creation.png?nolink |}}
Строка 39: Строка 39:
    - Создадим новый 'GameMode' (или 'GameModeBase', - и тот и другой вариант приемлем) наследовавшись от 'MechanicalGameMode' (соответственно - 'MechanicalGameModeBase'). Новый класс назовём 'BP_Mechanism'. Примерно так:{{ :en:toolworks:docs:apparatus-create-mechanism.png?nolink |}}    - Создадим новый 'GameMode' (или 'GameModeBase', - и тот и другой вариант приемлем) наследовавшись от 'MechanicalGameMode' (соответственно - 'MechanicalGameModeBase'). Новый класс назовём 'BP_Mechanism'. Примерно так:{{ :en:toolworks:docs:apparatus-create-mechanism.png?nolink |}}
    - Откройте, пожалуйста, 'BP_Mechanism' в редакторе и в панели деталей установите 'Default pawn class' в 'BP_MainPawn'. Далее перейдём в настройки уровня: 'Blueprints'->'Project Settings : GameMode' и выберем 'BP_Mechanism' в качестве главного GameMode'а проекта:{{ :en:toolworks:docs:apparatus-select-gamemode.png?nolink |}}    - Откройте, пожалуйста, 'BP_Mechanism' в редакторе и в панели деталей установите 'Default pawn class' в 'BP_MainPawn'. Далее перейдём в настройки уровня: 'Blueprints'->'Project Settings : GameMode' и выберем 'BP_Mechanism' в качестве главного GameMode'а проекта:{{ :en:toolworks:docs:apparatus-select-gamemode.png?nolink |}}
-   - Теперь, если запустить игру, можно видеть, что камера работает и "пешка" спавнится; но куб не двигается по нажатию на <key>a</key>, <key>d</key> или <key>w</key>. Исправим это. Найдём 'BP_MainPawn' в редакторе BP и в списке Actor-компонентов выберем 'SubjectiveActor', чтобы его свойства отобразились на панели деталей справа. В этой панели находим свойство 'Details' и к нему при помощи кнопочки ''+'' добавляем новые детали и выбираем их типы. Нам понадобятся два класса, как изображено на скриншоте:{{ :en:toolworks:docs:apparatus-details-list.png?nolink |}}+   - Теперь, если запустить игру, можно видеть, что камера работает и "пешка" спавнится; но куб не двигается по нажатию на <key>a</key>, <key>d</key> или <key>w</key>. Исправим это. Найдём 'BP_MainPawn' в редакторе BP и в списке Actor-компонентов выберем 'SubjectiveActor', чтобы его свойства отобразились на панели деталей справа. В этой панели находим свойство 'Details' и к нему при помощи кнопки ''+'' добавляем новые детали и выбираем их типы. Нам понадобятся два класса, как изображено на скриншоте:{{ :en:toolworks:docs:apparatus-details-list.png?nolink |}}
    - Теперь Вы видите, что добавлять и удалять детали можно очень просто через настройки Actor' компонента, причём совершенно не важно, в каком порядке они добавлены, в каком порядке в списке отображаются. Вы также можете видеть открытые переменные деталей и менять их значения по умолчанию. Заметим, что если, например, изменить параметр 'Speed' в списке, его default-значение не будет изменено в BP-редакторе 'BP_Moveable', потому как в списке представлены именно инстанциированные объекты класса детали. Изменим здесь значение Speed на ''500''.    - Теперь Вы видите, что добавлять и удалять детали можно очень просто через настройки Actor' компонента, причём совершенно не важно, в каком порядке они добавлены, в каком порядке в списке отображаются. Вы также можете видеть открытые переменные деталей и менять их значения по умолчанию. Заметим, что если, например, изменить параметр 'Speed' в списке, его default-значение не будет изменено в BP-редакторе 'BP_Moveable', потому как в списке представлены именно инстанциированные объекты класса детали. Изменим здесь значение Speed на ''500''.
    - Правильней было бы сделать это в контроллере, но для краткости сделаем это здесь. Будучи в BP-редакторе пешки, перейдите в  Event-граф и добавьте 3 события по нажатию клавиши, что мы настроили ранее (см. шаг 2). Создадим также ноду 'Get SubjectiveActor' и вытащим из неё 3 другие: в окне поиска функций, пожалуйста, найдите 'Add Detail' и в качестве типа детали выберете ''D_Moving''. После этого вы можете видеть, что выходной тип функции сменился на ''D Moving Object Reference''. Иначе говоря, после того, как деталь была добавлена к сущности, можно преобразовать её в переменную ('promote to variable') и использовать в своём коде для вызова её функций или доступа к полям. В нашем случае, мы обратимся к полю направления ('Direction') и установим соответствующие значения. **Не забудьте** установить флаги 'Reuse Disabled' (о том, зачем они, - чуть позже). Полная картина должна быть примерно такой:{{ :en:toolworks:docs:apparatus-move-input.png?nolink |}}    - Правильней было бы сделать это в контроллере, но для краткости сделаем это здесь. Будучи в BP-редакторе пешки, перейдите в  Event-граф и добавьте 3 события по нажатию клавиши, что мы настроили ранее (см. шаг 2). Создадим также ноду 'Get SubjectiveActor' и вытащим из неё 3 другие: в окне поиска функций, пожалуйста, найдите 'Add Detail' и в качестве типа детали выберете ''D_Moving''. После этого вы можете видеть, что выходной тип функции сменился на ''D Moving Object Reference''. Иначе говоря, после того, как деталь была добавлена к сущности, можно преобразовать её в переменную ('promote to variable') и использовать в своём коде для вызова её функций или доступа к полям. В нашем случае, мы обратимся к полю направления ('Direction') и установим соответствующие значения. **Не забудьте** установить флаги 'Reuse Disabled' (о том, зачем они, - чуть позже). Полная картина должна быть примерно такой:{{ :en:toolworks:docs:apparatus-move-input.png?nolink |}}
Строка 65: Строка 65:
 ==== Ссылки ==== ==== Ссылки ====
  
-  * [[https://github.com/Prikalel/ApparatusLearn|Результат на GitHub]] 
   * [[https://github.com/toolworks/ApparatusPlatformer|Более сложный проект на GitHub]]   * [[https://github.com/toolworks/ApparatusPlatformer|Более сложный проект на GitHub]]
   * [[https://turbanov.ru/toolworks/apparatus/docs/api/index.html|Online API Reference]]   * [[https://turbanov.ru/toolworks/apparatus/docs/api/index.html|Online API Reference]]
  
  • ru/toolworks/docs/apparatus/beginner.txt
  • Последнее изменение: 2022/01/04 19:06
  • jispar