Подбираемые объекты

Материал из CryWiki Russia

Версия от 14:00, 2 июня 2011; DCamer (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Содержание

Подбираемые объекты

Введение

В CryEngine 2 объекты можно сделать «подбираемыми». Игрок может взять их в одну или две руки, таскать их повсюду и бросать, а потом снова подбирать. Поведение подбора определено в игровом скрипте.

В игровом скрипте Crysis обозначены два типа поведения подбора:

One-handed
Игрок может подобрать объект левой рукой и удерживать объект в этой руке. Оружие находящиеся в правой можно использовать. Если игрок выберет двуручное оружие, оружие будет переключено на кулаки.
Two-handed
Игрок может подобрать и удерживать объект обеими рукам. Сами по себе руки не видны от первого лица. Оружие при этом использовать невозможно.

Требования

Подбираемые объект должен быть правильно настроен в пакетах трёхмерного моделирование, залог этого:

  • Назначенная на него прокси-коллизия NoDraw.
  • Определённая масса или плотность (либо в свойствах объект в 3ds Max, либо в свойствах сущности в Sandbox).
  • Хелпер подбора с правильным названием.

Настройка в пакетах трёхмерного моделирования

3ds Max

Чтобы определить позицию объекта на экране при его подборе, должен быть назначен и привязан к объекту хелпер. Наличие такого хелпера в иерархии объекта, превратит объект в подбираемый. В Crysis, точка опоры («pivot») выровнен по кости «item_attachment», которая расположена в скелете анимации осколочной гранаты. Ориентация этой кости такова: +X = справа, +Y = спереди, +Z = сверху. В анимации одноручного подбора, позиция кости «item_attachment» находится в левой руке игрока.
В двуручном подборе кость расположена по центру, между руками игрока.

Используйте «„Local“ Coordinate System» («систему „локальных“ координат») при регулировки позиции хелпера подбора.

AssetCreation PickableObjects 04.jpg

Объекты, подбираемые одной рукой

Файл примера

Пример иерархии

AssetCreation PickableObjects 03.jpg

Настройка хелпера:

  1. Откройте вашу MAX-сцену и создайте хелпер «Dummy».
    Назовите его «grab_onehanded_01» (название должно быть правильным).
  2. Соедините хелпер grab_onehanded_01 с вашим объектом.
  3. Выровняйте его относительно объекта.

Далее можно экспортировать.

Объекты, подбираемые двумя руками

Файл примера

Пример иерархии

AssetCreation PickableObjects two 02.jpg

Настройка хелпера:

  1. Откройте вашу MAX-сцену и создайте хелпер «Dummy».
    Назовите его «grab_twohanded_01» (название должно быть правильным).
  2. Соедините хелпер grab_twohanded_01 с вашим объектом.
  3. Выровняйте его относительно объекта. В Crysis хелпер должен быть расположен под объектом, чтобы игрок мог видеть сам объект, а не руки при подборе двумя руками.

Далее можно экспортировать.

Осколки разрушенных объектов

Введение

Когда разрушаемый объект разрушен, появляются его осколки. Они тоже могут быть подбираемыми.

Данный процесс эквивалентен для объектов, подбираемых одной и двумя руками, но названия объектов с присоединенным хелпером должны иметь префикс в названии хелпера (например, remain_ grab_twohanded_01). Хелперы для неразрушаемых версий объектов («Main») не нуждаются в префиксе.

Файл примера

Пример иерархии:

AssetCreation PickableObjects dest 01.jpg

Стандартные настройки в 3Ds MAX:

  1. Откройте вашу MAX-сцену и создайте хелпер «Dummy» для вашего объекта. Назовите его, как было описано в разделе «Введение» (например remain_ grab_twohanded_01 или piece_banana01_ grab_onehanded_01).
  2. Соедините хелпер с вашим объектом.
  3. Выровняйте его относительно объекта.

    Во многих случаях хелпер должен быть расположен под объектом, чтобы игрок мог видеть объект, а не руки при подборе двумя руками.

Примечание:
Точка опоры (pivot) рождаемых осколков, которую вы можете видеть в вашем пакете трёхмерного моделирования, не обязательна должна соответствовать позиции сущности в игре. Это означает, что размещение хелпера для этих объектов может потребовать большее число «проб и ошибок». В качестве эталона для выравнивания хелпера, следует использовать всегда не разрушаемую версию объекта.

  1. Повторите шаги 1-3 для всех обломков/остатков, которые должны быть подбираемыми.

Далее можно экспортировать.

Использование шаблона хелпера

Введение

Во время разработки игры «Crysis» мы разработали продвинутые технологии для выравнивания хелпера для подбираемых объектов в 3ds Max. Мы создали шаблон, который содержит руки игрока от первого лица в позиции взятия объекта и камеру, имитирующую игровую камеру от первого лица. Он также включает в себя хелпер, соединенный с хелпером ограниченного трансформирования. Это облегчает работу одновременно с самим шаблоном и хелпером, что сокращает время на присоединение хелпера.

Ключевой приём — вращайте весь шаблон рук, включая хелпер, пока не достигнете результата, который будет удовлетворять вашим требованиям.

Недостаток этого приёма в том, что сцена может стать составной, в особенность, если будут соединены несколько шаблонов в сцене. Чтобы это избежать, можно использовать слои.

Шаблон хелпера подбора:

pickable_template.max (в архиве)

Настройки в 3ds Max:

  1. Проведите слияние ваших объектов с файлом «pickable_template.max». Выделите все объекты в окне слияния.
  2. Соедините хелпер «grab_onehanded_01» с вашими объектами.
  3. Настройте позицию и поверните хелпер «pickable_template». Хелпер «grab_onehanded_01» зависит от «pickable_template», так как он наследует все изменения хелпера «pickable_template».

Далее можно экспортировать.

Пример правильного выравнивания хелпера подбора:

AssetCreation PickableObjects template aligned.jpg

Экспорт

  1. Добавить корневой узел вашего подбираемого объекта в список экспорта.
  2. Отметьте флажок «Export by node», и снимите флажок с «Merge all nodes».
  3. Нажмите «Export Nodes».

Примечание:
Всё, что соединено с объектом, включая все под-объекты и хелперы, будут экспортированы в один файл.

Настройки в Sandbox

Для того, чтобы ваш подбираемый объект работал в Sandbox, разместите его как GeomEntity или Entity, и задайте в настройках «Pickable» и «RigidBody» значение «True», а «Usable» — «False».

Типы подбираемых объектов:

  • Задайте в настройках «Pickable» и «RigidBody» значение «True», а «Usable» — «False».
  • Частицы, содержащие хелпер подбора.
  • Рэгдолл-объекты, содержащие хелперы (например, «мёртвые тела»).
  • Класс сущностей «Default» (обломки разрушаемой растительности).
  • Процедурная растительность с заданным значением «True» в флаге «Pickable».

Пример свойств подбираемой сущности:

AssetCreation PickableObjects entity.jpg

Подбор анимированных не-ИИ персонажей

Введение

Не-ИИ персонажи могут быть настроены, как подбираемые объекты (например, животные).

В этом руководстве мы рассмотрим соединение хелпера в пакете трёхмерного моделирования, а в Sandbox, в редакторе персонажей (Character Editor).

Хелпер будет добавлен к персонажу в качестве кости прикрепления. Так ориентация хелпера зависит от кости, соединённой с ним. Вам необязательно применять к объекту прикрепление, но для более легкого выравнивания, желательно использовать объект с чётко видимой ориентацией. Объект будет удален из прикрепления после того, как будет достигнут желаемый результат.

Создание соединения

  1. Откройте файл CHR или CDF для создание подбираемого персонажа в редакторе персонажей.
  2. Добавьте новой прикрепление.
  3. Настройте это прикрепление, как прикрепление любых костей (лучше корневую кость, так как она не анимирована).
  4. Переместите и вращайте объект, пока не будет достигнут желаемый результат в виде от первого лица.
  5. Сохраните вашу работу как CDF-файл.
  6. Разместите ваш анимированный не-ИИ персонаж в окне просмотра Sandbox (животные обычно расположены в библиотеке ArchetypeEntity).
  7. Перейдите в режим игры, подберите ваш не-ИИ персонаж и посмотреть, насколько хорошо он выравнен в виде от первого лица.
  8. Чтобы удалить объект, использованный как хелпер для выравнивания, откройте ваш CDF-файл в «Блокноте» и удалите путь к этому объекту.
  9. Повторите шаги 4-7, пока не будет достигнут желаемый результат

Во время выравнивания:

AssetCreation PickableObjects chick before.jpg

AssetCreation PickableObjects chick att before.jpg

После удаления пути к объекту в «Блокноте»:

AssetCreation PickableObjects chick after.jpg

AssetCreation PickableObjects chick att after.jpg

Примечания

Изменение режима подбора ИИ-персонажей и процедурных разрушаемых объектов окружения, прописываются в коде игры. Название кости ИИ-персонажей, которая служит хелпером, необходимо определять в коде игры. Позиция подбора обломков процедурных разрушаемых объектов окружения находятся вне точки опоры, которая должна быть определена в коде игры.


Отладка

e_debug_draw 15
Отображает все хелперы подбора.