3ds Max: Custom Creatures
Getting A 100% Custom Creature Ingame (3DSMax Version)
By this I mean getting a creature you modeled and created your own bone rig for ingame and working properly, without useing anything that originated from the original gamefiles.
There is one exception to this as you will have to copy/paste the collision and Constraints from one of beth's skeletons into your's to get havok working.
Programs you will need for this tutorial
3DSMax http://usa.autodesk.com/adsk/servlet/home?siteID=123112&id=129446
Tazpn's KFUpdater http://tessource.net/files/file.php?id=8447
Civ4 Exporter http://forums.civfanatics.com/showthread.php?t=159481
NifTools Importer/Exporter and NifSkope http://www.niftools.org/wiki/index.php/NIF_File_Format_Library_and_Tools
Disclaimer
I am not going to teach anyone how to model or rig this tutorial assumes that you already know how to do both of these within 3DSMax.
I Use 3DSMax 8 with SP3 and Niftools 2.10 as of writing this tutorial, there maybe some setting that need to be changed to get other versions of max/niftools to work properly.
This Tutorial will cover only proper Mesh Export using NifTools Exporter, Skeleton Export Using NifTools Exporter, and animation export using Civ4 Exporter and Tazpn's KF Updater.
Getting Started
You have a nice new creature modeled up and ready for the boning and rigging process.
as you create the bone's skeletal structure think if you want your creature to be able to wield weapons shields cast magic and if it really need to be able to sheath weapon's if yes you will need to add these bones.
Weapon (Weapon Wielding Bone)
SideWeapon (1H Weapon Sheathing Bone)
BackWeapon (2H Weapon Sheathing Bone)
Quiver (Quiver bone )
magicNode (Magic Casting Bone)
Bip01 L Forearm Twist (shield Wielding Bone)
Torch (Torch Bone)
Note: the SideWeapon, BackWeapon and Quiver Bones all seem to have some paranting requirement as no matter where I placed them in the skeletal scene where they showed up ingame was based off what bone I parented them to, this was actually a scource of irritation as I fully created 10+ skeletal rigs testing getting these bones tring to get them to work how I wanted and just ended up removing them completely.
Ok now you have a fully modeled and Rigged creature ready for concept testing
Mesh Export
Hide all bones and helpers
then File < Export < Netimmerse/Gamebryo(*.kf,*.Nif) < Creature Name < Save
Nif Export Screen Settings
Check These
Hidden Nodes
Flatten Hierachy
Vertex Colors
Update Tangent Space
Export Skin Modifer
Enable Multiple Partitions (18,4) default
Add User Prop Buffer
Sort Nodes
Skeleton Export
Hide the Complete Mesh and Helpers
then File < Export < Netimmerse/Gamebryo(*.kf,*.Nif) < Skeleton < Save
Nif Export Screen Settings
Check These
Hidden Nodes
Skeleton Only
Add User Prop Buffer
Sort Nodes
Add Accum Nodes
Now That you have a mesh and skeleton all you need to test your creation is an Idle animation
In Max to go Time Configuration < Set Frame Rate to NTSC 30 Frames per second, set end time to 100 frames, Hit OK
You can do some basic keyframe animation up/down left/right whatever you want.
when ready to move on
If you havent already set up the Civ4 Tools then go to Customize < Customize User Interface < Catagory < CivilationIV Tools, Hit New - Name it, Scroll down to your new toolbar and uncheck hide you should have just an empty box , drag and drop the Civ4 Animation Manager and Civ4 Export to your new toolbar, close the customize user interface box, and if you want you can do as I did and right click your new tool bar and Dock it somewhere so its not just a floating box and is out of the way.
Click the Civ4 Animation Manager and a new box will open, Known Actor Roots < Add Press "h" and chose Bip01
Active Sequence Name , Rename everything in there to Idle and check Loop Sequence Set your start frame and end frame's
Open Sequence Tags (this is where you will add sequence tags for the animations to do what they are suppost to do, casting magic and attacking blending playing sounds and everything you will need to get the animations to react correctly ingame).
Now hit Civ4 Export < Idle < Save < File Export Script < Single KF Export Without Nif < OK
Now unpack NIFCMD.RAR to its own directory and add your idle.kf to this directory, edit UpdateKF.bat
@call nifcmd KFVersion -v 20.0.0.4 -u 11 -p 50 -i %*
-p = Priority to assign to all the bones coltrollers for all my idles I set this to 10 (1 also works fine) it needs to be something low so other more important animations can take over control when needed.
@call nifcmd KFVersion -v 20.0.0.4 -u 11 -p 10 -i %*
Like so.
then make a new txt file rename it CMD.bat, then edit it and type in cmd.exe close and save
double click your new cmd.bat file to open a command prompt for that directory and type in
UpdateKF Idle.kf "hit enter"
Add all 3 of these files into a custom directory within your oblivion/data/meshes directory
Now load up the CS and test your mesh skeleton and idle.kf this should not put out any errors if you do get one something messed up :/
If all is good you can move forward and start creation of all the other required animations to get a working creature.
I would start with
WalkForward - Animate In Motion
WalkBackward - Animate In Motion
WalkLeft - Animate In Motion
WalkRight - Animate In Motion
WalkTurnLeft - Animate In Place (no actual turning in the animation, Ob's Engine handles that)
WalkTurnRight - Animate In Place (no actual turning in the animation, Ob's Engine handles that)
WalkFastForward - Animate In Motion
WalkFastbackward - Animate In Motion
WalkFastLeft - Animate In Motion
WalkFastRight - Animate In Motion
Paying close attention to the sequence tags used by beth's animations as well as controller priorities per bone used by beth.
To get working "Animate In Motion" animation ingame and working you will have to follow these steps
After using NifCmd to update the .kf, open it with nifskope expand NIControllerSequence, expand the first NiTransformInterpolator (this one controls Bip01) and delete its data, expand the last NiTransformInterpolator (this one controls Bip01 NonAccum) and copy its data then paste it back into the kf.
click on the Bip01 NonAccum Interpolator NiTransformData and delete all scaling keys, then expand the translations data and set all the value keys there to 0,0,0
Now go back up to the Bip01 Interpolator and assign the data you copied/pasted into this interpolator. click on its data and delete all scaling keys, then delete all rotation keys. now set Rotation Type KeyType to 0 (zero) and set number of Keys uint to 0 (zero) as well.
(im not sure if this next step is needed but I did this to be uniform with beth's .kf's)
click on the data for Bip01 and ctrl + UpArrow untill its number is one greater then its interpolator click on NiTextKeyExtraData and ctrl + downArrow untill its the dead last number in the file.
Save. and try it within the CS if you dont get any errors about being exported with animate in place from Max being set the movement animation should work.
Flight
This Section is for people who want to have thier creatures be able to seemingly fly off their scene's ingame plane.
all you have to do is when you copy/paste the bip01 nonaccum data to the bip01 interpolator keep all the Z-Plane translations with the nonaccum data and zero out the bip01's Z-Plane data.
All 10 of the above animations can be renamed and reused for testing to handtohand"xxxxxxxxxx" to get movement working while wielding the h2h weapon
you will also need
HandtoHandAttackRight
HandtoHandEquip
HandtoHandUnEquip (maybe not Required but my game kept crashing everytime I killed one of my critters untill I added this one, I think its needed for releasing weapon and shield upon death)
All 10 Movement KF's
List Of Animation Sequences
Movement - Active Sequence Name
WalkForward - Forward
WalkBackward - Backward
WalkLeft - Left
WalkRight - Right
WalkTurnLeft - TurnLeft
WalkTurnRight - TurnRight
WalkFastForward - FastForward
WalkFastBackward - FastBackward
WalkFastLeft - FastLeft
WalkFastRight - FastRight
Note: To localize anims change the filename from WalkXXXX to handtohandxxx, onehandxxx, twohandxxx, Staffxxx, Sneakxxx, swimxxx, DO NOT CHANGE THE ACTIVE SEQUENCE NAME.
Blocking
BlockHit - BlockHit
BlockIdle - BlockIdle
BlockAttack - BlockAttack (fairly Sure this one is PC/NPC only)
Dodging (Fairly sure all 4 of these are PC/NPC only)
DodgeForward - DodgeForward
DodgeBackward - DodgeBackward
DodgeLeft - DodgeLeft
DodgeRight - DodgeRight
Casting
CastSelf - CastSelf
CastSelfAlt - CastSelfAlt
CastTarget - CastTarget
CastTargetAlt - CastTargetAlt
CastTouch - CastTouch
CastTouchAlt - CastTouchAlt
Note: All Attack Anims need a weapon type in the name of the file IE: handtohandattackright - onehandattackright - twohandattackright.........
Normal Attacks
AttackRight - AttackRight
AttackRight_Chop - AttackRight_Chop
AttackRight_Hook - AttackRight_Hook
AttackRight_Jab - AttackRight_Jab
AttackLeft - AttackLeft
AttackLeft_Chop - AttackLeft_Chop
AttackLeft_Hook - AttackLeft_Hook
AttackLeft_Jab - AttackLeft_Jab
Power Attacks
AttackRightPower - AttackRightPower
AttackLeftPower - AttackLeftPower
AttackForwardPower - AttackForwardPower
AttackBackPower - AttackBackPower
Skill Based Power Attacks (Fairly sure all 5 of these are PC/NPC only)
Skill1AttackPower - AttackPower
Skill2AttackRightPower - AttackRightPower
Skill2AttackLeftPower - AttackLeftPower
Skill3AttackBackPower - AttackBackPower
Skill4AttackForwardPower - AttackForwardPower
Sneak and Swim
All you need for These two are to add the word Sneak or Swim to the from of the base anim names IE:
swimforward - sneaktwohandforward - sneakforward - and so on.....
Misc Anims
Recoil - Recoil
Recoil_01 - Recoil_01
Recoil_02 - Recoil_02
Recoil_03 - Recoil_03
Stagger - Stagger
Idle - Idle
Note: these can have the weapon names added to thie files so you can make them all different
Special Anims
Death - Death
Jumping
JumpStart - JumpStart
JumpLoop - JumpLoop
JumpLand - JumpLand
Credits go out to
MySelf (Saiden Storm) for creating the model skeleton and animations
Gundalf for creating his exporter
Tazpn for creation of his kf updater
the Civ4 people for thier exporter
tazpn at niftools for updating gundalfs exporter
Without these people I could have never of finished this project.
Here is a sample of my work
http://www.elderscrolls.com/forums/index.php?showtopic=608327
Videos
http://www.youtube.com/watch?v=Q4j_YPbDIeg
http://www.youtube.com/watch?v=cDSjHnNfxR0
Theo Habit's Conversion Of Denethor's Dragon
http://www.niftools.org/wiki/index.php/3ds_Max/Tutorials/Conversion
This is also a useful read.