Modelling

From UFO:AI

Contribute: Artwork, Modelling, Mapping, Music and sounds

Contents

General

3D-Models are used for items on the map (trees, cars, furniture...) - but they also be modelled via the leveleditor - as well as for the actors (soldiers, aliens, civilians) and their weapons & equiment. The main difference between misc_model and brushes (mapeditor models) are that a misc_model doesn't clip the moving automatically and doesn't throw shadows (atm)

Dimensions

  • a player is 56 units tall
  • 8 units equals 1 foot
  • therefore, player is 7 feet tall

Creating new models

Programs

Needed models

See the Models/Maps section in the TODO/General page or any of the other TODO pages for upcoming versions for a list of needed models.

Modelformat

We use the normal Quake2 md2 format for our models. See the md2 entry for a longer description of the format and tools that you might find useful. We even support the md3 basic features in versions >= 2.1

For those who are familiar with the md3 format and the tags used to identify geometry - we even support tags for md2.

The following numbers are rough guidelines for the various upper limits. They are already a bit dated now and by no means fixed rules. You can always ask a team member if you stuff will be ok.

Texture sizes

  • Weapons/cars/big trees 256x256px (some even are 64x256)
  • small plants/ammo: 64x64px

Polygons

  • cars: ~300-550tris
  • big weapons: 200-300tris
  • ammo: ~100tris
  • characters: ~950tris for body and ~250tris for head

Sizes

  • read about the levelflags UFO:AI uses, we should be able to hide some parts of a model if it is higher than one level in UFO:AI. This is why we have split some of the existing models into several smaller ones. This way we are able to set different levelflags for each modelpart in order to hide or display them as needed. For example streetlamps should be split into two parts.

Skins

  • see /Skins article for more information

Animation

Character animations are read from anm files with the same basename as the md2. e.g.:

modelname.md2
modelname.anm

.anm file format

The format of these anm files is as following. For each animation sequence you have a line consisting of ...

  • animation name
  • start frame
  • end frame
  • fps

... that are seperated by whitespaces.

Example

death1				0		30		18
dead1				30		30		18
death2				31		61		18
dead2				61		61		18
death3				62		94		18
dead3				94		94		18

stand0				189		190		1
walk0				191		206		22
cstand0				209		210		1
cwalk0				212		227		15

List of needed animations for a character

Characters are soldiers and aliens (as opposed to civilians) that can perform actions like shooting with different weapons.

  • stand0, stand1, stand2, stand3
  • walk0, walk1, walk2, walk3
  • cstand0, cstand1, cstand2, cstand3
  • cwalk0, cwalk1, cwalk2, cwalk3
  • death1, death2, death3
  • dead1, dead2, dead3
  • run0
  • move_*, shoot_*, cmove_*, cshoot_* (replace * with the following list)
    Attention: "*move_*" is actually an "idle" animation and has nothing to do with moving around.
    • rifle
    • biggun - Fixme: What is the difference to "rifle"?
    • melee
    • pistol
    • pistol_d (akimbo)
    • grenade
    • item
    • rpg
  • stand_menu
  • stand_still
  • panic0

Meaning of "c"

Every action starting with a "c" is for the same action but in crouched state.

death and dead animations

  • death# - dying animation
  • dead# - The animation of the dead body (i.e. the body lying on the floor). In most cases the last frame of the matching "death" animation (effectively making it a non-animation ;))

You may have also noticed, that there are various animations for death. We use three different death animations for each model. So keep in mind, that all of your models will need this three death animations if you build animated models for UFO:AI. The same counts for all other listed animation names.

Meaning of the numbers

The number in the animation names (except for the 'death' and 'dead' ones) is the one defined with animationindex <number> in the weapon_*.ufo files.

  • 0 - items (mostly the 'unusable' ones like ammo), grenades
  • 1 - rifles
  • 2 - pistols, and 'active' items (e.g. medikit, irgoggles)
  • 3 - rpg (shoulder mounted weapons)

You can also have a look at our *.anm files for the characters.

  • body.anm. The head models don't need any *.anm files. They inherit the rotation from the tag file (e.g. body.tag) (the tag-files must have the same base name as the body).

Also see the list of animated models.

Bip-Files

Bip files are for easy transforming animation and bones to your model. See Character Animation.

Links

Other programs

Patterns & Blueprints

project-navigation