I don't need to test my programs. I have an error-correcting modem.

UE3:PrimitiveComponent properties (UDK)

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search

Contents

PrimitiveComponent properties in other games:
UT3
Other member categories for this class:
native functions

Properties

Property group 'Collision'

BlockRigidBody

Type: bool

Modifiers: const


CanBlockCamera

Type: bool

Modifiers: const

TRUE if this primitive is eligible to block camera traces, FALSE if the camera should ignore it.

Default value: True

RBChannel

Type: ERBCollisionChannel

Modifiers: const

Enum indicating what type of object this should be considered for rigid body collision.

RBCollideWithChannels

Type: RBCollisionChannelContainer

Modifiers: const

Types of objects that this physics objects will collide with.

Property group 'Lighting'

bAcceptsDynamicDominantLightShadows

Type: bool

Optimization for objects which don't need to receive dominant light shadows. This is useful for objects which eat up a lot of GPU time and are heavily texture bound yet never receive noticeable shadows from dominant lights like trees.

Default value: True

bAcceptsDynamicLights

Type: bool

Modifiers: const

Whether this primitives accepts dynamic lights

controls whether the object should be affected by dynamic lights.

Default value: True

bAcceptsLights

Type: bool

Modifiers: const

Does this primitive accept lights?

controls whether the primitive accepts any lights. Should be set to FALSE for e.g. unlit objects as its a nice optimization - especially for larger objects.

bAllowAmbientOcclusion

Type: bool

Controls whether ambient occlusion should be allowed on or from this primitive, only has an effect on movable primitives. Note that setting this flag to FALSE will negatively impact performance.

Default value: True

bCastDynamicShadow

Type: bool

If false, primitive does not cast dynamic shadows.

controls whether the primitive should cast shadows in the case of non precomputed shadowing like e.g. the primitive being in between a light and a dynamic object. This flag is only used if CastShadow is TRUE. Currently dynamic primitives will not receive shadows from static objects unless both this flag and CastShadow are enabled.

Default value: True

bCastHiddenShadow

Type: bool

If TRUE, the primitive will cast shadows even if bHidden is TRUE.

Controls whether the primitive should cast shadows when hidden. This flag is only used if CastShadow is TRUE.

bCullModulatedShadowOnBackfaces

Type: bool

If TRUE, the primitive backfaces won't allow for modulated shadows to be cast on them. If FALSE, could help performance since the mesh doesn't have to be drawn again to cull the backface shadows

bCullModulatedShadowOnEmissive

Type: bool

If TRUE, the emissive areas of the primitive won't allow for modulated shadows to be cast on them. If FALSE, could help performance since the mesh doesn't have to be drawn again to cull the emissive areas in shadow

bForceDirectLightMap

Type: bool

Modifiers: const

If true, forces all static lights to use light-maps for direct lighting on this primitive, regardless of the light's UseDirectLightMap property.

forces the use of lightmaps for all static lights affecting this primitive even though the light might not be set to use light maps. This means that the primitive will not receive any shadows from dynamic objects obstructing static lights. It will correctly shadow in the case of dynamic lights

bSelfShadowOnly

Type: bool

If true, the primitive will only shadow itself and will not cast a shadow on other primitives. This can be used as an optimization when the shadow on other primitives won't be noticeable.

bUsePrecomputedShadows

Type: bool

Modifiers: const

Whether the primitive supports/ allows static shadowing

CastShadow

Type: bool

Whether to cast any shadows or not

controls whether the primitive component should cast a shadow or not. Currently dynamic primitives will not receive shadows from static objects unless both this flag and bCastDynamicSahdow are enabled.

LightingChannels

Type: LightComponent.LightingChannelContainer

Modifiers: const

Lighting channels controlling light/ primitive interaction. Only allows interaction if at least one channel is shared

Property group 'Physics'

bDisableAllRigidBody

Type: bool

Modifiers: const

Never create any physics engine representation for this body.

bFluidDrain

Type: bool

Modifiers: const

Whether this object should act as a 'drain' for fluid, and destroy fluid particles when they contact it.

bFluidTwoWay

Type: bool

Modifiers: const

Indicates that fluid interaction with this object should be 'two-way' - that is, force should be applied to both fluid and object.

bIgnoreForceField

Type: bool

Will ignore force field applied to this component.

bIgnoreRadialForce

Type: bool

Will ignore radial forces applied to this component.

bIgnoreRadialImpulse

Type: bool

Will ignore radial impulses applied to this component.

bNotifyRigidBodyCollision

Type: bool

Modifiers: const

Flag that indicates if OnRigidBodyCollision function should be called for physics collisions involving this PrimitiveComponent.

bSkipRBGeomCreation

Type: bool

Modifiers: const

When creating rigid body, will skip normal geometry creation step, and will rely on ModifyNxActorDesc to fill in geometry.

bUseCompartment

Type: bool

Modifiers: const

Place into a NxCompartment that will run in parallel with the primary scene's physics with potentially different simulation parameters.

