Static Characters Tutorial
- This is an advanced level tutorial for artists, explaining how to create static characters for HeroEngine.
There are two types of characters in HeroEngine, Static Character and Dynamic Characters.
- Static Characters can be considered as 'fixed' characters as they have no swappable parts and are exported with the geometry and skeleton together.
- Dynamic Characters can be considered as 'modular' characters as they have some combination of swappable parts, tintable textures, and/or swappable textures banks. Their skeleton is exported separately from the geometric parts.
This tutorial will walk you through the full creation process of a static character. The Manowar from Hero's Journey will be used for the 3ds Max example, while a generic human will be used for the Maya example.
Specific details on how to stay error free for each export mode are here Hero Export Guide
First you need to decide where all of your character files are going to go. By default there is a character branch in clean engine. It is required that character files go inside the Character folder. However, you can place them into subfolders of your liking. Some users will put their character folders under the required Dynamic_2 folder to keep things organized.
When using the Hero Character Tools, each character will get a set of folders in a folder based on the Character name.
For Static Characters, the tool creates a .dat file, the character's mesh and skeleton file, a maps folder with any applied textures copied over, and an animation folder with a template animation agent script in it, as well as a placeholder idle animation file.
For Dynamic Characters, a parts folder will also be created and the selected mesh exported there as a mesh file in addition to the Static Characters setup. with the skeleton file containing just the skeleton and no mesh. Meshes for Dynamic Characters should be exported as parts and saved in the parts folder.
- MAYA USERS - The following tutorial is 3ds Max specific, for the Maya specific version go here: Static Characters for Maya
Build the geometry
- transforms and scale should be reset
- Polys are single sided
- Pivot point should be placed where you want it relative to the object, for characters this means origin (0,0,0)
- Object should be 1 single mesh
This character has vertex paint on it, feel free to use the vertex paint modifier to get additional detail on your character..
Use a HeroMaterialHeroMaterial to your Geometry. Materials are added within 3ds Max using a custom material, The HeroMaterial. If you need more than one HeroMaterial that is fine, you can assign a multi-sub object material with as many hero sub materials as you want or you can just assign individual HeroMaterials directly to the appropriate polygons. This is a common set up for a static creature. It uses a diffuse .dds texture as well as a normal map .dds with the specular derived from the alpha channel.
Build the skeleton
You can use whatever you would like for a character rig. Biped, Max bones and a combination of the two are all viable methods. Some things to keep in mind when building rigs.
- Rig should be placed on top and at the origin to ensure ease of use as files pile up.
- Rig should face the -Y axis in 3ds Max (the default direction of biped) or +Z in Maya.
- Rig's root node should be named Bip01 and its local X axis should face the world -Y(forward) for 3ds Max, and +Z in Maya.
- Create any needed animation masks using the "Mask editor" on the export panel.
- Biped nubs and footsteps node should be hidden.
- Skeleton is a single root hierarchy. Bones must be parented to other bones. No broken hierarchy(bone to helper to bone)
Add the SRB
Add Animation MasksAnimation Mask page.
- Select the Mask Editor button at the bottom of the Hero Export
- Type a name into the input field - Impact in this example - and click add
- Select the channel from the now created list in the same window and click apply to all.
- Close Mask Editor
- Select each bone and adjust to the desired weight. Values are between 0 and 1 with 1 being 100% of the channel on and 0 being completely off.
- Note Animation Masks only need to be created in the initial character export, not the animation files them selves
Skin the Geometry to the Skeleton
Export Your CharacterHero Export. Set the mode as Character and make sure that post processing is always on. Export unhidden is the most common way of exporting whats viewable in your view port. Remember to hide any unwanted helper or rigging objects. They will only add weight and confusion to your file.
- Export using the *Static Character* setting on Hero Export
- Hide any unwanted objects/helpers in the background before export
Animate your Character
A guide for animating your Character resides on Animating Characters Tutorial
Set up a .DAT
A .DAT file tells the engine about your Character Specification. It has information such as where the Characters skeleton and animations are located. It's easiest to just copy one of the sample characters .dat files and edit it to suit your new character. The .dat file needs to have the same name as the character folder that it resides in. In this case, Manowar.
More information on the .DAT can be found on the Character Spec page.
! ! Character Specification for Character\manowar\manowar.dat ! ! Version=2 [PARTS] Model=manowar_skeleton.(file extension) AnimationSetFolder=Character\manowar\animation\ Agent=Character\manowar\animation\manowar.aas Behavior=PlayerCharacter2 Gender=Male
Until you've gone through the Animating Characters Tutorial and done all the appropriate work you will not be able to move on. Once you have done all the appropriate animations and associated files, continue forward.
Now that your Character is exported and your animations are all done, it's time to upload your resulting character_skeleton file,.dds textures, .dat file, animation files, .aas file, animationset.dat file, and animation sequence .asq files using the Repository Browser and then add your asset into HeroEngine.
Register Character Specification
The remainder of the character pipeline takes place in Heroblade. After all the appropriate files have been uploaded, we now must register the characters specification with the engine to let it know that the Manowar exists. After our Character Specification is created, you can make as many instances of that character as you like or use whatever systems your scripters come up with to move characters around.
Since we need to register the character first, we will add a specification to the engine.
Enter the following into the chat panel. spec is short for specification.
/henpc add spec manowar \character\manowar\
Create an Instance of your Character
Now that the character is registered with the engine, you can make an instance of it in the world.
Enter the following into the chat panel
/henpc create manowar