Creating new Animations (3DS MAX): Difference between revisions
→GetAnimation2: note what GA2 is |
Added section on editing ANIMX file |
||
Line 15: | Line 15: | ||
You are finished with 3DS at this point. | You are finished with 3DS at this point. | ||
== ANIMX File == | |||
The ANIMX file needs to be looked at after export, use any text editor (like Notepad++). Change the <code>TotalFrames</code> number to match the amount of frames intended, for example: 30. Find <code>Bone "GEO_gun"</code> then select it and everything down to the end of the file and delete. Save the file. You will crash GetAnimation2.exe later if you don't perform this step, because it will look for the GEO files that don't exist causing it to crash. | |||
== GetAnimation2 == | == GetAnimation2 == |
Revision as of 07:12, 26 May 2019
Introduction
This page intends to document the process to create new animations for the game. It attempts to re-create some of the same steps Cryptic/Paragon would have used to achieve the same goal. You will need a few prerequisites before you will be able to build animations for the game.
- 3DS Max 2011 (or 2008) Note: I have used and tested 3DS Max 2011
- Master rig files from the Scrapyarders dump.
- ANIMX Export Plug-in for 3DS - found in the source and needs to be compiled.
- GetAnimation2.exe Note: This is the correct version, GetAnimation.exe doesn't use the new anim format
- SKELX files - These can be generated from game files. Looking for the original files.
- PIGG packing tool (Piglet, pigg tool from source)
3DS Max
Open 3DS Max and load the master rig file. Create an animation using the rig. (some thing might go wrong later as I used the default animation in the rig) Load the export plugin if you don't have it already loaded: Customize > Manage Plugins > right click > load plugin > find the plugin and open it. Export from 3DS and pick the ANIMX format from the list and saving the file.
You are finished with 3DS at this point.
ANIMX File
The ANIMX file needs to be looked at after export, use any text editor (like Notepad++). Change the TotalFrames
number to match the amount of frames intended, for example: 30. Find Bone "GEO_gun"
then select it and everything down to the end of the file and delete. Save the file. You will crash GetAnimation2.exe later if you don't perform this step, because it will look for the GEO files that don't exist causing it to crash.
GetAnimation2
This tool converts the ANIMX file exported from 3DS Max in to the ANIM file format which the game uses for animation. It has been referred to as "GA2". It is simple to use and only needs a one command line switch to work. For a full reference of flags, go to #Command Line flags Reference.
Before you can convert to ANIM, You will need a SKELX file which can be generated by GetAnimation2. While it says "DO NOT USE" for the -s flag, it can used and it will generate the ANIM file without errors. Once you have SKELX files, you can skip this step.
- Extract an ANIM file from the pigg files using tool of choice (like Piglet), skel_ready2.anim is a good choice as it's commonly used.
- Run
GetAnimation2 -s <extractedfile>.anim
This will generate the SKELX file.
To generate the ANIM files, follow these steps:
- Create a body type folder called either
male
,fem
orhuge
- Inside the body type folder, create a subfolder called
models
- Put the SKELX file and your ANIMX file(s) in the
models
folder. - From a command prompt, change to the body type folder and run
path\to\GetAnimation2.exe -noperforce
This is a quirk of the tool: it writes the reference of the folder for the SKEL location into the ANIM - Pack the ANIM file(s) in to a pigg and test it out. Alternately, you could use the file override method listed below.
Command Line flags Reference
-monitor Continue running and monitor the given folder for animation changes -prescan When starting monitor mode scan the hierarchy for files that need processing -f Force all animations to be reprocessed regardless of age comparison -noperforce Does not access asset version control system during processing. This can be used to work offline from Perforce. Also handy for development testing. -e <.anim> Given a path to a runtime .anim file this will convert it to human readable text files and then quit. Useful for debugging and examining the runtime data. -s <.anim> <dest> Given a path to a runtime .anim file this will convert it to source asset files, .SKELX and .ANIMX, placed in the destination. These files can be fed back as source assets or imported to MAX. DEVELOPMENT IN PROGRESS - DO NOT USE! -batch_src Start at the current working directory and convert old .WRL associated .anim files to the new source animation formats: .SKELX and .ANIMX. Don't use this command unless you are aware of the files it will overwrite. DEVELOPMENT IN PROGRESS - DO NOT USE! -? Print this help
Putting the animation in-game
To test the animations, you can put the ANIM files in the data
folder to override the version in the pigg files. I renamed the .anim file and put it at /data/player_library/animations/fem/fem_newspaper.anim
Then load the game and read a paper.
Note: Somewhere inside the anim file is a reference to the location it was built from like debug/skel_ready2.anim, so extract a copy of the one that matches where you're putting it (fem/skel_ready2.anim in this case) and put it in the similar folder, using debug example (/data/player_library/animations/debug/skel_ready2.anim).
Notes
Fuzzy_c: I copied the name from an emote and replaced it when testing. ANIM files have a relation to SKEL files. You can reverse an ANIM file then read the resulting ANIMX file (plain text) to find the SKEL file it used. You can then extract the SKELX file from the SKEL file using the same process as ANIM using the -s flag.