If double buffering is enabled in the WorldInfo then physics will run in parallel with the entire game for this component.

PhysMaterialOverride

Type: PhysicalMaterial

Modifiers: const

Allows you to override the PhysicalMaterial to use for this PrimitiveComponent.

RBDominanceGroup

Type: byte

Used for creating one-way physics interactions (via constraints or contacts) Groups with lower RBDominanceGroup push around higher values in a 'one way' fashion. Must be <32.

Default value: 15

Property group 'PrimitiveComponent'

AbsoluteRotation

Type: bool

Modifiers: const


AbsoluteScale

Type: bool

Modifiers: const


AbsoluteTranslation

Type: bool

Modifiers: const


bAllowShadowFade

Type: bool

Determines whether or not we allow shadowing fading. Some objects (especially in cinematics) having the shadow fade/pop out looks really bad. *

bIgnoreHiddenActorsMembership

Type: bool

Fixme: JF, Hack for gears ship to allow certain components to render even if the parent actor is part of the camera's HiddenActors array. Potentially worth cleaning up and integrating back to mainline, but I'm not really caring about that right now. :)

Rotation

Type: Object.Rotator

Modifiers: const


Scale

Type: float

Modifiers: const


Default value: 1.0

Scale3D

Type: Object.Vector

Modifiers: const


Default value:

Member Value
X 1.0
Y 1.0
Z 1.0

Translation

Type: Object.Vector

Modifiers: const


Property group 'Rendering'

bAcceptsDynamicDecals

Type: bool

Modifiers: const

If TRUE, this primitive accepts dynamic decals spawned during gameplay.

Default value: True

bAcceptsFoliage

Type: bool

Modifiers: const

If TRUE, this primitive accepts foliage.

Default value: True

bAcceptsStaticDecals

Type: bool

Modifiers: const

If TRUE, this primitive accepts static level placed decals in the editor.

bAllowApproximateOcclusion

Type: bool

If this is True, this component doesn't need exact occlusion info.

bAllowCullDistanceVolume

Type: bool

Modifiers: const

Whether to accept cull distance volumes to modify cached cull distance.

Default value: True

bForceMipStreaming

Type: bool

Modifiers: const

If TRUE, forces mips for textures used by this component to be resident when this component's level is loaded.

bIgnoreOwnerHidden

Type: bool

Modifiers: const

If true, bHidden on the Owner of this component will be ignored.

bOnlyOwnerSee

Type: bool

Modifiers: const

If this is True, this component will only be visible when the view actor is the component's owner, directly or indirectly.

bOwnerNoSee

Type: bool

Modifiers: const

If this is True, this component won't be visible when the view actor is the component's owner, directly or indirectly.

CachedMaxDrawDistance

Type: float

Modifiers: editconst

The distance to cull this primitive at. A CachedMaxDrawDistance of 0 indicates that the primitive should not be culled by distance.

DepthPriorityGroup

Type: Scene.ESceneDepthPriorityGroup

Modifiers: const

The scene depth priority group to draw the primitive in.

Default value: SDPG_World

DetailMode

Type: Scene.EDetailMode

Modifiers: const

If detail mode is >= system detail mode, primitive won't be rendered.

HiddenEditor

Type: bool

Modifiers: const


HiddenGame

Type: bool

Modifiers: const


MassiveLODDistance

Type: float

The distance at which the renderer will switch from parent (low LOD) to children (high LOD). This is basically the same as MinDrawDistance, except that the low LOD will draw even up close, if there are no children. This is needed so the high lod meshes can be in a streamable sublevel, and if streamed out, the low LOD will draw up close.

MaxDrawDistance

Type: float

Modifiers: const, private, noexport

Max draw distance exposed to LDs. The real max draw distance is the min (disregarding 0) of this and volumes affecting this object. This is renamed to LDMaxDrawDistance in c++

MinDrawDistance

Type: float

The minimum distance at which the primitive should be rendered, measured in world space units from the center of the primitive's bounding sphere to the camera position.

MotionBlurScale

Type: float

Scalar controlling the amount of motion blur to be applied when object moves

Default value: 1.0

ReplacementPrimitive

Type: PrimitiveComponent

Modifiers: crosslevelpassive

