Characters - 2250 polygons
Vehicles - 1500 polygons
Weapons - 500 polygons
Maximum Support Per Model - 10,000 polygons
Character Models can have up to 6 textures which can be swapped out in realtime to create diffrent clothing. In order for your DTS Model to support that create 6 textures with the following names:
Create 6 material ID's on your character and apply the textures accordingly.
The basic character uses the following Bones:
Bip01 L Thigh
Bip01 L Calf
Bip01 L Foot
Bip01 R Thigh
Bip01 R Calf
Bip01 R Foot
Bip01 L Clavicle
Bip01 L Upperarm
Bip01 L Forearm
Bip01 L Hand
Bip01 L Fingers
Bip01 L FingersB
Bip01 L Thumb
Bip01 L ThumbB
Bip01 R Clavicle
Bip01 R Upperarm
Bip01 R Forearm
Bip01 R Hand
Bip01 R Fingers
Bip01 R FingersB
Bip01 R Thumb
Bip01 R ThumbB
Every Player model should have the following nodes:
eye (For the camera when in first person view)
cam (Free floating linked to Unlink-node)
Unlink (Node to detach the cam from the body in order to have free floating 3rd Person camera view)
mount0 (Right Hand - Primary Weapon)
mount1 (Left Hand - Offhand Weapon)
mount2 (Shield on Left Arm)
On the Items (Weapons/Helmets/Shields) Make sure you have a node called "mountpoint" at the spot where the Player should be holding/wearing it and that it is aligned as the mount(nr.) on the character model.
A Mob must have the following minimum animation dsq files to work without changing any code:
there can be multiple attack and pain animations increment the trailing number and they will be automatically played in combat at random. - attack2.dsq attack3.dsq etc.
The sequence node in the file itself should be named as the file for instance "walk" in the walk.dsq
If you have models and sequences that do not follow these conventions you can reassign a sequence name in the models respective animation.cfg file:
Example: an animation.cfg file for a hypothetical bear mob looks like this:
baseShape = "~/data/shapes/$dts";
sequence0 = "#/bear/idle.dsq";
sequence1 = "#/bear/cready.dsq";
sequence2 = "#/bear/pain1.dsq";
sequence3 = "#/bear/pain2.dsq";
sequence4 = "#/bear/walk.dsq"; ***
sequence5 = "#/bear/run.dsq";
sequence6 = "#/bear/attack1.dsq";
sequence7 = "#/bear/attack2.dsq";
sequence8 = "#/bear/swimidle.dsq";
sequence9 = "#/bear/swim.dsq";
sequence10 = "#/bear/death.dsq";
- Lets say your dsq for walking is called hamsterhop.dsq and not walk.dsq
then assign this file in the cfg like so:
sequence4 = "#/bear/hamsterhop.dsq walk";
Player Models have these base animations assigned. (I assume there is a fallback like with the mobs) that trailing digit animations only need the version 1 and more are optional:
Some other unsorted notes
In "spawns" you put the models, animations and textures together:
spawn.model = "bear/bear.dts"
spawn.animation = "bear"
spawn.textureSingle = "bear/bear_brown"
If the models has only one texture and Material ID you will use spawn.textureSingle = "single/bear_brown"
If it has more than one texture, the model must be setup to have the material ID's named: base.head.png base.body.png as above. And then call them in python:
Then you call the textures like so fer instance:
spawn.textureHead = "bear/bear_brown"
spawn.textureBody = "bear/bear_fuzzyhair"