Персонажи от первого лица

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

(Различия между версиями)
Перейти к: навигация, поиск
м
Строка 156: Строка 156:
Это хорошая идея - иметь начальную и конечную позицию по умолчанию, в таком случае смешивание анимаций будет происходить гладко.
Это хорошая идея - иметь начальную и конечную позицию по умолчанию, в таком случае смешивание анимаций будет происходить гладко.
-
'''Tip:''' <br>
+
 
-
You can also create a free camera at the world coordinate center which is looking in the direction of the positive y-axis. When you set its FOV (field of view) to the same value you use in-game, it becomes an accurate representation of what your animation will look like from the players view.
+
{{Примечание|title=Совет|Вы можете создать свободную камеру во центре всемирных координат, которая будет смотреть в направлении положительной оси y. When you set its FOV (field of view) to the same value you use in-game, it becomes an accurate representation of what your animation will look like from the players view.  
-
You can also use &#8220;link constraints&#8221; on the camera to a helper called &#8220;camera_helper&#8221;, which is parented to the &#8220;root-bone&#8221; of the arms character, and later activate the camera control parameter for specific animations to let them be controlled by this helper. Mind, that the start and end frame of the animation for the camera should always start and end at the world coordinate centre to prevent unwanted &#8220;jumps&#8221; in your animation in the engine, between animations which have this helper activated and those which haven&#8217;t.
+
Вы также можете использовать соединение constraints в камере для вызова хелпера "camera_helper", который исходный для главной кости рук персонажа, а после активировать параметры контроля камеры для изменения анимации, позволяет им контролировать этот хелпер. Mind, that the start and end frame of the animation for the camera should always start and end at the world coordinate centre to prevent unwanted "jumps"; in your animation in the engine, between animations which have this helper activated and those which haven`t.}}
 +
 
Once you set your time range, you can move on to the exporter. Make sure the right object is added in the node section of the objects pane. This should automatically add the root of your character in the &#8220;Bone Export&#8221; list. If not, do so manually.
Once you set your time range, you can move on to the exporter. Make sure the right object is added in the node section of the objects pane. This should automatically add the root of your character in the &#8220;Bone Export&#8221; list. If not, do so manually.

Версия 15:20, 13 июня 2011

Эта страница страница помечена как находящиеся в процессе перевода.


Содержание

Персонаж первого лица

Обзор

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

Характеристики оружия

Настройки геометрии

FirstPersonCharacters image001.jpg

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

Локальные трансформации этого меша должны быть нулевыми по всем осям. А центр ("pivot") располагаться в центре всемирных координат(Position 0,0,0; Rotation 0,0,0)


Примечание:
Меш/Геометрия должны быть всегда в центре всемирных координат без вращения



Иерархия рук

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

Sandbox FirstPersonCharacters image002.jpg


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

Примечание:
Как раз сейчас удобно перевести позицию и вращение всех элементов иерархии в значение 0. Таким образом вы будете иметь функцию возврата назад.


Sandbox FirstPersonCharacters image003.jpg


Полностью вся иерархия рук в схематичном виде

Sandbox FirstPersonCharacters image004.jpg

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

Необязательно сохранять точно такую же иерархию структуры, использующуюся здесь. Also changing the way the wrists are solved is possible.

Вес геометрии

{{Примечание|Обычно применяется модифицируя и уничтожая в стеке модификаторов для того, чтобы вы могли применить модификатор границ. Это удаляет неважные и ненужные для геометрии образования, которые в будущем могут стать причиной проблем.}

Sandbox FirstPersonCharacters image005.jpg

Оператор, примененный в 3Ds MAX, не имеет значения. Вы можете использовать или Physique, или Skin при создании веса геометрии. Оба поддерживаются движком

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

В нашем примере Skin используется для веса костей рук. Модификатор имеет значение 0, но кроме этого есть еще и значение стандартной позиции, настроенной ранее. Это значение стандартно в движке и помогает в процессе отладки.

Только кости, необходимые для деформации меша в настройках путей, добавлены в лист костей модификатора Only bones which are necessary to deform the mesh in a proper way were added to the bone list in the modifier.


Sandbox FirstPersonCharacters image006.jpg


Информация:
Кости в иерархии, имеющие отрицательное значение в начале своих имен, будут игнорироваться экспортером. Это оставляет размер экспортируемого персонажа малым. В данном пункте они были в иерархии слева для создания легкой связки выделения, когда используется физический модификатор.


Экспорт персонажа

Когда вы закончили настройку веса персонажа, вы готовы к экспорту рук в движок. Если плагин установлен в директорию 3Ds MAX, то будет виден на командной панели во вкладке утилиты. Выделите вашу геометрию рук и нажмите "Add selected" в секции "Object Export", если она не была автоматически добавлена. В секции "Bone Export" это автоматически добавит самый верхний узел иерархии, путей в этом случае.

Sandbox FirstPersonCharacters image007.jpg

Установите Drop-down лист в "Object Export" секции "Export To" Персонажу(*.chr) и нажмите "Export Nodes". Этот экспорт компилирует версию вашего объекта в папку с max-файлом. Если вы хотите определить имя, отличное от исходного, вашему персонажу(обычно оно генерируется на основе названия max-файла), то выберите одно из раскрывающегося списка "Export To".ю Экспорт возможен только в директорию или поддиректорию max-файла.

Сейчас вы можете открыть Character Editor в редакторе...


Sandbox FirstPersonCharacters image008.jpg


...и загрузить своего персонажа.


Sandbox FirstPersonCharacters image009.jpg

Большая зеленая стрелка показывает направление в движке, относительно которого все персонажи должны стоять.

Вооружение для вида от первого лица

Геометрия вооружения

Модель рук теперь готова и мы можем подготовить оружие для их совместного использования. Вы видите стандартную модель вооружения, с некоторыми элементами, выделенными красным.


Sandbox FirstPersonCharacters image010.jpg


Совет:
Чтобы процесс добавления веса сделать удобнее, вы можете перемещать части, предназначеннst для последующей анимации и присвоения собственных костей, на определенное количество юнитов(units). После применения модификатора веса вы с легкостью сможете переместить их на исходную позицию для анимации костей, имеющих вес такого же значения, кроме главной модели.

Для геометрии применяются правила, расписанные в секции рук

Ни одно перемещение не должно быть применено к геометрии и после применения модификатора веса должен быть сделан reset-x-form и удалена из стека модификаторов, для избавления от нежелательных трансформаций. Центр("pivot") должен быть выравнен во всемирных координатах по центру, а модель иметь точку в позитивной y-координате.

Иерархия оружия

Те же самые правила трансформации должны быть сохранены для костей, созданными вами для иерархии оружия,или хотя бы некоторым из них, служащий определенной цели. В 3Ds MAX это не имеет значения, если кости или хелперы(dummies) использованы для определения иерархии. Экспортер рассматривает их как кости, пока происходит экспорт.

Sandbox FirstPersonCharacters image011.jpg

All those names can be changed code wise of course; the names here are for demonstration purposes.


Weapon Term(Термин Оружия): используется для присоединения к дулу эффекта выстрела. Shells(Оболочка): используется при присоединении эффекта частиц для оболочки. Collision(Коллизия): используется для вычисления позиции влияния , когда используется оружие ближнего боя. Разнообразные прикрепления хелперов, использующиеся для контроля позиции частей оружия. (attachment_top; attachment_side; attachment_bottom; etc)


Хелперы или кости, которые не влияют на элементы или части геометрии вооружения, должны быть добавлены в модификатор деформации. Удостоверьтесь, что они добавлены в иерархию прежде, чем будет выполнен экспорт персонажа, иначе они не будут доступны в движке.


Примечание:
До применения модификатора деформации, объедините в руках персонажа из исходного max-файла, источник верхнего узла оружия на корневой кости рук персонажа.


Fixed FirstPersonCharacters image012.jpg


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


Экспорт оружия

После завершения установки веса, вы можете экспортировать вашего персонажа в движок. Для этого выделите меш вашего оружия, зайдите в CryEngine экспортер на панели утилит командной панели и добавьте его в секцию узлов(node section). Переключитесь на Character на "Export To" и нажмите кнопку "Export Node". Это экспортирование вашего персонажа в папку с max-файлом и наследует его имя. Вы можете также изменить имя вручную, используя настройки стандартного имени файла.

Чтобы увидеть вашего персонажа в Character Editor с мешом, привязанным к костям, вы должны добавить им skin-присоединение, установив в свойствах присоединения "Skin", выбрать руки и после создать новое присоединение. После этих действий персонаж прикреплен к костям и виден в редакторе.

FirstPersonCharacters image013.jpg

Анимации для персонажа от первого лица

Подготовка

Для того, чтобы Компилятор ресурсов(Resource compiler) корректно обращался с оружием от первого лица, вы должны создать запись в файле в animations.cba. В данном файла вся информация описывает вашего загруженного персонажа, то есть сжатое отношение анимации, путь к персонажу и прочее. Это пример записи, которая содержит все необходимые настройки для оружия от первого лица. Для детального рассмотрения этих параметров скачайте документ-референс в CBA-файле. (Ссылка) Если этот файл будет отсутствовать, то экспортер не сможет экспортировать анимацию, так как ему необходимо знать файл персонажа. If this entry is missing the exporter won’t export animations, because it needs to know the location of the character-file.

Экспорт анимации

В 3Ds MAX вы имеете два способа экспортирования анимации для анимации вашего персонажа. Наилегчайший путь, это установить временной отрезок на линии времени в точной позиции старта и конца анимации, предназначенной для экспорта.в движке Это хорошая идея - иметь начальную и конечную позицию по умолчанию, в таком случае смешивание анимаций будет происходить гладко.


Совет:
Вы можете создать свободную камеру во центре всемирных координат, которая будет смотреть в направлении положительной оси y. When you set its FOV (field of view) to the same value you use in-game, it becomes an accurate representation of what your animation will look like from the players view. Вы также можете использовать соединение constraints в камере для вызова хелпера "camera_helper", который исходный для главной кости рук персонажа, а после активировать параметры контроля камеры для изменения анимации, позволяет им контролировать этот хелпер. Mind, that the start and end frame of the animation for the camera should always start and end at the world coordinate centre to prevent unwanted "jumps"; in your animation in the engine, between animations which have this helper activated and those which haven`t.


Once you set your time range, you can move on to the exporter. Make sure the right object is added in the node section of the objects pane. This should automatically add the root of your character in the “Bone Export” list. If not, do so manually. Hit the “Export Bones” button, enter the desired name of the animation and save it to the folder you entered earlier in the animations.cba file.

To preview your animation in the Character Editor, you have to create one more file which tells the engine which animations are available for this character (a “cal-file”). Below is the cal-file for the example weapon. It has the path of the animations folder in it, and the names of the animations, and their binary counterparts, like they would be called “on disk”.

Scar_fp.cal

  1. filepath = Animations1st_personSCAR_fp

select_01 = select_01.caf fire_bullets_right_01 = fire_bullets_right_01.caf idle_right_01 = idle_right_01.caf reload_01 = reload_01.caf


zoom_in_ironsight_01 = zoom_in_ironsight_01.caf fire_bullets_right_ironsight_01 = fire_bullets_right_ironsight_01.caf idle_right_ironsight_01 = idle_right_ironsight_01.caf zoom_out_ironsight_01 = zoom_out_ironsight_01.caf


//layers control placement of attachments

silencer_on_layer_01 = silencer_on_layer_01.caf reflex_on_layer_01 = reflex_on_layer_01.caf scope_on_layer_01 = scope_on_layer_01.caf


The file needs to be saved to the same folder the character is saved to, and has to have the same name, except for the file extension, which is “.cal”. The file path which points to the animations folder is relative to your games root folder. Once you entered all available animations into the cal-file, and exported them from 3ds max, they will show up in the “Available Animations”-list in the character editor.

FirstPersonCharacters image014.gif


The second option to export animations is to use the “Sub Ranges” dialog, in the “Timing” pane of the Cryengine exporter. You can add animations into the list, by highlighting the “new range” entry and typing the name of your animation. Make sure the start and end times are entered correctly. Check if the root of your character is still showing up in the bone list. When you activate the “Export file per range” in the “sub ranges” area, after hitting the “Export Bones” button, the exporter will ask for a location, and will export any of the entered animations from the “sub ranges” – list.

FixFirstPersonCharacters image015.jpg

Layered Animations

Sometimes you might only want to change specific parts of an animation which is used on a hierarchy. One example might be a different pose for the fingers for the right hand, when you want to reuse it for another type of weapon. This is one use for layered animations, which could be activated by code, and overwrite the existing animations on certain parts of your hierarchy.

Layers are also used to control placement of attachments on weapons. In this case the silencer and the magazine are solved as attachments.

To export layered animations you have to make sure that the bone list only contains the highest node of the parts that should be influenced.

Also for these kinds of layers you might only use a static pose. To achieve this activate “manual range” in the timing pane of the exporter and set the start and end frame to be the same time.

Sandbox FirstPersonCharacters image016.jpg

After the animation is exported and added to the cal-file, you can test it in the Character Editor.

To add an attachment to your character, you have to create a new one in the attachments pane of the Character Editor.

Sandbox FirstPersonCharacters image017.jpg


In the attachment properties select Bone Attachment and select the bone you want the object to be attached to from the drop down list. (silencer_attach, in this case). After you have selected the correct object from the objects browser, you can create the new attachment and click “apply” to load it into the editor. It should show up at the default position of the bone you selected when you created the attachment.

To test the layer, you can activate a primary animation on the base character (i.e. an “idle” animation) by selecting one from the “available animations” list. Then switch to one of the “secondary” animation slots in the character animation pane, and select the layer animation in the list. The parts of the animation which were triggered from the “primary” animation on this bone should be overwritten, by the new layered animation.

Sandbox FirstPersonCharacters image018.jpg