Создаем прототип 3D-игры за 60 минут с помощью Project Anarchy

в 4:54, , рубрики: game development, Project Anarchy, Блог компании Intel, Разработка под android, метки:

Создаем прототип 3D игры за 60 минут с помощью Project Anarchy
В этом посте вы найдете пошаговые инструкции, как создать прототип мобильной 3D-игры за невероятно короткое время с помощью игрового движка Project Anarchy. Для работы нам понадобятся:

  • ПК с установленным Project Anarchy SDK, Android SDK и драйверами для подключения по adb;
  • Подключенное по USB Android устройство;
  • Установленное приложение vSceneViewer.apk;
  • Набор объектов LiveCodeparisDemo.zip;
  • Работающее Wi-Fi соединение у ПК и устройства Android.

Создание мира

Запустите vForge. Создайте новый проект в демо папке (LiveCodeParisDemo).

Создаем прототип 3D игры за 60 минут с помощью Project Anarchy

Распакуйте набор объектов поверх нового проекта.
Создайте новую сцену под названием «mygame» в папке сцен.

Создаем прототип 3D игры за 60 минут с помощью Project Anarchy

Используя мастер сцен, выберите MobileForward Renderer, пропустите опции Post Processors и Lighting и нажмите OK.
Убедитесь, что редактор находится в режиме Default Layout и выберите закладку Shape Creators. Найдите объект Static Mesh Instance и перетащите его в середину окна Engine View. Во вкладке Properties выберите MeshFileName, чтобы открыть файловый броузер и выберите «track11k.vmesh».
Из выпадающего меню откройте Engine->Edit Sky. Убедитесь, что значение маппинга установлено как Cubemap и для каждой из текстур CubeTexture прописан соответствующий ей «clear_morning_xxxx.bmp».

Создаем прототип 3D игры за 60 минут с помощью Project Anarchy

В Sky Properties выберите Visible Bitmask и убедитесь, что установлены все биты. Наконец, откройте цветовое средство в пункте Color, чтобы присвоить общему цветовому тону значение [219,156,217].

В выпадающем меню Engine->Edit Fog включите Depth Fog, значение Start установите 1000, а Range – 16000 и, если требуется, назначьте Base color [178,103,185].

Создаем прототип 3D игры за 60 минут с помощью Project Anarchy

Перейдите на вкладку Shape Creators tab и из секции Lighting вытащите Lights (static) – Directional Light на сцену. Установите следующие параметры:

Pitch 0
Multiplier 0.8
Light Color 255,164,101

Перейдите на вкладку Shape Creators и из секции Lighting перетащите Time-of-day sunlight в сцену. Установите Back Light в выплывающем диалоге. Установите следующие свойства:

Солнечный свет (Sunlight)

Pitch 30
Light Color 183,172,109

Фоновый свет (Back Light)

Yaw -180
Pitch -20
Light Color 173,150,102

Из выпадающего меню выберите Lighting->Calculate Lighting. Проигнорируйте предупреждение, в первый раз это нормально. Сцена теперь должна быть полностью залита светом, а тени посчитаны и добавлены.

Добавление объектов и игроков

Добавьте к сцене два новых слоя: Player и Objects.
Выберите слой Player.
Откройте вкладку Asset Browser и поставьте галочку Models. Найдите ballGunBullet.model и перетащите ее в сцену. (замечание: выберите подходящее расположение на наклонной поверхности). Во вкладке Properties установите следующее:

UniformScaling 4
CastDynamicShadows True

Используйте инструмент перемещения, чтобы поднять объект на несколько метров над землей.

Создаем прототип 3D игры за 60 минут с помощью Project Anarchy

Теперь выберите слой Objects.
Откройте вкладку Components, найдите компонент Havok Rigid Body и перетащите его в список Attached Components. Установите свойства твердого тела:

Mass 25
Friction 0.8
Restitution 0.2
LinearDamping 0.3
AngularDamping 0.3
TightFitShape True

