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

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

(Различия между версиями)
Перейти к: навигация, поиск
(Создание соединения)
 
(2 промежуточные версии не показаны)
Строка 1: Строка 1:
-
{{В_процессе_перевода}}
 
-
 
= Подбираемые объекты =
= Подбираемые объекты =
Строка 64: Строка 62:
Далее можно экспортировать.
Далее можно экспортировать.
-
=== Остатки разрушенных объектов ===
+
=== Осколки разрушенных объектов ===
==== Введение ====
==== Введение ====
-
Когда разрушаемый объект разрушен, появляются его остатки. Они тоже могут быть подбираемыми.
+
Когда разрушаемый объект разрушен, появляются его осколки. Они тоже могут быть подбираемыми.
Данный процесс эквивалентен для объектов, подбираемых одной и двумя руками, но названия объектов с присоединенным хелпером должны иметь префикс в названии хелпера (например, '''remain_''' grab_twohanded_01). Хелперы для неразрушаемых версий объектов («Main») не нуждаются в префиксе.
Данный процесс эквивалентен для объектов, подбираемых одной и двумя руками, но названия объектов с присоединенным хелпером должны иметь префикс в названии хелпера (например, '''remain_''' grab_twohanded_01). Хелперы для неразрушаемых версий объектов («Main») не нуждаются в префиксе.
Строка 82: Строка 80:
# Откройте вашу MAX-сцену и создайте хелпер «Dummy» для вашего объекта. Назовите его, как было описано в разделе «[[Подбираемые_объекты#Введение 2|Введение]]» (например '''remain_''' grab_twohanded_01 или '''piece_banana01_''' grab_onehanded_01).
# Откройте вашу MAX-сцену и создайте хелпер «Dummy» для вашего объекта. Назовите его, как было описано в разделе «[[Подбираемые_объекты#Введение 2|Введение]]» (например '''remain_''' grab_twohanded_01 или '''piece_banana01_''' grab_onehanded_01).
-
# Присоедините помощник-хвататель к вашему объекту.
+
# Соедините хелпер с вашим объектом.
-
# Выровнять по объекту<br /><br />Во многих случаях помощник должен быть расположен под объектом, чтобы игрок мог видеть объект, а не руки в Режиме подбора двумя руками.
+
# Выровняйте его относительно объекта.<br /><br />Во многих случаях хелпер должен быть расположен под объектом, чтобы игрок мог видеть объект, а не руки при подборе двумя руками.
-
 
+
{{Примечание|Точка опоры ('''pivot''') рождаемых осколков, которую вы можете видеть в вашем пакете трёхмерного моделирования, не обязательна должна соответствовать позиции сущности в игре. Это означает, что размещение хелпера для этих объектов может потребовать большее число «проб и ошибок». В качестве эталона для выравнивания хелпера, следует использовать всегда не разрушаемую версию объекта.}}
-
{{Примечание|The pivot of these spawned pieces/remain, that you can see in your DCC-tool, doesn’t match necessarily the entity position in game. This means, that placing the helpers for these objects could require a bit more of «trial and error». It should be a good idea to use always the non-destroyed version of the object as reference to align your helper.}}
+
# Повторите шаги 1-3 для всех обломков/остатков, которые должны быть подбираемыми.
# Повторите шаги 1-3 для всех обломков/остатков, которые должны быть подбираемыми.
 +
Далее можно экспортировать.
-
Далее экспорт
+
==== Использование шаблона хелпера ====
-
==== Использование файла-примера подбираемого помощника ====
+
'''Введение'''
-
'''Обзор'''
+
Во время разработки игры «Crysis» мы разработали продвинутые технологии для выравнивания хелпера для подбираемых объектов в 3ds Max. Мы создали шаблон, который содержит руки игрока от первого лица в позиции взятия объекта и камеру, имитирующую игровую камеру от первого лица. Он также включает в себя хелпер, соединенный с хелпером ограниченного трансформирования. Это облегчает работу одновременно с самим шаблоном и хелпером, что сокращает время на присоединение хелпера.
-
Во время разработки игры «Crysis» мы разработали продвинутые технологии для выравнивания подбираемых одной рукой помощников-хватателей для подбираемых объектов в 3D Studio MAX. Мы создали файл-пример, который содержит руки игрока от первого лица в позиции взятия объекта и камеру, имитирующую камеру от первого лица в игре. Он также включает в себя помощник-хвататель, соединенный с помощником вынужденного трансформирования. Это создает легче вращать весь файл-пример и помощник-хвататель одновременно без присоединения помощника.
+
Ключевой приём — вращайте весь шаблон рук, включая хелпер, пока не достигнете результата, который будет удовлетворять вашим требованиям.
-
Ключ этих примемов вращения всего примера рук, включая помощник-хвататель, пока результат не будет удовлетворять вашим требованиям.
+
Недостаток этого приёма в том, что сцена может стать составной, в особенность, если будут соединены несколько шаблонов в сцене. Чтобы это избежать, можно использовать слои.
-
Недостаток этим приемов в том, что сцена может стать составной, особенно, если больше одного примера соединены в сцене. Эффективный слой может быть использован для помощи этому.
+
'''Шаблон хелпера подбора:'''
-
 
