Animation Export Profiles – Arma Reforger
Lou Montana (talk | contribs) (Page creation) |
Lou Montana (talk | contribs) m (Fix this abomination o_o) |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{TOC|side}}Export profiles define set of bones that are exported from Blender, Motion Builder or 3ds Max. Their default location is {{hl|\anims\export_profiles}}. | |||
Export profiles define set of bones that are exported from | |||
{{Feature|informative|{{armaR}} default data does not contain any export profiles; some are provided along '''Enfusion Blender Tools''' ({{hl|EnfusionBlenderTools-Data.zip}}) - see {{Link|Arma Reforger:Enfusion Blender Tools#Installation}}.}} | {{Feature|informative|{{armaR}} default data does not contain any export profiles; some are provided along '''Enfusion Blender Tools''' ({{hl|EnfusionBlenderTools-Data.zip}}) - see {{Link|Arma Reforger:Enfusion Blender Tools#Installation}}.}} | ||
Line 6: | Line 5: | ||
Provided files: | Provided files: | ||
<spoiler>{{TOC|side}}__NOEDITSECTION__ | <spoiler>{{TOC|side}}__NOEDITSECTION__ | ||
<div style="columns: | <div style="columns: 2"> | ||
{| class="wikitable" style="width: 100%" | {| class="wikitable" style="width: 100%" | ||
|+ | |+ | ||
Line 566: | Line 565: | ||
$animExportProfile { | $animExportProfile { | ||
#trackCount 152 | #trackCount 152 | ||
#defaultFn " | #defaultFn "" | ||
$tracks { | $tracks { | ||
"Scene_Root" "" "TRG" $genFn { "generateSceneRootMB" } | "Scene_Root" "" "TRG" $genFn { "generateSceneRootMB" } | ||
Line 649: | Line 648: | ||
* {{hl|#defaultFn}} defines the bones' default function to be used | * {{hl|#defaultFn}} defines the bones' default function to be used | ||
* {{hl|$tracks}} lists bones, bone's parent, export type and eventually a function reference. | * {{hl|$tracks}} lists bones, bone's parent, export type and eventually a function reference. | ||
{{Feature|warning|'''defaultFn''' should remain '''empty''' if you are '''exporting animations using Blender!''' Otherwise additive animations will be exported incorrectly.}} | |||
=== Export Type === | === Export Type === | ||
* '''T''' means '''T'''ranslation | * '''T''' means '''T'''ranslation | ||
* '''R''' means '''R'''otation | * '''R''' means '''R'''otation | ||
* '''S''' means '''S'''cale | * '''S''' means '''S'''cale (not supported right now) | ||
* '''A''' means '''A'''bsolute (not additive) | * '''A''' means '''A'''bsolute (not additive) | ||
Line 662: | Line 661: | ||
: '''TRA''' means '''T'''ranslation and '''R'''otation, '''A'''bsolute | : '''TRA''' means '''T'''ranslation and '''R'''otation, '''A'''bsolute | ||
: '''RD''' means '''R'''otation, '''D'''ifferential | : '''RD''' means '''R'''otation, '''D'''ifferential | ||
Line 668: | Line 668: | ||
But an animation for a reload would most likely not export the legs (Pelvis is the first bone, with no parent) the Spine bones would be exported with '''TRD''' ('''T'''ranslation & '''R'''otation '''D'''ifferential) so that some movement from the animation playing underneath it comes through, but with the arms and fingers exported with '''TRA''' ('''T'''ranslation & '''R'''otation '''A'''bsolute) so that they are precise and grab exactly where the magazine/rifle/etc is. | But an animation for a reload would most likely not export the legs (Pelvis is the first bone, with no parent) the Spine bones would be exported with '''TRD''' ('''T'''ranslation & '''R'''otation '''D'''ifferential) so that some movement from the animation playing underneath it comes through, but with the arms and fingers exported with '''TRA''' ('''T'''ranslation & '''R'''otation '''A'''bsolute) so that they are precise and grab exactly where the magazine/rifle/etc is. | ||
== Creation == | |||
[[File:animation-export-profile-generation.png|thumb|Generation of default export profile for selected model]] | |||
Workbench have a small option which can assist with creation of new export profiles. When importing a new model in Workbench, there is option called '''Generate Default Profile''' in '''Import Settings''' of the model'''.''' | |||
After checking this option and then pressing '''Reimport Resource,''' model will be reimported as usual + Workbench will also prepare a new export profile containing '''all bones located in the model in proper order & hierarchy'''. This new animation profile (.''apr'') file is by default created in '''/anims/export_profiles/''' folder of currently used addon and exact path can be also found by looking at the '''Console Log''' window - over there there should be a log entry mentioning status of the export and location of generated file. | |||
{{GameCategory|armaR|Modding|Guidelines|Official Tools}} | This option is quite useful when importing new models with complex skeleton like new custom characters (which don't use existing skeleton) or vehicles. Using this file, it is also possible to prepare derivatives for various other types of animations which might be useful in '''Animation Editor'''. {{Feature|important|Once default animation profile is created, it is worth to uncheck '''Generate Default Profile''' option to avoid constant generation of this profile whenever mesh is changed.}}{{Feature|warning|If you are planning to use this export profile in Blender, don't forget to change '''defaultFn''' in .apr file!}}{{GameCategory|armaR|Modding|Guidelines|Official Tools}} |
Latest revision as of 15:11, 9 November 2023
Export profiles define set of bones that are exported from Blender, Motion Builder or 3ds Max. Their default location is
.
Provided files:
File | Description |
---|---|
000_Multi_FullBodyABS_RHandNone_LHandNone.apr | |
002_Multi_FullBodyABS_RHandNone_LHandABS.apr | |
101_FullBodyABS.apr | |
102_FullBodyABS_camera.apr | |
110_FullBodyABS_RHandNone_LHandNone.apr | |
120_FullBodyABS_RHandNone_LHandABS.apr | |
121_UpperBodyABS_RightArmABS.apr | |
122_UpperBodyABS_LeftArmABS.apr | |
123_Head_ABS.apr | |
123_Head_ADD.apr | |
123_LHandABS.apr | |
124_FullBodyABS_RHandABS_LHandNone.apr | |
126_UpperBodyABS_RHandNone_LHandABS.apr | |
150_FullBodyADD.apr | |
150_FullBodyADD_camera.apr | |
151_FullBodyADD_RHandNone_LHandNone.apr | |
152_FullBodyADD_RHandNone_LHandNone_HipsADD.apr | |
250_UpperBodyADD.apr | |
251bis_UpperBodyADD_RHandNone_LHandABS.apr | |
251_UpperBodyADD_RHandNone_LHandNone.apr | |
252_UpperbodyADD_ArmsABS.apr | Reloads |
253_UpperbodyADD_ArmsABS_RPropNone.apr | |
254_UpperbodyADD_ArmsABS_RHandNone.apr | |
255_RArmABS_RHandNone.apr | |
256_UpperbodyADD_LArmABS.apr | |
257_UpperbodyADD_LArmADD_LHandABS.apr | |
258_UpperbodyADD_ArmsABS_HandsNone.apr | |
259Bis_UpperbodyADD_LArmABS_LHandNone_LPropABS.apr | |
259_UpperbodyADD_LArmABS_LHandNone.apr | |
260_LArmADD_LHandNone.apr | |
262_ArmsADD_RHandABS.apr | |
301_LowerbodyABS.apr | |
401_RIndexABS.apr |
File | Description |
---|---|
501_IK.apr | |
502_IK_RightHand.apr | |
503_IK_LeftHand.apr | |
504_IK_RightElbow_Hand.apr |
File | Description |
---|---|
601_watch_SandY184A.apr | |
602_flag.apr |
File | Description |
---|---|
700_Pistol_Idle.apr | |
701_Rifle_Idle.apr | |
702_Machinegun_Idle.apr | |
703_RPG_Idle.apr | |
704_Grenade_Idle.apr | |
705_PKM_magazine.apr | |
706_M60_magazine .apr | |
707_Rifle_Idle_SVD.apr | |
708_M249_magazine.apr | |
709_Machinegun_Idle_M249.apr | |
710_Grenade_RGB2_Idle.apr | |
711_Rifle_stock.apr |
File | Description |
---|---|
720_Weapon_FireMode.apr | |
721_Weapon_Trigger.apr | |
722_Weapon_MagRelease.apr | |
723_Weapon_Sight.apr | With sight slider: rifle, machinegun, RPG |
724_Weapon_Bolt.apr | |
725_Weapon_Hammer.apr | Pistol, RPG |
726_Weapon_Bolt_trigger.apr | |
727_Weapon_Bolt_rack.apr | |
728bis_M203_Sight.apr | |
728_M16a2_Sight.apr | |
729_Weapon_Sight_M21.apr |
File | Description |
---|---|
730_Weapon_FireMode_m9.apr | |
731_Pistol_SlideHammer.apr | |
732_Pistol_SlideHammerRelease.apr | |
733_Pistol_SlideHammerReleaseTrigger.apr | |
734_Pistol_safety.apr | |
735_Pistol_SlideTrigger.apr | |
736_Pistol_Slide.apr |
File | Description |
---|---|
737_Weapon_Sight_M249.apr | |
738_Weapon_Bolt_M249.apr | |
739_Weapon_Bolt_release.apr | |
740_Rifle_Bolt_Rack.apr | |
741_Rifle_Bolt_Rack_SVD.apr | |
742_Rifle_safety_trigger.APR |
File | Description |
---|---|
750_Machinegun_Fire.apr | Includes dustcover |
751_Machinegun_TopCover.apr | |
752_Machinegun_bipod.apr | |
753_Machinegun_bipod_M249.apr |
File | Description |
---|---|
760_RPG_Sight.apr | Without the sight slider |
761_RPG_Sight_Front.apr | |
762_RPG_Safety.apr | |
763_RPG_Unfold_TEMP.apr | |
764_RPG_M72_idle.apr |
File | Description |
---|---|
770_Grenade_Pin.apr |
File | Description |
---|---|
780_M203_barrel.apr |
File | Description |
---|---|
801_Vehicle_Door_L01.apr | |
802_Vehicle_Door_R01.apr | |
803_Vehicle_Door_L03.apr | |
804_Vehicle_Door_R03.apr | |
805_Vehicle_Door_L02.apr | |
806_Vehicle_Door_R02.apr | |
807_Vehicle_Door_L01_BTR.apr | |
808_Vehicle_Door_R01_BTR.apr | |
809_Vehicle_Door_L01_m998..apr | |
810_Vehicle_Door_R01_m998..apr | |
811_Vehicle_Door_L02_m998..apr | |
812_Vehicle_Door_R02_m998..apr | |
820_Vehicle_Steering_Wheel.apr | |
840_Vehicle_Throttle.apr | |
841_Vehicle_Clutch.apr | |
842_Vehicle_Brake.apr | |
843_Vehicle_Starter_Switch.apr | |
844_Vehicle_Gearshift.apr | |
845_Vehicle_light_switch.apr | |
846_Vehicle_Handbrake.apr | |
847_Vehicle_Starter_Switch_BTR.apr |
File | Description |
---|---|
860_Mi-8MT_Door_L.apr | |
861_Mi-8MT_CyclicControl.apr | |
890_Vehicle_Empty.apr |
File | Description |
---|---|
900_Ural_Idle.apr | |
901_Uaz_Idle.apr | |
902_BTR_Idle.apr | |
903_M151a2_Idle.apr | |
904_M9231A1_idle.apr | |
905_M998_Idle.apr | |
950_Mi-8MT_Idle.apr | |
999_Empty.apr | |
FullBody_Additive.apr | |
FullBody_Pistol.apr | |
FullBody_Rifles.apr | |
FullBody_Unarmed.apr | |
GadgetIKOffset.apr | |
Head_Additive.apr | |
IK.apr | |
RightIndexAbsolute.apr | |
TEST.apr | |
UpperbodyAdditive_ArmsAbsolute.apr | |
UpperbodyAdditive_ArmsAbsolute_WeaponDummy.apr | |
Upperbody_Additive.apr | |
Vehicles_Clutch.apr | |
Vehicles_horn.apr | |
Vehicles_ShiftGear.apr | |
Vehicles_Throttle.apr | |
Weapons_Grenede_Idle.apr | |
Weapons_Grenede_Pin.apr | |
Weapons_Hammer.apr | |
Weapons_Idle.apr | |
Weapons_MagRelease.apr | |
Weapons_Pistol_SlideHammer.apr | |
Weapons_Pistol_SlideHammerRelease.apr | |
Weapons_Pistol_SlideHammerReleaseTrigger.apr | |
Weapons_Rifles.apr | |
Weapons_Rifles_Bolt.apr | |
Weapons_Rifles_Bolt_rack.apr | |
Weapons_Rifles_Fire.apr | |
Weapons_Rifles_Sight.apr | |
Weapons_Rifles_Topcover.apr | |
Weapons_RPG7_Sight.apr | |
Weapons_Safety.apr | |
Weapons_Trigger.apr |
Format
Let's use FullBody_additive.apr as an example:
$animExportProfile {
#trackCount 152
#defaultFn ""
$tracks {
"Scene_Root" "" "TRG" $genFn { "generateSceneRootMB" }
"EntityPosition" "Scene_Root" "TRA"
"Collision" "EntityPosition" "TRA"
"Hips" "EntityPosition" "TRA"
"LeftLeg" "Hips" "TRD"
"LeftLegVolume" "LeftLeg" "TRD"
"LeftLegTwist" "LeftLeg" "TRD"
...
}
}
$animExportProfile {
#trackCount 152
#defaultFn "defaultFnMB"
$tracks {
"Scene_Root" "" "TRG" $genFn { "generateSceneRootMB" }
"EntityPosition" "Scene_Root" "TRA"
"Collision" "EntityPosition" "TRA"
"Hips" "EntityPosition" "TRA"
"LeftLeg" "Hips" "TRD"
"LeftLegVolume" "LeftLeg" "TRD"
"LeftLegTwist" "LeftLeg" "TRD"
"LeftKnee" "LeftLegTwist" "TRD"
"LeftKneeVolume" "LeftKnee" "TRD"
"LeftKneeTwist" "LeftKnee" "TRD"
"LeftFoot" "LeftKneeTwist" "TRD"
"LeftToe" "LeftFoot" "TRD"
"RightLeg" "Hips" "TRD"
"RightLegVolume" "RightLeg" "TRD"
"RightLegTwist" "RightLeg" "TRD"
"RightKnee" "RightLegTwist" "TRD"
"RightKneeVolume" "RightKnee" "TRD"
"RightKneeTwist" "RightKnee" "TRD"
"RightFoot" "RightKneeTwist" "TRD"
"RightToe" "RightFoot" "TRD"
"RightLegClothF" "Hips" "TRD"
"RightLegClothB" "Hips" "TRD"
"LeftLegClothF" "Hips" "TRD"
"LeftLegClothB" "Hips" "TRD"
"Spine1" "Hips" "TRD"
"Stomach1" "Spine1" "TRD"
"Spine2" "Spine1" "TRD"
"Spine3" "Spine2" "TRD"
"Stomach2" "Spine3" "TRD"
"Spine4" "Spine3" "TRD"
"Stomach3" "Spine4" "TRD"
"Spine5" "Spine4" "TRD"
"Neck1" "Spine5" "TRD"
"Neck2" "Neck1" "TRD"
"Neck3" "Neck2" "TRD"
"Head" "Neck3" "TRD"
"LeftShoulder" "Spine5" "TRD"
"LeftArm" "LeftShoulder" "TRD"
"LeftArmVolume" "LeftArm" "TRD"
"LeftArmTwist" "LeftArm" "TRD"
"LeftForeArm" "LeftArmTwist" "TRD"
"LeftForeArmVolume" "LeftForeArm" "TRD"
"LeftForeArmTwist" "LeftForeArm" "TRD"
"LeftHandUpperVolume" "LeftForeArmTwist" "TRD"
"LeftHand" "LeftForeArmTwist" "TRD"
"RightShoulder" "Spine5" "TRD"
"RightArm" "RightShoulder" "TRD"
"RightArmVolume" "RightArm" "TRD"
"RightArmTwist" "RightArm" "TRD"
"RightForeArm" "RightArmTwist" "TRD"
"RightForeArmVolume" "RightForeArm" "TRD"
"RightForeArmTwist" "RightForeArm" "TRD"
"RightHandUpperVolume" "RightForeArmTwist" "TRD"
"RightHand" "RightForeArmTwist" "TRD"
}
}
- #trackCount defines the number of track lines
- #defaultFn defines the bones' default function to be used
- $tracks lists bones, bone's parent, export type and eventually a function reference.
Export Type
- T means Translation
- R means Rotation
- S means Scale (not supported right now)
- A means Absolute (not additive)
- D means Differential (additive)
- Examples
- TRA means Translation and Rotation, Absolute
- RD means Rotation, Differential
The combination of these creates a type of animation that can be used in different contexts. For example, a walking animation would definitely use every single part of the body, so it would probably contain all of the bones in exported with TRA (Translation & Rotation Absolute).
But an animation for a reload would most likely not export the legs (Pelvis is the first bone, with no parent) the Spine bones would be exported with TRD (Translation & Rotation Differential) so that some movement from the animation playing underneath it comes through, but with the arms and fingers exported with TRA (Translation & Rotation Absolute) so that they are precise and grab exactly where the magazine/rifle/etc is.
Creation
Workbench have a small option which can assist with creation of new export profiles. When importing a new model in Workbench, there is option called Generate Default Profile in Import Settings of the model.
After checking this option and then pressing Reimport Resource, model will be reimported as usual + Workbench will also prepare a new export profile containing all bones located in the model in proper order & hierarchy. This new animation profile (.apr) file is by default created in /anims/export_profiles/ folder of currently used addon and exact path can be also found by looking at the Console Log window - over there there should be a log entry mentioning status of the export and location of generated file.
This option is quite useful when importing new models with complex skeleton like new custom characters (which don't use existing skeleton) or vehicles. Using this file, it is also possible to prepare derivatives for various other types of animations which might be useful in Animation Editor.