Создаем прототип 3D игры за 60 минут с помощью Project Anarchy

Выберите команду Run in Editor и посмотрите результат. Потом остановите просмотр.
Вернитесь во вкладку Asset Browser и перетащите в сцену Barrel.model, разместив ее на подходящем месте внизу от мяча. Установите бочку на землю, подняв ее и во время движения нажав ПКМ Drop to Floor -> Bottom center. Выберите вкладку Components и добавьте Havok Rigid Body со следующими свойствами:

Mass 4
TightFitShape True

Сделайте несколько копий бочки (совет: выделив объект, нажмите Shift и переместите объект для клонирования и размещения). Установите все бочки на земле.
Повторите этот процесс, используя TrafficCone.model со следующими свойствами:

Mass 2
TightFitShape True

Запустите Run in Editor и посмотрите результат.

Создаем прототип 3D игры за 60 минут с помощью Project Anarchy

Визуальный дебаггер (VDB)

Запустите VDB и расположите окна VDB и vForge так, чтобы они оба были видны.

Создаем прототип 3D игры за 60 минут с помощью Project Anarchy

Создаем прототип 3D игры за 60 минут с помощью Project Anarchy

Подключите VDB к vForge через localhost и запустите симуляцию в vForge через Run in Editor.
Управляйте камерой VDB, чтобы лучше увидеть симуляцию. (Совет: пункт меню View->User Cameras->Vision заставит VDB использовать камеру vForge). Через VDB можно посмотреть и изменить свойства Havok Physics. Если нажать и удерживать пробел, когда указатель находится над объектом, его можно «захватить» и перемещать по сцене. Любые манипуляции с объектом в VDB будут немедленно отражены в vForge.

Создаем прототип 3D игры за 60 минут с помощью Project Anarchy

Остановите симуляцию Run in Editor. На этот раз начните запись в VDB (значок с красным кружком) и введите подходящее имя файла для сохранения. Запустите Run in Editor опять и позвольте симуляции работать некоторое время, затем остановите симуляцию и ее запись (значок с черным квадратом). Загрузите запись и проиграйте симуляцию в VDB: приближайте объекты изменяйте скорость воспроизведения и делайте паузу для детального изучения кадра.

Добавление управления для игрока

В слое Player выбираем ballGunBullet.model.
Открываем вкладку Components и добавляем компонент Player Camera со следующими свойствами:

FollowFixed True
CameraDistance 1000
MiniamlDistance 1000
MaximalDistance 2000

Добавляем компонент Lua Script, а в поле ScriptFile устанавливаем «SciptsMarbleLogic.lua» через файловый броузер.
В выпадающем списке изменяем Default Layout на Scripting Layout и выбираем вкладку Script. Lua скрипт должен быть видим и редактируем. Если нет, нажмите на значок Load existing Script и выберите файл «MarbleLogic.lua».

Создаем прототип 3D игры за 60 минут с помощью Project Anarchy

Создаем прототип 3D игры за 60 минут с помощью Project Anarchy

Включите режим Play the Game. Вы сможете управлять шаром с помощью имеющегося игрового контроллера. Камера должна перемещаться плавно. Нажмите Esc для выхода из режима Play the Game.

Использование удаленного ввода

Замечание: это работает только через Wi-Fi соединение в той же сети, что и ПК разработки.
Во вкладке Script измените первую строчку Lua скрипта:

G.useRemoteInput = true and ...

Сохраните скрипт и запустите Play the Game. В верхнем правом угле экрана будет показываться IP адрес. На устройстве откройте интернет браузер и зайдите на указанный IP адрес.

Создаем прототип 3D игры за 60 минут с помощью Project Anarchy

Если все работает верно, прикосновения и данные акселерометра с устройства будут переданы в vForge и будут управлять шаром.

Для отключения удаленного управления исправьте скрипт обратно на

G.useRemoteInput = false and ...

Подготовка для Android

