Cogito, ergo sum

UE3:PrimitiveComponent properties (UT3)

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

Contents

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

Properties

Property group 'Collision'

BlockRigidBody

Type: bool

Modifiers: const


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'

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.

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.

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

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.

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


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'

bAcceptsDecals

Type: bool

Modifiers: const

If TRUE, this primitive accepts decals.

bAcceptsDecalsDuringGameplay

Type: bool

Modifiers: const

If TRUE, this primitive accepts decals spawned during gameplay. Effectively FALSE if bAcceptsDecals is FALSE.

Default value: True

bAcceptsFoliage

Type: bool

Modifiers: const

If TRUE, this primitive accepts foliage.

Default value: True

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.

bUseAsOccluder

Type: bool

If this is True, this primitive will be used to occlusion cull other primitives.

CachedCullDistance

Type: float

Modifiers: editconst

The distance to cull this primitive at. A CullDistance of 0 indicates that the primitive should not be culled by distance. The distance calculation uses the center of the primitive's bounding sphere.

CullDistance

Type: float

Modifiers: const, private, noexport

Cull distance exposed to LDs. The real cull distance is the min (disregarding 0) of this and volumes affecting this object.

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


MotionBlurScale

Type: float

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

Default value: 1.0

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

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

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: const, native


Bounds

Type: Object.BoxSphereBounds

Modifiers: const, native, transient


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


CachedParentToWorld

Type: Object.Matrix

Modifiers: native, transient, const

Todo: please remove me if possible

CollideActors

Type: bool

Modifiers: const


DecalList

Type: array<pointer{class FDecalInteraction}>

Modifiers: native, private, noimport, const


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


RigidBodyIgnorePawns

Type: bool

Modifiers: const

DEPRECATED! Use RBChannel/RBCollideWithChannels instead now

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.