+
-
'''Файл-пример Подбираемого помощника:'''
+
[[:Файл:pickable_template.rar|pickable_template.max (в архиве)]]
[[:Файл:pickable_template.rar|pickable_template.max (в архиве)]]
Строка 107: Строка 103:
'''Настройки в 3ds Max:'''
'''Настройки в 3ds Max:'''
-
# Соедините в «pickable_template.max» файле. Выделите все объекты в окне объединения
+
# Проведите слияние ваших объектов с файлом «pickable_template.max». Выделите все объекты в окне слияния.
-
# Прикрепите помощник «grab_onehanded_01» к вашим объектам.
+
# Соедините хелпер «grab_onehanded_01» с вашими объектами.
-
# Настройте позицию и поворот помощника «pickable_templete» . Помощник «grab_onehanded_01» зависит от «pickable_template», так как он наследует все изменения помощника «pickable_template».
+
# Настройте позицию и поверните хелпер «pickable_template». Хелпер «grab_onehanded_01» зависит от «pickable_template», так как он наследует все изменения хелпера «pickable_template».
-
Далее экспорт.
+
Далее можно экспортировать.
-
'''Пример для хорошего выравнивания подбираемого помощника:'''
+
'''Пример правильного выравнивания хелпера подбора:'''
[[Файл:AssetCreation_PickableObjects_template_aligned.jpg]]
[[Файл:AssetCreation_PickableObjects_template_aligned.jpg]]
Строка 119: Строка 115:
=== '''Экспорт''' ===
=== '''Экспорт''' ===
-
# Добавить путь вашего подбираемого объекта в лист экспорта
+
# Добавить корневой узел вашего подбираемого объекта в список экспорта.
-
# Применить «Export by node».
+
# Отметьте флажок «Export by node», и снимите флажок с «Merge all nodes».
-
# Нажать экспорт
+
# Нажмите «Export Nodes».
-
{{Примечание|Все присоединенное к объекту, включая все подобъекты/помощники будет экспортировано в один файл.}}
+
{{Примечание|Всё, что соединено с объектом, включая все под-объекты и хелперы, будут экспортированы в один файл.}}
=== '''Настройки в Sandbox''' ===
=== '''Настройки в Sandbox''' ===
-
Для того, чтобы ваш подбираемый объект работал в Sandbox, разместите его в GeomEntity или Entity с настройкой «Pickable» и «RigidBody» в позиции TRUE, а «Usable» — «Disable».
+
Для того, чтобы ваш подбираемый объект работал в Sandbox, разместите его как GeomEntity или Entity, и задайте в настройках «Pickable» и «RigidBody» значение «True», а «Usable» — «False».
'''Типы подбираемых объектов:'''
'''Типы подбираемых объектов:'''
-
* Entity с «Pickable» и «RigidBody» в позиции TRUE, а «Usable» — «FALSE»;
+
* Задайте в настройках «Pickable» и «RigidBody» значение «True», а «Usable» — «False».
-
* Entity с «Pickable» и «RigidBody» в позиции TRUE, а «Usable» — «FALSE»;
+
* Частицы, содержащие хелпер подбора.
-
* Регдолл-объекты, содержащие помощники-хвататели (например «Тряпичная кукла»)
+
* Рэгдолл-объекты, содержащие хелперы (например, «мёртвые тела»).
-
* "«Стандартно» — класс сущностей (обломки сломанной растительности)
+
* Класс сущностей «Default» (обломки разрушаемой растительности).
-
* «Стандартно» — класс сущностей (обломки сломанной растительности)
+
* Процедурная растительность с заданным значением «True» в флаге «Pickable».
'''Пример свойств подбираемой сущности:'''
'''Пример свойств подбираемой сущности:'''
Строка 141: Строка 137:
[[Файл:AssetCreation_PickableObjects_entity.jpg]]
[[Файл:AssetCreation_PickableObjects_entity.jpg]]
-
=== '''Подбор анимированных НЕ-ИИ персонажей ''' ===
+
=== '''Подбор анимированных не-ИИ персонажей ''' ===
-
==== Обзор ====
+
==== Введение ====
-
НЕ-ИИ персонажи могут быть настроены как подбираемые(например животные)
+
Не-ИИ персонажи могут быть настроены, как подбираемые объекты (например, животные).
-
В этом руководстве мы будем рассматривать присоединение помощников-хватателей н в DCC-Tool, а в Sandbox, в Редакторе персонажей(Character Editor)
+
В этом руководстве мы рассмотрим соединение хелпера в пакете трёхмерного моделирования, а в Sandbox, в редакторе персонажей ('''Character Editor''').
-
Помощник-хвататель будет добавлен персонажу как присоединение кости. Так ориентация помощника зависит от кости, присоединенной к нему. Вам необязательно применять объекту присоединение, но для более легкого выравнивания желательно использовать объект с чистой видимой ориентацией. Объект будет удален из связки после того, как будет достигнут желаемый результат.
+
Хелпер будет добавлен к персонажу в качестве кости прикрепления. Так ориентация хелпера зависит от кости, соединённой с ним. Вам необязательно применять к объекту прикрепление, но для более легкого выравнивания, желательно использовать объект с чётко видимой ориентацией. Объект будет удален из прикрепления после того, как будет достигнут желаемый результат.
 +
