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

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

(Различия между версиями)
Перейти к: навигация, поиск
 
(8 промежуточных версий не показаны.)
Строка 1: Строка 1:
-
{{В_процессе_перевода}}
+
 
== Персонаж первого лица==
== Персонаж первого лица==
Строка 10: Строка 10:
=== Характеристики оружия===
=== Характеристики оружия===
==== Настройки геометрии====
==== Настройки геометрии====
-
http://wiki.crymod.com/images/a/ae/FirstPersonCharacters_image001.jpg
+
 
 +
[[Image:FirstPersonCharacters_image001.jpg]]
На данном изображении вы видите пример меша пары рук, обычно использующийся для создания вооружения персонадам от первого лица
На данном изображении вы видите пример меша пары рук, обычно использующийся для создания вооружения персонадам от первого лица
Строка 34: Строка 35:
-
Полностья вся иерархия рук в схематичном виде
+
Полностью вся иерархия рук в схематичном виде
[[Image:Sandbox_FirstPersonCharacters_image004.jpg]]  
[[Image:Sandbox_FirstPersonCharacters_image004.jpg]]  
Строка 42: Строка 43:
Необязательно сохранять точно такую же иерархию структуры, использующуюся здесь. Also changing the way the wrists are solved is possible.
Необязательно сохранять точно такую же иерархию структуры, использующуюся здесь. Also changing the way the wrists are solved is possible.
-
==== Weighting the Geometry====
+
==== Вес геометрии====
-
'''Note:''' <br>
+
{{Примечание|Обычно применяется модифицируя и уничтожая в стеке модификаторов для того, чтобы вы могли применить модификатор границ. Это удаляет неважные и ненужные для геометрии образования, которые в будущем могут стать причиной проблем.}
-
Always apply a &#8220;reset x-form&#8221; modifier and collapse it in the modifier stack, before you apply the envelope modifier. This removes unwanted transformations to the geometry, which could cause problems later on.
+
[[Image:Sandbox_FirstPersonCharacters_image005.jpg]]  
[[Image:Sandbox_FirstPersonCharacters_image005.jpg]]  
 +
Оператор, примененный в 3Ds MAX, не имеет значения. Вы можете использовать или Physique, или Skin при создании веса геометрии. Оба поддерживаются движком
-
Which operator is used in max doesn&#8217;t matter. You can either use Physique, or Skin to weight your model. Both are supported in the engine.
+
{{Примечание|title=Информация|Когда вершины одновременно влияют на более, чем две кости,  вес на одной из них, влияющее меньше всего. будет удален и восстановлен после того, как в зоне влияния останутся две кости:}}
-
'''Info:''' <br>
+
В нашем примере Skin используется для веса костей рук. Модификатор имеет значение 0, но кроме этого есть еще и значение стандартной позиции, настроенной ранее. Это значение стандартно в движке и помогает в процессе отладки.
-
Whenever a vertex is influenced by more than two bones, the weighting on the ones with the weakest influence gets deleted and gets normalized between the remaining two bones.
+
-
 
+
-
 
+
-
In our example Skin is used to weight the arms to the bones. The modifier is applied at frame 0, which also defines the &#8220;default pose&#8221; which was keyed earlier. This also defines the default pose in the engine and helps in debugging problems later on in the process.
+
 +
Только кости, необходимые для деформации меша в настройках путей, добавлены в лист костей модификатора
Only bones which are necessary to deform the mesh in a proper way were added to the bone list in the modifier.
Only bones which are necessary to deform the mesh in a proper way were added to the bone list in the modifier.
Строка 64: Строка 62:
-
'''Info:''' <br>
+
{{Примечание|title=Информация|Кости в иерархии, имеющие отрицательное значение в начале своих имен, будут игнорироваться экспортером. Это оставляет размер экспортируемого персонажа малым. В данном пункте они были в иерархии слева для создания легкой связки выделения, когда используется физический модификатор. }}
-
Bones in the hierarchy which have an underscore at the beginning of their name won&#8217;t be considered by the exporter. This keeps the size of the exported character low. In this case they were only left in the hierarchy to make the selection of links easier, when using the physique modifier.
+
-
==== Exporting the Character====
 
-
Once you have finished weighting the character, you are ready to export the arms to the engine.
+
==== Экспорт персонажа====
-
If the plug-ins are installed correctly into your 3dsmax plug-ins folder, you should find the Cryengine exporter in the command panel under utilities.
+
 
-
Select your arms geometry and hit the &#8220;Add selected&#8221; button in the &#8220;Object Export&#8221; section, if it&#8217;s not already added automatically. In the &#8220;Bone Export&#8221; section it should automatically add the highest node of your hierarchy, &#8220;root&#8221; in this case.
+
Когда вы закончили настройку веса персонажа, вы готовы к экспорту рук в движок.
 +
Если плагин установлен в директорию 3Ds MAX, то будет виден на командной панели во вкладке утилиты. Выделите вашу геометрию рук и нажмите "Add selected" в секции "Object Export", если она не была автоматически добавлена. В секции "Bone Export" это автоматически добавит самый верхний узел иерархии, путей в этом случае.
[[Image:Sandbox_FirstPersonCharacters_image007.jpg]] <br> <br>
[[Image:Sandbox_FirstPersonCharacters_image007.jpg]] <br> <br>
-
Set the Drop-down-list in the &#8220;Object Export&#8221; section under &#8220;Export To&#8221; to &#8220;Character (*.chr), and click the &#8220;Export Nodes&#8221; button. This exports a compiled version of your object to the same folder your max-file has been saved to. If you want to specify a different name for your character (which is usually generated from the name of the max-file) you can specify one by activating the option below the &#8220;Export To&#8221; drop down list. Exporting is only possible to the same folder that the max-file resides in, or to a sub-folder from that one.
 
-
Now you can open the Character Editor under &#8220;view&#8221; in the editor&#8230;
+
Установите Drop-down лист в "Object Export" секции "Export To"  Персонажу(*.chr) и нажмите "Export Nodes". Этот экспорт компилирует версию вашего объекта в папку с max-файлом. Если вы хотите определить имя, отличное от исходного, вашему персонажу(обычно оно генерируется на основе названия max-файла), то выберите одно из раскрывающегося списка "Export To".ю Экспорт возможен только в директорию или поддиректорию max-файла.
-
[[Image:Sandbox_FirstPersonCharacters_image008.jpg]]
+
Сейчас вы можете открыть Character Editor в редакторе...
 +
[[Image:Sandbox_FirstPersonCharacters_image008.jpg]]
-
 
+
...и загрузить своего персонажа.
-
 
+
-
&#8230;and load your character.
+
[[Image:Sandbox_FirstPersonCharacters_image009.jpg]]  
[[Image:Sandbox_FirstPersonCharacters_image009.jpg]]  
-
The big green arrow shows you the &#8220;forward direction&#8221; in the engine, which all characters should be facing to (Y+).
+
Большая зеленая стрелка показывает направление в движке, относительно которого все персонажи должны стоять.
-
=== 1st Person Weapon===
+
=== Вооружение для вида от первого лица===
-
==== The Weapon Geometry====
+
==== Геометрия вооружения====
 +
 
 +
Модель рук теперь готова и мы можем подготовить оружие для их совместного использования. Вы видите стандартную модель вооружения, с некоторыми элементами, выделенными красным.
-
Now that the arms model is ready, we can prepare a weapon to use with it. Here you can see a basic weapon model, with some elements highlighted in red.
 
[[Image:Sandbox_FirstPersonCharacters_image010.jpg]]  
[[Image:Sandbox_FirstPersonCharacters_image010.jpg]]  
-
'''Tip:''' <br>
+
{{Примечание|title=Совет|Чтобы процесс добавления веса сделать удобнее, вы можете перемещать  части, предназначеннst для последующей анимации и присвоения собственных костей, на определенное количество юнитов(units). После применения модификатора веса вы с легкостью сможете переместить их на исходную позицию для анимации костей, имеющих вес такого же значения, кроме главной модели.}}
-
To make the weighting process more convenient, you can move away the parts which are meant to be animated later and should get their own bones, by a known amount of units or its multiples. Later after you applied your weighting modifier you can easily move them back to their original position by animating the bones they have been weighted to, the same amount you moved them apart from the main model earlier.
+
 
 +
Для геометрии применяются правила, расписанные в секции рук
-
For the geometry the same rules apply like have been pointed out in the arms section.
+
Ни одно перемещение не должно быть применено к геометрии и после применения модификатора веса должен быть сделан reset-x-form и удалена из стека модификаторов, для избавления от нежелательных трансформаций. Центр("pivot") должен быть выравнен во всемирных координатах по центру, а модель иметь точку в позитивной y-координате.
-
No translations should be applied to the geometry, and before applying the weighting modifier do a reset-x-form, and collapse it in the modifier stack, to get rid of unwanted transforms. The pivot should be aligned to the world coordinate center, and the model should point in the positive y-direction.
+
-
==== The Weapon Hierarchy====
+
==== Иерархия оружия====
-
The same transformation rules should be kept for the bones you create for the weapon hierarchy, or at least to some of them which serve a specific purpose.
+
Те же самые правила трансформации должны быть сохранены для костей, созданными вами для иерархии оружия,или хотя бы некоторым из них, служащий определенной цели. В 3Ds MAX это не имеет значения, если кости или хелперы(dummies) использованы для определения иерархии. Экспортер рассматривает их как кости, пока происходит экспорт.  
-
In 3ds max it doesn&#8217;t matter if bones or helpers (dummies) are used to define a hierarchy. The exporter treats them both as bones when they are exported.
+
[[Image:Sandbox_FirstPersonCharacters_image011.jpg]]  
[[Image:Sandbox_FirstPersonCharacters_image011.jpg]]  
Строка 117: Строка 112:
All those names can be changed code wise of course; the names here are for demonstration purposes.
All those names can be changed code wise of course; the names here are for demonstration purposes.
-
Weapon Term: used to attach the muzzle-flash effects to.
 
-
Shells: used to attach the particle effect for the shells to.
 
-
Collision: used for determining the position of impact when used as a melee weapon.
 
-
Various attachment helpers, which are used to control the position of weapon parts. (attachment_top; attachment_side; attachment_bottom; etc)
 
-
Helpers or bones which don&#8217;t influence elements or parts of the weapon geometry, won&#8217;t need to be added to the deform modifier. Make sure they are added to the hierarchy before exporting the character, or they won&#8217;t be accessible by the engine.
 
-
'''Note:''' <br>
+
Weapon Term(Термин Оружия): используется для присоединения к дулу эффекта выстрела.
-
Before a deforming modifier is applied, merge in the arms character from its source max-file, and parent the highest node from the weapon rig under the root bone of the arms character.
+
Shells(Оболочка): используется при присоединении эффекта частиц для оболочки.
 +
Collision(Коллизия): используется для вычисления позиции влияния , когда используется оружие ближнего боя.
 +
Разнообразные прикрепления хелперов, использующиеся для контроля позиции частей оружия. (attachment_top; attachment_side; attachment_bottom; etc)
 +
 
 +
 
 +
Хелперы или кости, которые не влияют на элементы или части геометрии вооружения, должны быть добавлены в модификатор деформации. Удостоверьтесь, что они добавлены в иерархию прежде, чем будет выполнен экспорт персонажа, иначе они не будут доступны в движке.
 +
 
 +
 
 +
 
 +
{{Примечание|До применения модификатора деформации, объедините в руках персонажа из исходного max-файла, источник верхнего узла оружия на корневой кости рук персонажа.}}
 +
 
[[Image:fixed_FirstPersonCharacters_image012.jpg]]  
[[Image:fixed_FirstPersonCharacters_image012.jpg]]  
-
'''Hint:''' <br>
 
-
When using the Physique modifier chose the highest node in the hierarchy with which you want to deform your mesh upon initialisation.
 
-
==== Exporting the Weapon====
 
-
After weighting is done, you can export your character to the engine. For this select the mesh of your weapon, go to the Cryengine rollout in the utilities pane of the command panel and add it to the node section. Switch to &#8220;Character&#8221; under &#8220;Export to...&#8221; and click the &#8220;Export Nodes&#8221; button. This exports your character into the same folder as the max file and inherits the name of your max file. You can also specify the name manually using the custom file name option.
+
{{Примечание|title=Совет|когда используется Физический модификатор, выберите самый верхний узел в иерархии с которым вы хотите деформировать ваш меш на инициализации.}}
 +
 
 +
 
 +
==== Экспорт оружия====
 +
 
 +
После завершения установки веса, вы можете экспортировать вашего персонажа в движок. Для этого выделите меш вашего оружия, зайдите в CryEngine экспортер на панели утилит командной панели и добавьте его в секцию узлов(node section). Переключитесь на Character на "Export To"  и нажмите кнопку "Export Node". Это экспортирование вашего персонажа в папку с max-файлом и наследует его имя. Вы можете также изменить имя вручную, используя настройки стандартного имени файла.
-
In order to view your character in the Character Editor with the mesh skinned to the bones, you have to add them as a &#8220;skin attachment&#8221; by setting the choice to &#8220;skin&#8221; in the attachments properties, selecting the arms object, and then creating a &#8220;new&#8221; attachment. After you hit &#8220;Apply&#8221; the character is attached to the bones, and becomes visible in the editor.
+
Чтобы увидеть вашего персонажа в Character Editor с мешом, привязанным к костям, вы должны добавить им skin-присоединение, установив в свойствах присоединения "Skin", выбрать руки и после создать новое присоединение. После этих действий персонаж прикреплен к костям и виден в редакторе.
[[Image:FirstPersonCharacters_image013.jpg]]
[[Image:FirstPersonCharacters_image013.jpg]]
-
=== Animations for 1st Person Characters===
+
=== Анимации для персонажа от первого лица===
-
==== Preliminary tasks====
+
==== Подготовка====
-
In order to have the Resource compiler handling the 1st person weapons correctly you have to create an entry in the animations.cba file. In this file all information concerning your character is stored, i.e. compression ratio of animations, the path to the character etc.
+
Для того, чтобы Компилятор ресурсов(Resource compiler) корректно обращался с оружием от первого лица, вы должны создать запись в файле в animations.cba. В данном файла вся информация описывает вашего загруженного персонажа, то есть сжатое отношение анимации, путь к персонажу и прочее.
-
Here is a sample entry which has all the required settings for a 1st person weapon. For a detailed description of these parameters, see the reference document on the CBA file parameters. (LINK)
+
Это пример записи, которая содержит все необходимые настройки для оружия от первого лица. Для детального рассмотрения этих параметров скачайте документ-референс в CBA-файле. (Ссылка)  
 +
Если этот файл будет отсутствовать, то экспортер не сможет экспортировать анимацию, так как ему необходимо знать файл персонажа.
If this entry is missing the exporter won&#8217;t export animations, because it needs to know the location of the character-file.
If this entry is missing the exporter won&#8217;t export animations, because it needs to know the location of the character-file.
-
==== Exporting Animations====
+
==== Экспорт анимации====
-
In 3ds max you have two different ways of exporting animations for your character. The easiest way is to set the time range in the timeline to the exact frames of the start and end positions of the animation you want to export.
+
В 3Ds MAX вы имеете два способа экспортирования анимации для анимации вашего персонажа. Наилегчайший путь, это установить временной отрезок на линии времени в точной позиции старта и конца анимации, предназначенной для экспорта.в движке
-
It&#8217;s always a good idea to have all animations start and end in a default pose, so that blending in the engine works in a smooth way.
+
Это хорошая идея - иметь начальную и конечную позицию по умолчанию, в таком случае смешивание анимаций будет происходить гладко.
-
'''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.
 
-
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.
 
-
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.
+
{{Примечание|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. Вы также можете использовать соединение constraints в камере для вызова хелпера "camera_helper", который является исходным для главной кости рук персонажа, а после активировать параметры контроля камеры для изменения анимации, позволяет им контролировать этот хелпер. Обратите внимание, что точка старта и конца анимации для камеры должна обычно начинаться и заканчиваться в центре всемирных координат для предотвращения ненужных "прыжков" в вашей анимации в движке,между анимации, имеющей данный активированный хелпер и той, которая не имеет его.}}
-
Hit the &#8220;Export Bones&#8221; button, enter the desired name of the animation and save it to the folder you entered earlier in the animations.cba file.
+
 
 +
 
 +
Теперь установите временной проомежуток, который вы можете переместить в экспортер. Проверьте, добавлен ли правый объект в секцию узлов(node section) панели объектов. Это должно автоматически добавить основание вашего персонажа в лист "Bone Export". Если это не так, сделайте это вручную.  
 +
Нажмите "Export Bones", введите желаемое имя анимации и сохраните её в папку, в которую вы ранее сохранили файл animations.cba.
 +
 
 +
Для предпросмотра вашей анимации в Редакторе персонажей, вы должны создать ещё один файл, который объясняет движку, которая анимация доступна данному персонажу("cal-file").
 +
 
 +
Ниже приведен cal-файл для примера оружия.
 +
Он содержит путь к папке анимации, имя анимации и их двоичную копию, так как назвали бы их "на диске"
-
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 &#8220;cal-file&#8221;).
 
-
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 &#8220;on disk&#8221;.
 
Scar_fp.cal
Scar_fp.cal
Строка 188: Строка 193:
-
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 &#8220;.cal&#8221;.
+
Файл должен быть сохранен в папку с персонажем, и иметь такое же имя, кроме расширения файла(*.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 &#8220;Available Animations&#8221;-list in the character editor.
+
Теперь введите все доступные анимации в cal-файл, и экспортируйте его из 3Ds MAX, они будут показаны в листе "Available Animations" Редактора персонажей.
-
[[Image:FirstPersonCharacters_image014.gif]]
 
 +
[[Image:FirstPersonCharacters_image014.gif]]
-
The second option to export animations is to use the &#8220;Sub Ranges&#8221; dialog, in the &#8220;Timing&#8221; pane of the Cryengine exporter. You can add animations into the list, by highlighting the &#8220;new range&#8221; 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 &#8220;Export file per range&#8221; in the &#8220;sub ranges&#8221; area, after hitting the &#8220;Export Bones&#8221; button, the exporter will ask for a location, and will export any of the entered animations from the &#8220;sub ranges&#8221; &#8211; list.
+
Второй способ экспорта анимации использует окно "Sub Ranges", на панели таймингов("Timing")экспортера CryEngine . Вы можете добавить анимацию в лист, выделив "new range" введя и выбрав имя вашей анимации. Проверьте корректность введенного времени старта и конца. Проверьте, если источник вашего персонажа все ещё находится в листе костей. КОгда вы активируете "Export file per range" в области "Sub range", после нажатия "Export Bones", экспортер спросит путь экспорта, и экспортирует любую анимацию из списка "Sub ranges"
[[Image:FixFirstPersonCharacters_image015.jpg]]
[[Image: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 &#8220;manual range&#8221; in the timing pane of the exporter and set the start and end frame to be the same time.
+
Также для этого вида анимации вы можете использовать только статическую позицию. Для достижения активации "Manual range" в панели таймингов экспортера и введите точки старта и конца, чтобы установить то же время.
[[Image:Sandbox_FirstPersonCharacters_image016.jpg]]  
[[Image:Sandbox_FirstPersonCharacters_image016.jpg]]  
-
After the animation is exported and added to the cal-file, you can test it in the Character Editor.
+
После экспорта анимации и добавления в cal-файле, вы можете протестировать её в Редакторе Персонажей.
 +
Для добавления присоединения к вашему персонажу, создайте одно новое присоединения на панели присоединений Редактора персонажей.
To add an attachment to your character, you have to create a new one in the attachments pane of 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.
[[Image:Sandbox_FirstPersonCharacters_image017.jpg]]  
[[Image:Sandbox_FirstPersonCharacters_image017.jpg]]  
 +
В свойствах присоединения выберите "Done Attachment" и выберите кость вашего объекта для присоединения из раскрывающегося списка(в данном случае silencer_attach)
 +
После выделите корректный объект из браузера объектов, вы можете создать новое присоединения и нажмите "Apply" для загрузки из редактора. Это должно ясно обозначится на стандартной позиции вашей выделенной кости, когда вы создадите присоединение.
-
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).
+
Для тестирования слоя, вы можете активировать первичную анимацию на стандартном персонаже(то есть на "idle"-анимации) по одну выделенному из листа "Available animations". Затем выберите одну из "вторичных" слотов анимации на панели анимации персонажей, и выберите слой анимации в листе . Части анимации, которые вызваны из "primary" анимации на данной кости должны быть описаны, на новой многоуровневой анимации.
-
After you have selected the correct object from the objects browser, you can create the new attachment and click &#8220;apply&#8221; 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 &#8220;idle&#8221; animation) by selecting one from the &#8220;available animations&#8221; list. Then switch to one of the &#8220;secondary&#8221; 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 &#8220;primary&#8221; animation on this bone should be overwritten, by the new layered animation.
 
[[Image:Sandbox_FirstPersonCharacters_image018.jpg]]  
[[Image:Sandbox_FirstPersonCharacters_image018.jpg]]  
Строка 264: Строка 270:
-
[[Category:Official:Asset Creation:Basics]]
+
[[Категория:Официальная_документация:Создание_ресурсов:Основы]]

Текущая версия на 14:44, 14 июня 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", который является исходным для главной кости рук персонажа, а после активировать параметры контроля камеры для изменения анимации, позволяет им контролировать этот хелпер. Обратите внимание, что точка старта и конца анимации для камеры должна обычно начинаться и заканчиваться в центре всемирных координат для предотвращения ненужных "прыжков" в вашей анимации в движке,между анимации, имеющей данный активированный хелпер и той, которая не имеет его.


Теперь установите временной проомежуток, который вы можете переместить в экспортер. Проверьте, добавлен ли правый объект в секцию узлов(node section) панели объектов. Это должно автоматически добавить основание вашего персонажа в лист "Bone Export". Если это не так, сделайте это вручную. Нажмите "Export Bones", введите желаемое имя анимации и сохраните её в папку, в которую вы ранее сохранили файл animations.cba.

Для предпросмотра вашей анимации в Редакторе персонажей, вы должны создать ещё один файл, который объясняет движку, которая анимация доступна данному персонажу("cal-file").

Ниже приведен cal-файл для примера оружия. Он содержит путь к папке анимации, имя анимации и их двоичную копию, так как назвали бы их "на диске"


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


Файл должен быть сохранен в папку с персонажем, и иметь такое же имя, кроме расширения файла(*.cal*) Путь файла, который указывает папку анимации в корневой папке игры. Теперь введите все доступные анимации в cal-файл, и экспортируйте его из 3Ds MAX, они будут показаны в листе "Available Animations" Редактора персонажей.


FirstPersonCharacters image014.gif


Второй способ экспорта анимации использует окно "Sub Ranges", на панели таймингов("Timing")экспортера CryEngine . Вы можете добавить анимацию в лист, выделив "new range" введя и выбрав имя вашей анимации. Проверьте корректность введенного времени старта и конца. Проверьте, если источник вашего персонажа все ещё находится в листе костей. КОгда вы активируете "Export file per range" в области "Sub range", после нажатия "Export Bones", экспортер спросит путь экспорта, и экспортирует любую анимацию из списка "Sub ranges"

FixFirstPersonCharacters image015.jpg

Многоуровневая анимация

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

Уровни также могут использоваться для контроля размещения присоединений к оружию. В данном случае глушитель и магазин являются присоединениями.

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

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

Sandbox FirstPersonCharacters image016.jpg

После экспорта анимации и добавления в cal-файле, вы можете протестировать её в Редакторе Персонажей.

Для добавления присоединения к вашему персонажу, создайте одно новое присоединения на панели присоединений Редактора персонажей. 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

В свойствах присоединения выберите "Done Attachment" и выберите кость вашего объекта для присоединения из раскрывающегося списка(в данном случае silencer_attach) После выделите корректный объект из браузера объектов, вы можете создать новое присоединения и нажмите "Apply" для загрузки из редактора. Это должно ясно обозначится на стандартной позиции вашей выделенной кости, когда вы создадите присоединение.

Для тестирования слоя, вы можете активировать первичную анимацию на стандартном персонаже(то есть на "idle"-анимации) по одну выделенному из листа "Available animations". Затем выберите одну из "вторичных" слотов анимации на панели анимации персонажей, и выберите слой анимации в листе . Части анимации, которые вызваны из "primary" анимации на данной кости должны быть описаны, на новой многоуровневой анимации.


Sandbox FirstPersonCharacters image018.jpg