Modding Characters – Arma 3
This is an early version of a character model making tutorial for Arma 3 Alpha. It still relies on the old Arma 2 tools and only limited example models are provided - may be expanded in the future.
Requirements
- Oxygen Personal Edition
- A3_Character_Examples_1.1.zip (now including model.cfg)
- 3D Studio Max 2010 (not mandatory)
Other useful material
Arma 3 specific
- Stiltman's excellent guide to existing Arma3 character retexturing
- Mondkalb's fully implemented new units with example complete addon structure and configs (this license applies) (alt. links: Armaholic1 (dead link),2
- Bad Benson's description on how to export characters from Maya
- Example vest config by RavenDK
- Character retexture guide by Scarecrow398
- Underwear modding guidelines by pomigit
- Modders resource: New animation workflow!
Arma 2 / Armed Assault / Operation Flashpoint / general
- making Arma1 soldier from start to finish (dead link)
- Mondkalb's Addon Making Tutorial for Arma2 (updated version for Arma3 hopefully coming soon)
- STALKERGB's Weighting overview (creating skin directly in in Oxygen2)
- Configuration of Arma1 soldier (still relevant) (dead link)
- Texturing and materials in Arma
- OFPEC (Operation Flashpoint Editing Center) tutorial collection
- Armedassault.info tutorial collection
- Oxygen2 tutorial youtube series
Creating Arma 3 Characters from Scratch
Part 1: character creation in 3dsmax
- open A3_character_template.max and use its skeleton as a base to create your own character in a traditional way. An Arma 3 character has about 5 LODs and 1 shadow LOD. The typical polycount for LOD1 should be around 10,000 triangles and the final LOD should be small as possible (300 tris). Recommended shadow LOD polycount is 1000, all triangles, no smoothing, and closed geometry.
- for info on organic modeling and skinning look for tutorials on the interwebz - there are plenty.
- use only Skin modifier for weighting, use max 4 bones per vertex. You can speed-up the skinning process if you use "Skin Wrap" modifier, and transfer skinning from example character onto yours new one. Google "Skin Wrap 3dsmax" for details on how to use it.
- if your character contains bare hands, legs or head, it is advised to use the standard Arma 3 ones for compatibility. Add them later in Oxygen, there's no need to do them in max.
- to check if skin applies properly, you can apply some poses on the character. Either animate by hand, or Import "A2_animation_poses.fbx" and pick "update scene elements". Arma3 animation poses in FBX will be coming soon.
Part 2: Export from 3dsmax
- install VM_s-P3D_Export.mcr (included in A3_Character_Examples_1.1.zip ) into 3dsmax (like this: http://www.scriptspot.com/files/Run&Install_MacroScript.wmv , except our groups name is VM's) or Google "installing macroscripts in 3dsmax"
- make sure the mesh is flawless, no zero faces, isolated vertices etc. Make sure the shadow LOD is closed geometry
- triangulate your mesh (not mandatory, but provides consistency with normals - O2 likes to flip hidden edges)
- the export model must be editable mesh or editable poly, with "Skin" modifier on top, with some bones assigned, or you get errors.
- Run the script, select your character's mesh, pick SaveAs location and hit export
Part 3: Import and check in O2
all general rules of arma p3d models, textures and materials apply. If you need help getting oriented in O2, see Gnat's tutorial series
- Run O2, File - Import - Universal Bistudio TXT, pick your file
- optional - try applying an RTM on the model, to check if it imported correctly (right click Animations window - From matrices all LODs - pick RTM, then scroll through frames) Make sure to discard this and reimport the model again to get rid of the animation after)
- check mesh for errors (Faces - Degenerated Faces - Check, let them get marked, then go to Points - Merge near - OK) (Points - Select Isolated - press Delete)
- link textures and materials - drag LMB to select mesh, press "E" and input texture links (a3\characters_f\something\data\something_co.tga, a3\characters_f\something\data\something.rvmat - depends on your addon structure) For texturing and materials info look here
Part 4: Finalizing in O2
- Run second O2, open Arma 3 character template P3D. Observe proxies in LODs (big triangles named "\A3\Characters_F\Proxies\headgear" etc) and some technical LODs, like Memory or Geometry, Fire Geometry etc. Don't touch any of this, add only your visual mesh. For safety, you can select them and press "Ctrl+H" to hide. Ctrl+A and Ctrl+Shift+H unhides all.
- Ctrl+C Ctrl+V your character mesh into the appropriate visual LODs in the template file. (select in imported O2, ctrl+c, go to the template O2, go to the proper LOD, Ctrl+V)
- if bare parts (hands, head) are present, then use existing ones already present in the template, just erase redundant faces covered by clothing.
- copy-paste the shadow model into ShadowVolume 0.00 LOD. This one
- must be closed geometry (Structure - Topology - Find Non-closed, Structure - Topology - Close)
- has to be triangulated (select all, press "num/")
- cannot have any smoothing (select all, Surfaces - Sharp Edges)
- shouldn't have any material or texture links (select, press "E", erase paths)
- cannot have any properties set in the Named Property window - delete them if there are any.
- create injury selections - these function the same as in Arma 2, though they are called differently - the new names are "injury_head, injury_hands, injury_body, injury_legs". These mark faces for which the material will be swapped for the injured version. Should be present on visual mesh only, make sure they are not on the Shadow model.
- check selections "personality" (should contain actual head mesh), "hl" (contains hands and legs), camo, camo1, camo2 (contains clothing - depends on config, may vary from model to model - if not present then config has no influence on character texture)
- if you don't want the game to display a head, helmet, glasses, vest or backpack on your character, then simply erase those appropriate proxies in all LODs. Note: a head proxy is called \A3\characters_f\Heads\bysta
- have a cold Pilsner
Porting existing Arma 2 characters into Arma 3
This is for experienced people who already know how to create a character for Arma 2, and have their models ready in unbinarized p3d format. Unfortunately, binarized p3d models, like Arma 2 addons content, cannot be converted for Arma 3
- open two Oxygens, one with the template scene A3_character_template.p3d, and one with the Arma 2 character you want to port
- select only the visual mesh of the Arma 2 character (only the physical mesh of the actual character, nothing else) and copy-paste it into corresponding LODs in the Arma 3 template. Discard all Arma 2 proxies and technical LODs, only copy the visual mesh and mesh from ShadowVolume 0.00.
- If bare skin is present (typically hands or head) then discard the Arma 2 mesh, and replace with Arma 3 parts (included in template). In O2, even the skinned mesh can be freely copy-pasted without trouble.
- update the names of the injury selections in the LODs. The new names are "injury_head, injury_hands, injury_body, injury_legs"
- update the material links (default Arma 3 path is a3\characters_f\)
- check model for degenerated faces, isolated vertices, split edges, zero UV faces, make sure you transferred Named Properties correctly (there cannot be "lodnoshadow = 1" in Shadow Volume etc)
- IMPORTANT - If the character already has a vest, head or helmet as a solid part of its mesh, then make sure to erase appropriate proxies (the big triangles named "\A3\Characters_F\Proxies\headgear" etc, so the game doesn't try to put them on.) Usually, at least the helmet can be detached and made into a standalone equipment part - see next section.
Making vests, helmets, backpacks and glasses
the procedure is the same as for actual characters, except these accessories are much simpler - they lack all of those proxies and special LODs.
- see example vest and helmet (A3_vest_example.p3d, A3_headgear_example.p3d)
- Geometry LOD has to be present, even if it is empty, and has to have "autocenter = 0" set in Named Properties window.
- helmets and glasses need to have an empty ViewPilot LOD or they would obscure view in 1st person.
- make sure to model NVG slot on helmets in appropriate position - see A3_headgear_NVGslot.p3d for placement reference.
- if you want to make chin strap skinned on jawbone, the bone name is "Face_Jawbone"
- "camo" selections do work, the same as on characters
- all other character technical rules apply
Getting it all in the game
COMING SOON
- meanwhile check Mondkalb's example character addon structure and configs, and try to mimic its structure. (or overwrite his models if you are afraid of touching config files)
- some knowledge can be found here (most still applies in A3)Configuration of Arma1 soldier (dead link)
- pack the addon using this info