Replacement primitive to draw instead of this one (multiple UPrim's will point to the same Replacement)

TranslucencySortPriority

Type: int

Translucent objects with a lower sort priority draw before objects with a higher priority. Translucent objects with the same priority are rendered from back-to-front based on their bounds origin.

Ignored if the object is not translucent. The default priority is zero.

Internal variables

AlwaysCheckCollision

Type: bool

Modifiers: const

when this is on, this primitive component get collision tests even if it isn't the actor's collision component

AlwaysLoadOnClient

Type: bool

Modifiers: private, const

If this is True, this component must always be loaded on clients, even if HiddenGame && !CollideActors.

Default value: True

AlwaysLoadOnServer

Type: bool

Modifiers: private, const

If this is True, this component must always be loaded on servers, even if !CollideActors.

Default value: True

bAcceptsDecals

Type: bool

Modifiers: deprecated, const

replaced with bAcceptsStaticDecals,bAcceptsDynamicDecals Deprecated April 2008

bAcceptsDecalsDuringGameplay

Type: bool

Modifiers: deprecated, const


Default value: True

bAllowDecalAutomaticReAttach

Type: bool

Modifiers: native, transient


bFirstFrameOcclusion

Type: bool

If this is True, this component will return 0.0f as their occlusion when first rendered.

bHasExplicitShadowParent

Type: bool

Modifiers: private, transient, const

TRUE if ShadowParent was set through SetShadowParent, FALSE if ShadowParent is set automatically based on Owner->bShadowParented.

bIgnoreNearPlaneIntersection

Type: bool

If True, this component will still be queried for occlusion even when it intersects the near plane.

bIsRefreshingDecals

Type: bool

Modifiers: native, transient, const


BlockActors

Type: bool

Modifiers: const


BlockNonZeroExtent

Type: bool

Modifiers: const


BlockZeroExtent

Type: bool

Modifiers: const


BodyInstance

Type: RB_BodyInstance

Modifiers: duplicatetransient, const, native


Bounds

Type: Object.BoxSphereBounds

Modifiers: const, native, transient


bSelectable

Type: bool

If this is True, this component can be selected in the editor.

Default value: True

bUseAsOccluder

Type: bool

Whether to render the primitive in the depth only pass. Setting this to FALSE will cause artifacts with dominant light shadows and potentially large performance loss, So it should be TRUE on all lit objects, setting it to FALSE is mostly only useful for debugging.

bUseViewOwnerDepthPriorityGroup

Type: bool

Modifiers: const

True if the primitive should be rendered using ViewOwnerDepthPriorityGroup if viewed by its owner.

bWasSNFiltered

Type: bool

Modifiers: const, native, transient


CachedCullDistance

Type: float

Modifiers: editconst, deprecated

Legacy, renamed to CachedMaxDrawDistance deprecated june 2008

CachedParentToWorld

Type: Object.Matrix

Modifiers: native, transient, const

Todo: please remove me if possible

CollideActors

Type: bool

Modifiers: const


CullDistance

Type: float

Modifiers: const, private, deprecated, noexport

Legacy, renamed to MaxDrawDistance deprecated june 2008

DecalList

Type: array<pointer{class FDecalInteraction}>

Modifiers: native, private, noimport, const

Current list of active decals attached to the primitive

DecalsToReattach

Type: array<DecalComponent>

Modifiers: private, transient, const

Decals that are detached from the primitive and need to be reattached

DetachFence

Type: int

Modifiers: private, native, const

A fence to track when the primitive is detached from the scene in the rendering thread.

FogVolumeComponent

Type: FogVolumeDensityComponent

Modifiers: const, transient

Keeps track of which fog component this primitive is using.

LastRenderTime

Type: float

Modifiers: transient

The value of WorldInfo->TimeSeconds for the frame when this actor was last rendered. This is written from the render thread, which is up to a frame behind the game thread, so you should allow this time to be at least a frame behind the game thread's world time before you consider the actor non-visible. There's an equivalent variable in PrimitiveComponent.

LastSubmitTime

Type: float

Modifiers: const, transient

Last time the component was submitted for rendering (called FScene::AddPrimitive).

LightEnvironment

Type: LightEnvironmentComponent

Modifiers: const

The lighting environment to take the primitive's lighting from.

LocalToWorld

Type: Object.Matrix

Modifiers: native, transient, const


LocalToWorldDeterminant

Type: float

Modifiers: native, transient, const


MotionBlurInfoIndex

Type: int

Modifiers: native, transient, const

The index for the primitive component in the MotionBlurInfo array of the scene. Render-thread usage only. This assumes that there is only one scene that requires motion blur, as there is only a single index... If the application requires a primitive component to exist in multiple scenes and have motion blur in each of them, this can be changed into a mapping of the scene pointer to the index. (Associated functions would have to be updated as well...)

OctreeNodes

Type: array<int>

Modifiers: const, native, transient


PreviousLightEnvironment

Type: LightEnvironmentComponent

Modifiers: transient, private, const

Stores the previous light environment if SetLightEnvironment is called while the primitive is attached, so that Detach can notify the previous light environment correctly.

SceneInfo

Type: pointer{FPrimitiveSceneInfo}

Modifiers: private, native, transient, const

The primitive's scene info.

ScriptRigidBodyCollisionThreshold

Type: float

if > 0, the script RigidBodyCollision() event will be called on our Owner when a physics collision involving this PrimitiveComponent occurs and the relative velocity is greater than or equal to this

ShadowParent

Type: PrimitiveComponent

Modifiers: const


Tag

Type: int

Modifiers: const, native, transient


ViewOwnerDepthPriorityGroup

Type: Scene.ESceneDepthPriorityGroup

Modifiers: const

The scene depth priority group to draw the primitive in, if it's being viewed by its owner.