В выпадающем меню выберите Engine->Asset Profile Manager. Заблокируйте профиль для редактирования и нажмите значок Add Profile.
В диалоге New Asset Profile установите Platform значение ANDROID и нажмите OK. Установите Texture: DownscaleLevel значение 1 и нажмите OK.

Создаем прототип 3D игры за 60 минут с помощью Project Anarchy

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

Создаем прототип 3D игры за 60 минут с помощью Project Anarchy

Когда преобразование закончится, выберите File->Export-> Export Scene и убедитесь, что Target File Name установлен как «Scenesmygame». Нажмите Export Active Profile. Убедитесь, что внутри папки Scenes существуют «mygame.android.vscene» и «mygame.android.vscene.data».

Установка на устройство

Если вкладка File Serve не отображается, откройте ее с помощью View->panels->File Serve и прикрепите ее к панели.
Откройте вкладку File Serve. В Data Directories нажмите Add и добавьте путь до проектной папки.

Создаем прототип 3D игры за 60 минут с помощью Project Anarchy

Подключите ваше Android устройство и проверьте, что оно подключилось корректно, потом нажмите Prepare Devices.
На устройстве запустите приложение vSceneViewer и выберите mygame. Первая загрузка будет на несколько секунд дольше последующих, поскольку отсутствуют кешированные файлы. Игра должна запуститься, а шар управляться наклоном устройства.

Настройка приложения

Вы, наверное, заметили, что шар двигается на устройстве гораздо медленнее, чем в vForge. Перейдите во вкладку Script tab и измените строки 30-31 Lua файла:

self.InputScaleX = 10 
self.InputScaleY = 10

Создаем прототип 3D игры за 60 минут с помощью Project Anarchy

Сохраните файл и загрузите снова игру на устройство. Приложение будет перезагружено из кеша и только измененный Lua файл будет загружен с файлового сервера. Теперь шар должен стать гораздо более управляемым.

Добавление фоновой музыки

Создайте новый слой под названием Sound. Со вкладки Shape Creators перетащите звуковой объект в сцену и установите его свойства:

FileName SoundsHeavyIndustrial.ogg
Is3D False
Background True

Выберите Play the Game и убедитесь, что музыка слышна. Заново экспортируйте сцену и перезагрузите ее в устройство. Музыка должна быть слышна.

Горящие бочки

Из выпадающего списка Layout выберите Particle Editor Layout и откройте вкладку Particle Editor. Нажмите на значок Create a New particle Effect icon и из Template Selection выберите Fire Torch With Smoke

Создаем прототип 3D игры за 60 минут с помощью Project Anarchy.

Откройте слой Objects и перетащите только что созданный эффект в сцену. В окне Shapes перетащите созданный эффект на одну из бочек таким образом, чтобы сделать его дочерним для бочки. ПКМ на объекте эффекте и выберите Relevant operations->align to parent

Создаем прототип 3D игры за 60 минут с помощью Project Anarchy.

Используя инструмент перемещения, перетащите эффект к низу бочки. Во вкладке Properties установите следующее:

Pitch -90
UniformScaling 4

Далее назад во вкладку Particle Editor и для каждой из трех подсистем установите Z компонент во вкладке Physics и убедитесь, что Affects gravity включено:

Flames: Flames Z 1000
Fire: Fire Z 1000
Smoke Sequence: Thick Smoke Z 300

Создаем прототип 3D игры за 60 минут с помощью Project Anarchy

Создание префаба

В окне Shapes, ПКМ на бочке с эффектом, выберите Create Prefab и в диалоге Create File назовите Name — «Flaming Barrel». Нажмите ОК и далее ОК в следующем диалоге Edit Properties. Выберите вкладку Shape Creators и откройте папку Prefabs. Новый префаб должен быть в списке. Перетащите префаб в сцену несколько раз, чтобы заполнить ее горящими бочками.

Создаем прототип 3D игры за 60 минут с помощью Project Anarchy

Выберите Play the Game и посмотрите результаты.
Переэкспортируйте сцену и перезагрузите ее на устройство.

Автор: saul

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js