Clipping Your Level

Not to be confused with the CSG clip operation you can perform on brushes, clipping your level will help optimize player collision and help avoid stuck spots, both for players and AI.

You can see in this comparison shot how drastically the collision landscape of your level might become after a clipping pass. We'll get into specifics on this later, but first, an overview of the clip texture types available to you:

Clip Textures

Quake 4 makes use of a host of varying clip textures, including a couple additions over the Doom 3 set. These textures can all be found in textures/common/ and are listed by material name. Keep in mind that these textures are defined in materials just as with any others, so you can mix and match these keys in your own materials:

clip: Generates collision for players and monsters. Generates AAS information.

full_clip: Generates collision for all players and monsters, and blocks all weapons fire. Generates AAS information and tactical features. Blocks monster line of sight.

player_clip: Generates collision for players only.

monster_clip: Generates collision for monsters. Generates AAS information.

monster_full_clip: Generates collision for monsters. Generates AAS information and tactical features. Blocks monster line of sight.

moveable_clip: Generates collision for physics objects and ragdolls.

shot_clip: Blocks all weapons fire.

largeshot_clip: Blocks only weapons fire specified with "clipmask_largeshot" "1" set on the projectile/hitscan entityDef (see rocket launcher, grenade launcher, etc).

trigshotclip: Only used on teleporters to allow weapons fire to teleport in multiplayer.

vehicle_clip: Generates collision for vehicles.

fly_clip: Remnant clip type from previous version of Strogg Hornet AI. No longer used in favor of standard monster_clip variants.

AAS Textures

In addition to standard clip textures, a pair of AAS-specific textures can be found in textures/editor/:

aassolid: Generates no collision (despite 'solid' in the name)

aasobstacle: Used on func_aas_obstacle entities.

Single Player Clipping and AAS Generation

An important phase of every single player level is a clipping pass for AAS generation. While AAS data is generated for the level on every standard compile, a careful pass will prevent navigation issues and help the AI take full advantage of your level's layout.

Notes on AAS Generation:

Some additional notes on clipping you may find useful:

Multiplayer Clipping

Clipping in multiplayer is generally a much less involved task. Most important is player mobility - players should not get stuck on anything they're not intended to. A good rule is if something isn't large enough to hide behind, you should clip it off. A common practice in clipping multiplayer levels is to place angled clip brushes on small protrusions from walls to allow players to bounce off with no loss in speed:

Stairs are known to interrupt strafe jumping, which we remedied by ramp-clipping stairways in the stock maps. This prevents hitches in movement in addition to opening more ramp-jumping opportunities, which of course we all love.

Since AAS is not an issue, you can in some cases get away with clipping that would fail in a single player environment - one-way or curved patch mesh clipping, for example.

Community-made multiplayer bots may make use of AAS hulls for bot navigation. Consult individual bot documentation files for information on preferred clipping methods - they may differ slightly from what is described here.


Back to LevelEditor

LevelEditor Clipping (last edited 2005-12-12 23:06:56 by AndrewWeldon)