Sniper's Paradise!


General Scale And Dimensions

Units & Scale

The Unreal engine uses two units:

length

Unreal Units, or UU. Often simply called "units", or even not given a name at all ("build a 256x256x64 box"). The UnrealEd grid, dimensions of brushes, positions of actors and sizes of collision cylinders are all measured in these units. The Unreal World can have a maximum size of 65536 UU (=2^16) in Unreal/UT. UT2003 and U2 have worlds of 524288 UU (=2^19).>

angle

Unreal Rotation Units are used to measure angles, to set the direction and rotation of actors for example. 65536 (=2^16) is a full circle. These units are used by rotators, a special UnrealScript variable type. An actor's orientation is given by a rotator in the property Movement → Rotation.

Not all angles in unreal use these units though:

See Useful Maths Functions for angle conversion factors.

Linear scale

What's the size of one Unreal measurement unit? (UU)

Right now the world is entirely relative. There is no "x amount of units equals y distance" in the Unreal Engine, though the specific games usually pick a scale. If you took everything in the Unreal World and multiplied all distanced, speeds, etc. by 10, the whole world would look exactly the same. (Well, technically it likes to work on powers of 8, so you might get a few BSP holes.) This is better than the metric system for game programming because the scale may change. One game may be an FPS, while another may be a space sim with several planets on an entire map. Obviously, because of the constraint on the map size, you cannot have a whole planet on a map scaled to an appropriate size for an FPS. That is why everything works in abstract "units." If, however, you want to use a handy unit conversion, you can use a postoperator for this, like so:

const Meter=52.5;

// These can be somewhere fairly global...
static final postoperator float Meters( float Units )
{ return Units * Meter; }

static final postoperator float MPS( float Units )
{ return Units Meters; }

function SetSomething()
{
  SetCollisionSize( 5 Meters, 3 Meters );
  Velocity = Vector( Rotation ) * 5 MPS;
}

This generally accepted information from world-renown authority Lode Vandevenne. Unreal dimensions are all relative to the view, and the perception of the scene is what actually determines design metrics. It has been suggested that the original Unreal designers were thinking approximately: 1 world unit equivalent to 1 inch. But they never had the intention of making UnrealEd grid units translate exactly and precisely into realworld dimensions. To illustrate, try converting the TournamentPlayer? (UT) dimensions listed here to the 16 units/foot and 12 units/foot scale and you will find that although the 12 units/foot scale is more reasonable, neither is quite right.

Using UnrealEd for other Unreal games, e.g. DeusEx or UT2003, is a little different, due to the characters being different sizes. Also, there is a slight distortion between the horizontal and vertical dimensions. If you were to try to create a replica of a real-world structure, the above conversion would make you a giant horizontally, though your vertical dimensions would seem only a little small. Therefore its best to use the following:

For all horizontal measurements:

1 meter = 70 units

For all vertical measurements:

1 meter = 60 units.

Angular scale

Value Degrees Remarks 3640 20 0-19 degrees slope does not slow down players 6371 35 20-35 degrees slope slows down players but is climbable 8192 45 16384 90 24576 135 32768 180 40960 225 49152 270 57344 315 65536 360

Actor Dimensions

Dimensions of players and bots in UT:

Dimensions of players and bots in UT2003:

standing crouching
height 88 UU 58 UU
width 50 UU 50 UU

This is the size of the collision cylinder: it's this that determines an actor's size for bumping and fitting into spaces. Note that crouching does not change this in the original UT, although some mods have implemented it.

Humans in UT are represented by the class TournamentPlayer?. To check other classes without having to add one to a map, right-click in the Actor Classes browser, open the default properties and look in the collision properties. Remember these give the radius and half the height: in this case, a CollisionHeight of 39 means the actor's cylinder is 78 units tall.

Player Environment

Ceilings

From experience, it is known that a Player can walk into any room 83 Units or higher (the engine has the Player bobbing up and down), and cannot walk into a room with a height less than 83. It is suggested that rooms be designed a minimum of 128 units in height.

For best results, the ceiling should always be at least two feet above the player's head, and it looks best when significantly higher. In regular domestic architecture, ceilings under 10 feet high are uncommon.

Hallways

These must be a minimum of 48 units wide, and, this is generally considered too narrow for bot pathnoding. PathNodes should be placed at intersections and turns so that there is as much clearance as possible from corners (at least 50 world units if possible). And PathNodes should be clear to the width of the maximum width (twice the CollisionRadius) of creatures which will use this path.

When creating a passage that must be crouched through, the minimum ceiling height is 66 units, the minimum hall width is 52 units, and the maximums are 1 less than the minimum values described above for normal hallways.

Steps

TournamentPlayers can climb any step that is 24 units or less. Using 16 as default stepheight is a smart thing to do, because stuff will align to the grid better that way.

Jumps

It is generally reported that the ability of Players to jump to some maximum height in game varies somewhat. Typically, all Players can jump up to a height of about 64 units, and cannot reach 72 units without JumpBoots.

Slopes



Spam Killer

Back To Top
2005 Sniper's Paradise
All logos and trademarks are properties of their respective owners.
Unreal™ is a registered trademark of Epic Games Inc.
Privacy Policy
Website by Softly
Powered by RUSH