UE2:ZoneInfo (UT2004)

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to navigation Jump to search
UT2004 Object >> Actor >> Info >> ZoneInfo
Package: 
Engine
Known custom subclasses:
Crusha/DynamicWeather, Crusha/DynamicWeather/DWZoneInfo, Crusha/UltimateMappingTools, Crusha/UltimateMappingTools/UltimateSkyZoneInfo, Wormbo/SelectableSkyZoneInfo
S ZoneInfo.png

ZoneInfo actors are used to set properties of zones that are different from the global level properties as defined in the map's LevelInfo. Like Volumes, ZoneInfos can be used to assign names to areas of the map, and like a PhysicsVolume a ZoneInfo can apply an audio environment (an I3DL2Listener) to this area.

Additionally, zones and their ZoneInfos play an important role in level optimization. The ZoneInfo properties bLonelyZone, ManualExcludes and Actor.Tag (in combination with Actor.ForcedVisibilityZoneTag) can be used to help the rendering code with deciding what actually needs to be rendered. The DistanceFogEnd can also be used for performance optimization: objects further away than the end of the distance fog are not considered for rendering. Of course this should only be used if it fits the map's theme, but large maps may become unplayable if it is not used.

Properties

Property group 'ZoneInfo'

bClearToFogColor

Type: bool

Clear to fog color if distance fog is enabled.

bDistanceFog

Type: bool

There is distance fog in this zone.

bSoftKillZ

Type: bool

Players falling below the KillZ height aren't killed immediately, but only when they land or fall really deep (more than 2000UU) below the KillZ area.

bTerrainZone

Type: bool

There is terrain in this zone. TerrainInfos will have no effect in this zone if this property is set to False. You can use this to make holes in your terrain. You can see this e.g. on DM-Antalus, where the three cave entrance ways cut through the terrain. The terrain transitions are covered by the large spike-like static meshes there.

KillZ

Type: float

Actors, especially Pawns, falling below this height are killed. More specificly, the engine calls the actor's FellOutOfWorld() event with this zone's KillZType as parameter and the actor decides, how to handle this.

Default value: -10000.0

KillZType

Type: Actor.eKillZType

This is passed to an actor's FellOutOfWorld() event to allow different KillZ effects.

LocationName

Type: string

Modifiers: localized

The location name of this zone. Any Volume can be used to override this value for parts of the zone. The LocationName specified in the level properties will be used for zones without a ZoneInfo or if the ZoneInfo's LocationName is empty.

ZoneTag

Type: name

This name is used in combination with ZoneTriggers. (Only used for switching the destination of WarpZoneInfos.)

Property group 'ZoneLight'

AmbientBrightness

Type: byte

Brightness of the ambient lighting in this zone.

AmbientHue

Type: byte

Color of the ambient lighting in this zone.

AmbientSaturation

Type: byte

Saturation of the ambient lighting in this zone.

Default value: 255

DistanceFogBlendTime

Type: float

Distance fog transition time when entering this zone. This value also determines how quickly to fade in/out the fog if either the previous or this new zone does not have any distance fog.

Default value: 1.0

DistanceFogColor

Type: Object.Color

The color of the distance fog. The alpha component is unused.

Default value:

Member Value
A 0
B 128
G 128
R 128

DistanceFogEnd

Type: float

The distance at which the fog reaches full opacity.

Default value: 8000.0

DistanceFogEndMin

Type: float

Can be used to define an alternative, smaller full opacity fog distance. If specified, the player can use the "Fog Distance" slider in the detail settings to customize the fog distance for the best trade-of between performance and view distance.

This property should always be set for large outdoor maps. If it is zero, the fog distance user setting has no effect.

DistanceFogStart

Type: float

The distance at which the fog starts.

Default value: 3000.0

DramaticLightingScale

Type: float


Default value: 1.2

EnvironmentMap

Type: Texture

Modifiers: const


TexUPanSpeed

Type: float

Unused.

Default value: 1.0

TexVPanSpeed

Type: float

Unused.

Default value: 1.0

Property group 'ZoneSound'

ZoneEffect

Type: I3DL2Listener

Modifiers: editinline

An audio environment for this zone.

Property group 'ZoneVisibility'

bLonelyZone

Type: bool

Set this to True when this zone can neither be seen from any other zone, nor can any other zone (including the skybox) be seen from this zone.

ManualExcludes

Type: array<ZoneInfo>

Modifiers: editinline

You can add other ZoneInfo actors to this list to help the visibility code decide whether it should render that other zone if viewing from this zone. This can be useful if the view to another zone is only obstructed by static meshes.

Unfortunately this property is not defined as edfindable, so you will have to enter the Name from the Object property group of the ZoneInfo actors manually. UnrealEd only requires the short name, not the fully qualified name, though. Something like ZoneInfo5 will automatically be completed to ZoneInfo'myLevel.ZoneInfo5'.

Internal variables

AmbientVector

Type: Object.Vector


RealDistanceFogEnd

Type: float

Modifiers: transient

The original value of DistanceFogEnd as that property may be scaled through the "Fog Distance" user setting.

SkyZone

Type: SkyZoneInfo

Reference to the SkyZoneInfo of the skybox of this zone. This property is initialized automatically at startup, but some custom ZoneInfo subclasses provide a way to select a specific skyzone.

Terrains

Type: array<TerrainInfo>

Modifiers: const

List of TerrainInfos in this zone.

Default values

Property Value
bNoDelete True
bStatic True
Texture Texture'Engine.S_ZoneInfo'

Functions

Iterator functions

ZoneActors

native(308) final iterator function ZoneActors (class<ActorBaseClass, out Actor Actor)

Iterates through all actors contained in this zone. This iterator function has about the same performance as AllActors, just with the benefit that actors from other zones are filtered in native code.

Events

ActorEntered

event ActorEntered (Actor Other)

Called when an actor enters this zone. Used only by WarpZoneInfo.

ActorLeaving

event ActorLeaving (Actor Other)

Called when an actor leaves this zone. Used only by WarpZoneInfo.

PreBeginPlay

simulated event PreBeginPlay ()

Overrides: Actor.PreBeginPlay

Links this zone's skybox.

Other instance functions

LinkToSkybox

simulated function LinkToSkybox ()

Tries to find a SkyZoneInfo for this zone. At low world detail, SkyZoneInfos with both bHighDetail and bSuperHighDetail set to False are ignored, at high world detail SkyZoneInfos with both bSuperHighDetail set to False are ignored.

Only the last relevant SkyZoneInfos placed by the mapper is used. If you want to use different skyboxes for different detail levels, make sure you place the SkyZoneInfo for the lowest detail mode first and the SkyZoneInfo for the highest detail mode last. If you added them in a different order, you can use the "Order -> To Last" command from the viewport context menu to change the order of the SkyZoneInfos.