There is no spoon

UE3:PrimitiveComponent properties (UDK)

From Unreal Wiki, The Unreal Engine Documentation Site
Revision as of 05:44, 17 January 2010 by Wormbo (Talk | contribs) (1 revision: class descriptions for UDK January update (part 4))

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

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

Properties[edit]

Property group 'Collision'[edit]

BlockRigidBody[edit]

Type: bool

Modifiers: const


CanBlockCamera[edit]

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[edit]

Type: ERBCollisionChannel

Modifiers: const

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

RBCollideWithChannels[edit]

Type: RBCollisionChannelContainer

Modifiers: const

Types of objects that this physics objects will collide with.

Property group 'Lighting'[edit]

bAcceptsDynamicDominantLightShadows[edit]

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[edit]

Type: bool

Modifiers: const

Whether this primitives accepts dynamic lights

controls whether the object should be affected by dynamic lights.

Default value: True

bAcceptsLights[edit]

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[edit]

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[edit]

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[edit]

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[edit]

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[edit]

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[edit]

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[edit]

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[edit]

Type: bool

Modifiers: const

Whether the primitive supports/ allows static shadowing

CastShadow[edit]

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[edit]

Type: LightComponent.LightingChannelContainer

Modifiers: const

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

Property group 'Physics'[edit]

bDisableAllRigidBody[edit]

Type: bool

Modifiers: const

Never create any physics engine representation for this body.

bFluidDrain[edit]

Type: bool

Modifiers: const

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

bFluidTwoWay[edit]

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[edit]

Type: bool

Will ignore force field applied to this component.

bIgnoreRadialForce[edit]

Type: bool

Will ignore radial forces applied to this component.

bIgnoreRadialImpulse[edit]

Type: bool

Will ignore radial impulses applied to this component.

bNotifyRigidBodyCollision[edit]

Type: bool

Modifiers: const

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

bSkipRBGeomCreation[edit]

Type: bool

Modifiers: const

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

bUseCompartment[edit]

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[edit]

Type: PhysicalMaterial

Modifiers: const

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

RBDominanceGroup[edit]

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'[edit]

AbsoluteRotation[edit]

Type: bool

Modifiers: const


AbsoluteScale[edit]

Type: bool

Modifiers: const


AbsoluteTranslation[edit]

Type: bool

Modifiers: const


bAllowShadowFade[edit]

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[edit]

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[edit]

Type: Object.Rotator

Modifiers: const


Scale[edit]

Type: float

Modifiers: const


Default value: 1.0

Scale3D[edit]

Type: Object.Vector

Modifiers: const


Default value:

Member Value
X 1.0
Y 1.0
Z 1.0

Translation[edit]

Type: Object.Vector

Modifiers: const


Property group 'Rendering'[edit]

bAcceptsDynamicDecals[edit]

Type: bool

Modifiers: const

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

Default value: True

bAcceptsFoliage[edit]

Type: bool

Modifiers: const

If TRUE, this primitive accepts foliage.

Default value: True

bAcceptsStaticDecals[edit]

Type: bool

Modifiers: const

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

bAllowApproximateOcclusion[edit]

Type: bool

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

bAllowCullDistanceVolume[edit]

Type: bool

Modifiers: const

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

Default value: True

bForceMipStreaming[edit]

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[edit]

Type: bool

Modifiers: const

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

bOnlyOwnerSee[edit]

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[edit]

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[edit]

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[edit]

Type: Scene.ESceneDepthPriorityGroup

Modifiers: const

The scene depth priority group to draw the primitive in.

Default value: SDPG_World

DetailMode[edit]

Type: Scene.EDetailMode

Modifiers: const

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

HiddenEditor[edit]

Type: bool

Modifiers: const


HiddenGame[edit]

Type: bool

Modifiers: const


MassiveLODDistance[edit]

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[edit]

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[edit]

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[edit]

Type: float

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

Default value: 1.0

ReplacementPrimitive[edit]

Type: PrimitiveComponent

Modifiers: crosslevelpassive

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

TranslucencySortPriority[edit]

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[edit]

AlwaysCheckCollision[edit]

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[edit]

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[edit]

Type: bool

Modifiers: private, const

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

Default value: True

bAcceptsDecals[edit]

Type: bool

Modifiers: deprecated, const

replaced with bAcceptsStaticDecals,bAcceptsDynamicDecals Deprecated April 2008

bAcceptsDecalsDuringGameplay[edit]

Type: bool

Modifiers: deprecated, const


Default value: True

bAllowDecalAutomaticReAttach[edit]

Type: bool

Modifiers: native, transient


bFirstFrameOcclusion[edit]

Type: bool

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

bHasExplicitShadowParent[edit]

Type: bool

Modifiers: private, transient, const

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

bIgnoreNearPlaneIntersection[edit]

Type: bool

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

bIsRefreshingDecals[edit]

Type: bool

Modifiers: native, transient, const


BlockActors[edit]

Type: bool

Modifiers: const


BlockNonZeroExtent[edit]

Type: bool

Modifiers: const


BlockZeroExtent[edit]

Type: bool

Modifiers: const


BodyInstance[edit]

Type: RB_BodyInstance

Modifiers: duplicatetransient, const, native


Bounds[edit]

Type: Object.BoxSphereBounds

Modifiers: const, native, transient


bSelectable[edit]

Type: bool

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

Default value: True

bUseAsOccluder[edit]

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[edit]

Type: bool

Modifiers: const

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

bWasSNFiltered[edit]

Type: bool

Modifiers: const, native, transient


CachedCullDistance[edit]

Type: float

Modifiers: editconst, deprecated

Legacy, renamed to CachedMaxDrawDistance deprecated june 2008

CachedParentToWorld[edit]

Type: Object.Matrix

Modifiers: native, transient, const

Todo: please remove me if possible

CollideActors[edit]

Type: bool

Modifiers: const


CullDistance[edit]

Type: float

Modifiers: const, private, deprecated, noexport

Legacy, renamed to MaxDrawDistance deprecated june 2008

DecalList[edit]

Type: array<pointer{class FDecalInteraction}>

Modifiers: native, private, noimport, const

Current list of active decals attached to the primitive

DecalsToReattach[edit]

Type: array<DecalComponent>

Modifiers: private, transient, const

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

DetachFence[edit]

Type: int

Modifiers: private, native, const

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

FogVolumeComponent[edit]

Type: FogVolumeDensityComponent

Modifiers: const, transient

Keeps track of which fog component this primitive is using.

LastRenderTime[edit]

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[edit]

Type: float

Modifiers: const, transient

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

LightEnvironment[edit]

Type: LightEnvironmentComponent

Modifiers: const

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

LocalToWorld[edit]

Type: Object.Matrix

Modifiers: native, transient, const


LocalToWorldDeterminant[edit]

Type: float

Modifiers: native, transient, const


MotionBlurInfoIndex[edit]

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[edit]

Type: array<int>

Modifiers: const, native, transient


PreviousLightEnvironment[edit]

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[edit]

Type: pointer{FPrimitiveSceneInfo}

Modifiers: private, native, transient, const

The primitive's scene info.

ScriptRigidBodyCollisionThreshold[edit]

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[edit]

Type: PrimitiveComponent

Modifiers: const


Tag[edit]

Type: int

Modifiers: const, native, transient


ViewOwnerDepthPriorityGroup[edit]

Type: Scene.ESceneDepthPriorityGroup

Modifiers: const

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