==== Создание соединения ====
-
==== Создание соединения: ====
+
# Откройте файл CHR или CDF для создание подбираемого персонажа в редакторе персонажей.
-
 
+
# Добавьте новой прикрепление.
-
# Откройте .chr или .cdf файл для создание подбираемого персонажа в Редакторе персонажа.
+
# Настройте это прикрепление, как прикрепление любых костей (лучше корневую кость, так как она не анимирована).
-
# Добавьте новой соединение.
+
# Переместите и вращайте объект, пока не будет достигнут желаемый результат в виде от первого лица.
-
# Настройте это соединение как соединение любых костей(лучше основную кость объекта, так как она после не анимируется).
+
# Сохраните вашу работу как CDF-файл.
-
# Переместите и вращайтеобъект, пока не будет достигнут желаемый результат в виде от первого лица.
+
# Разместите ваш анимированный не-ИИ персонаж в окне просмотра Sandbox (животные обычно расположены в библиотеке ArchetypeEntity).
-
# Сохраните вашу работу как .cdf файл.
+
# Перейдите в режим игры, подберите ваш не-ИИ персонаж и посмотреть, насколько хорошо он выравнен в виде от первого лица.
-
# Разместите вашего анимированного НЕ-ИИ персонажа и Окне перспективы и Sandbox(Животные обычно расположены в библиотеке ArchetypeEntity).
+
# Чтобы удалить объект, использованный как хелпер для выравнивания, откройте ваш CDF-файл в «Блокноте» и удалите путь к этому объекту.
-
# Разместите вашего анимированного НЕ-ИИ персонажа и Окне перспективы и Sandbox(Животные обычно расположены в библиотеке ArchetypeEntity).
+
-
# Для того, чтобы удалить объект, использованный как помощник для выравнивания, откройте ваш .cdf файл в Блокноте и удалите путь к этому объекту.
+
# Повторите шаги 4-7, пока не будет достигнут желаемый результат
# Повторите шаги 4-7, пока не будет достигнут желаемый результат
'''Во время выравнивания:'''
'''Во время выравнивания:'''
 +
[[Файл:AssetCreation_PickableObjects_chick_before.jpg]]
[[Файл:AssetCreation_PickableObjects_chick_before.jpg]]
[[Файл:AssetCreation_PickableObjects_chick_att_before.jpg]]
[[Файл:AssetCreation_PickableObjects_chick_att_before.jpg]]
-
'''После удаления Пути удаления в Блокноте:'''
+
'''После удаления пути к объекту в «Блокноте»:'''
[[Файл:AssetCreation_PickableObjects_chick_after.jpg]]
[[Файл:AssetCreation_PickableObjects_chick_after.jpg]]
Строка 175: Строка 171:
[[Файл:AssetCreation_PickableObjects_chick_att_after.jpg]]
[[Файл:AssetCreation_PickableObjects_chick_att_after.jpg]]
-
=== Примечание ===
+
=== Примечания ===
-
 
+
-
Изменение в подбираемом режиме ИИ-персонажей и процедуры разрушения объекта прописываются в коде игры. Имя костей ИИ персонажей, которые обслуживают помощник-хвататель, объявляются игровом коде. Позиция хвата подбираемых процедурных разрушений окружающей среды обломков находятся вне пивота, который должен быть объявлен в коде игры.
+
 +
Изменение режима подбора ИИ-персонажей и процедурных разрушаемых объектов окружения, прописываются в коде игры. Название кости ИИ-персонажей, которая служит хелпером, необходимо определять в коде игры. Позиция подбора обломков процедурных разрушаемых объектов окружения находятся вне точки опоры, которая должна быть определена в коде игры.
-
=== Поиск и решение проблем ===
 
-
e_debug_draw 15 displays all grab_helpers
+
=== Отладка ===
 +
;e_debug_draw 15:Отображает все хелперы подбора.
-
[[Категория:Официальная документация: Создание Ассетов: Основы]]
+
[[Категория:Официальная документация:Создание ресурсов:Основы]]

Текущая версия на 14:00, 2 июня 2011

Содержание

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

Введение

В 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
Отображает все хелперы подбора.