Overview Package Class Source Class tree Glossary
previous class      next class frames      no frames

Engine.RB_BodyInstance

Extends
Object
Modifiers
hidecategories ( Object ) native ( Physics )

Copyright 1998-2011 Epic Games, Inc. All Rights Reserved.

Core.Object
|   
+-- Engine.RB_BodyInstance

Constants Summary
Inherited Contants from Core.Object
AspectRatio16x9, AspectRatio4x3, AspectRatio5x4, DegToRad, DegToUnrRot, INDEX_NONE, InvAspectRatio16x9, InvAspectRatio4x3, InvAspectRatio5x4, MaxInt, Pi, RadToDeg, RadToUnrRot, UnrRotToDeg, UnrRotToRad

Variables Summary
boolbForceUnfixed
boolbInstanceAlwaysFullAnimWeight
pointerBodyData
intBodyIndex
pointerBoneSpring
pointerBoneSpringKinActor
floatLastEffectPlayedTime
PrimitiveComponentOwnerComponent
vectorPreviousVelocity
intSceneIndex
vectorVelocity
BoneSpring
boolbDisableOnOverextension
boolbEnableBoneSpringAngular
boolbEnableBoneSpringLinear
boolbMakeSpringToBaseCollisionComponent
boolbNotifyOwnerOnOverextension
floatBoneAngularDamping
floatBoneAngularSpring
floatBoneLinearDamping
floatBoneLinearSpring
boolbTeleportOnOverextension
boolbUseKinActorForBoneSpring
floatOverextensionThreshold
Physics
boolbEnableCollisionResponse
boolbOnlyCollideWithPawns
boolbPushBody
floatContactReportForceThreshold
floatInstanceDampingScale
floatInstanceMassScale
PhysicalMaterialPhysMaterialOverride
RB_BodyInstance
floatCustomGravityFactor
Inherited Variables from Core.Object
Class, HashNext, HashOuterNext, Linker, LinkerIndex, Name, NetIndex, ObjectArchetype, ObjectFlags, ObjectInternalInteger, Outer, StateFrame, VfTableObject

Enumerations Summary
Inherited Enumerations from Core.Object
AlphaBlendType, EAspectRatioAxisConstraint, EAutomatedRunResult, EAxis, EDebugBreakType, EInputEvent, EInterpCurveMode, EInterpMethodType, ETickingGroup

Structures Summary
Inherited Structures from Core.Object
Array_Mirror, BitArray_Mirror, BoneAtom, Box, BoxSphereBounds, Color, Cylinder, double, FColorVertexBuffer_Mirror, Guid, IndirectArray_Mirror, InlinePointerArray_Mirror, InterpCurveFloat, InterpCurveLinearColor, InterpCurvePointFloat, InterpCurvePointLinearColor, InterpCurvePointQuat, InterpCurvePointTwoVectors, InterpCurvePointVector, InterpCurvePointVector2D, InterpCurveQuat, InterpCurveTwoVectors, InterpCurveVector, InterpCurveVector2D, IntPoint, LinearColor, Map_Mirror, Matrix, MultiMap_Mirror, OctreeElementId, Plane, pointer, Quat, qword, RawDistribution, RenderCommandFence, RenderCommandFence_Mirror, Rotator, Set_Mirror, SHVector, SHVectorRGB, SparseArray_Mirror, TAlphaBlend, ThreadSafeCounter, TPOV, TwoVectors, UntypedBulkData_Mirror, Vector, Vector2D, Vector4

Functions Summary
function EnableBoneSpring (bool bInEnableLinear, bool bInEnableAngular, const out matrix InBoneTarget)
function EnableCollisionResponse (bool bEnableResponse)
functionfloat GetBodyMass ()
functionPhysicsAssetInstance GetPhysicsAssetInstance ()
functionvector GetUnrealWorldAngularVelocity ()
functionmatrix GetUnrealWorldTM ()
functionvector GetUnrealWorldVelocity ()
functionvector GetUnrealWorldVelocityAtPoint (vector Point)
functionbool IsFixed ()
functionbool IsValidBodyInstance ()
function SetBlockRigidBody (bool bNewBlockRigidBody)
function SetBoneSpringParams (float InLinearSpring, float InLinearDamping, float InAngularSpring, float InAngularDamping)
function SetBoneSpringTarget (const out matrix InBoneTarget, bool bTeleport)
function SetContactReportForceThreshold (FLOAT Threshold)
function SetFixed (bool bNewFixed)
function SetPhysMaterialOverride (PhysicalMaterial NewPhysMaterial)
function UpdateDampingProperties ()
function UpdateMassProperties (RB_BodySetup Setup)
Inherited Functions from Core.Object
!, !=, $, $=, %, &, &&, *, **, *=, +, ++, +=, -, --, -=, / , /=, <, <<, <=, ==, >, >=, >>, >>>, @, @=, Abs, Acos, Asc, Asin, Atan, Atan2, BeginState, ByteToFloat, Caps, Chr, Clamp, ClampLength, ClampRotAxis, ClampRotAxisFromBase, ClampRotAxisFromRange, ClassIsChildOf, ClockwiseFrom, ColorToLinearColor, ContinuedState, Cos, Cross, DebugBreak, Disable, Dot, DumpStateStack, DynamicLoadObject, Enable, EndState, EvalInterpCurveFloat, EvalInterpCurveVector, EvalInterpCurveVector2D, Exp, FCeil, FClamp, FCubicInterp, FFloor, FindDeltaAngle, FindObject, FInterpConstantTo, FInterpEaseIn, FInterpEaseInOut, FInterpEaseOut, FInterpTo, float, FloatToByte, FMax, FMin, FPctByRange, FRand, GetAngularDegreesFromRadians, GetAngularDistance, GetAngularFromDotDist, GetAxes, GetBuildChangelistNumber, GetDotDistance, GetEngineVersion, GetEnum, GetFuncName, GetHeadingAngle, GetMappedRangeValue, GetPackageName, GetPerObjectConfigSections, GetRangePctByValue, GetRangeValueByPct, GetRightMost, GetRotatorAxis, GetScriptTrace, GetStateName, GetSystemTime, GetUnAxes, GotoState, InCylinder, InStr, InverseTransformNormal, InverseTransformVector, IsA, IsChildState, IsInState, IsPendingKill, IsUTracing, IsZero, JoinArray, Left, Len, Lerp, LerpColor, Localize, Locs, Loge, LogInternal, MakeColor, MakeLinearColor, MakeRotationMatrix, MakeRotationTranslationMatrix, MakeRotator, MatrixGetAxis, MatrixGetOrigin, MatrixGetRotator, Max, Mid, Min, MirrorVectorByNormal, Normal, Normalize, NormalizeRotAxis, NoZDot, OrthoRotation, ParseLocalizedPropertyPath, ParseStringIntoArray, PathName, PausedState, PointDistToLine, PointDistToPlane, PointDistToSegment, PointProjectToPlane, PoppedState, PopState, ProjectOnTo, PushedState, PushState, QuatDot, QuatFindBetween, QuatFromAxisAndAngle, QuatFromRotator, QuatInvert, QuatProduct, QuatRotateVector, QuatSlerp, QuatToRotator, Rand, RDiff, Repl, Right, RInterpTo, RLerp, RotRand, Round, RSize, RSmerp, RTransform, SaveConfig, SClampRotAxis, ScriptTrace, SetUTracing, Sin, Split, SplitString, Sqrt, Square, StaticSaveConfig, Tan, TimeStamp, ToHex, TransformNormal, TransformVector, TransformVectorByRotation, UnwindHeading, vect2d, VInterpTo, VLerp, VRand, VRandCone, VRandCone2, VSize, VSize2D, VSizeSq, VSizeSq2D, VSmerp, WarnInternal, ^, ^^, |, ||, ~, ~=


Variables Detail

bForceUnfixed Source code

var private transient bool bForceUnfixed;
An override to say whether this body has been forced (by gameplay code) to be unfixed or not. This allows for the existing functionality and not having to change all of the existing code for setting fixed/unfixed on body instances. Useful for chopping off limbs and having Pawn go to ragdoll and back and still be able to play animations.

bInstanceAlwaysFullAnimWeight Source code

var private transient bool bInstanceAlwaysFullAnimWeight;
If this is true that all of the "updatetransform" data should come from the physics and not the anim data. NOTE: If an animation is played on the bones and there is no actual BodyInstance (e.g. ragdolls usually have finger and those indiv finger bones do not have a body instance on them) then the animation will still play as there is no body instance which is being checked for this override.

BodyData Source code

var native const pointer BodyData;
Internal use. Physics-engine representation of this body.

BodyIndex Source code

var const int BodyIndex;
Index of this BodyInstance within the PhysicsAssetInstance/PhysicsAsset.

BoneSpring Source code

var native const pointer BoneSpring;
Internal use. Physics-engine representation of the spring on this body.

BoneSpringKinActor Source code

var native const pointer BoneSpringKinActor;
If bUseKinActorForBoneSpring is true, this is the Physics-engine representation of the kinematic actor the spring is attached to.

LastEffectPlayedTime Source code

var transient float LastEffectPlayedTime;
For per-bodyinstance effects this keeps track of the last time one played. Could be used for items like gib effects.

OwnerComponent Source code

var const transient PrimitiveComponent OwnerComponent;
PrimitiveComponent containing this body. Due to the way the BodyInstance pooling works, this MUST BE FIRST PROPERTY OF THE CLASS.

PreviousVelocity Source code

var vector PreviousVelocity;
Previous frame Velocity of this BodyInstance. Only updated if this is the root body of the CollisionComponent of an Actor in PHYS_RigidBody used for collision events since by the time the event is sent, Velocity would have been updated with the post-collision velocity

SceneIndex Source code

var native const int SceneIndex;
Physics scene index.

Velocity Source code

var vector Velocity;
Current linear velocity of this BodyInstance. Only updated if this is the root body of the CollisionComponent of an Actor in PHYS_RigidBody

BoneSpring

bDisableOnOverextension Source code

var(BoneSpring) bool bDisableOnOverextension;
If true, bone spring will automatically disable if it ever gets longer than the OverextensionThreshold.

bEnableBoneSpringAngular Source code

var(BoneSpring) bool bEnableBoneSpringAngular;
Enable angular 'spring' between the physics body for this bone, and the world-space location of the animation bone.

bEnableBoneSpringLinear Source code

var(BoneSpring) bool bEnableBoneSpringLinear;
Enable linear 'spring' between the physics body for this bone, and the world-space location of the animation bone.

bMakeSpringToBaseCollisionComponent Source code

var(BoneSpring) bool bMakeSpringToBaseCollisionComponent;
When using bone springs, connect them to the physics body of the Base's CollisionComponent. When using this option, SetBoneSpringTarget must be given a matrix for this bone relative to the other bone, rather than relative to the world.

bNotifyOwnerOnOverextension Source code

var(BoneSpring) bool bNotifyOwnerOnOverextension;
Send notification to Owning Actor when overextended, by calling Actor::OnRigidBody

BoneAngularDamping Source code

var(BoneSpring) const float BoneAngularDamping;
Damping on angular spring to animated bone.

BoneAngularSpring Source code

var(BoneSpring) const float BoneAngularSpring;
Strength of angular spring to animated bone.

BoneLinearDamping Source code

var(BoneSpring) const float BoneLinearDamping;
Damping on linear spring to animated bone.

BoneLinearSpring Source code

var(BoneSpring) const float BoneLinearSpring;
Strength of linear spring to animated bone.

bTeleportOnOverextension Source code

var(BoneSpring) bool bTeleportOnOverextension;
This will teleport the whole PhysicsAssetInstance if this spring gets too long, to reduce to error to zero. Note - having this set on more than one body in a PhysicsAssetInstance will have unpredictable results.

bUseKinActorForBoneSpring Source code

var(BoneSpring) bool bUseKinActorForBoneSpring;
When using bone springs, connect them to a kinematic body and animate that, rather than animating the attachment location on the 'world'. This adds some overhead, but tracks rapidly moving targets better.

OverextensionThreshold Source code

var(BoneSpring) float OverextensionThreshold;
If bDisableOnOverextension is on, the bone spring will be disabled if it stretches more than this amount.

Physics

bEnableCollisionResponse Source code

var(Physics) const bool bEnableCollisionResponse;
Enables physics response for this body (on by default). If FALSE, contacts are still generated and reported. Useful for "sensor" bodies.

bOnlyCollideWithPawns Source code

var(Physics) const bool bOnlyCollideWithPawns;
This body should only collide with other bodies with their components marked bConsiderPawnForRBCollision. Useful for flappy bits you do not want to collide with the world.

bPushBody Source code

var(Physics) const bool bPushBody;
Denotes body as a "push" body. Also disables collision response, by definition.

ContactReportForceThreshold Source code

var(Physics) float ContactReportForceThreshold;
Used for force-based collision filtering. Note: this is NOT an additional filter on top of normal pairwise filtering. It is essentially a new kind of reporting. It can be used in conjuction with pairwise reporting, however. To disable this feature, set the threshold to a negative number.

InstanceDampingScale Source code

var(Physics) float InstanceDampingScale;
Per-instance scaling of linear/angular damping

InstanceMassScale Source code

var(Physics) float InstanceMassScale;
Per-instance scaling of mass

PhysMaterialOverride Source code

var(Physics) const PhysicalMaterial PhysMaterialOverride;
Allows you to override the PhysicalMaterial to use for this body. Due to the way the BodyInstance pooling works, this MUST BE LAST PROPERTY OF THE CLASS.

RB_BodyInstance

CustomGravityFactor Source code

var(RB_BodyInstance) float CustomGravityFactor;
The force applied to the body to address custom gravity for the actor is multiplied CustomGravityFactor, allowing bodies to individually control how custom gravity settings affectthem


Functions Detail

EnableBoneSpring Source code

final native function EnableBoneSpring ( bool bInEnableLinear, bool bInEnableAngular, const out matrix InBoneTarget )
Used to turn the angular/linear bone spring on and off. InBoneTarget is in world space, unless bMakeSpringToBaseCollisionComponent is TRUE, in which case it is relative to that body.

EnableCollisionResponse Source code

final native function EnableCollisionResponse ( bool bEnableResponse )
Enable/disable response to contacts.

GetBodyMass Source code

final native function float GetBodyMass ( )
Returns the body's mass

GetPhysicsAssetInstance Source code

final native function PhysicsAssetInstance GetPhysicsAssetInstance ( )
Returns the PhysicsAssetInstance that owns this RB_BodyInstance (if there is one)

GetUnrealWorldAngularVelocity Source code

final native function vector GetUnrealWorldAngularVelocity ( )
Get current angular velocity in world space from physics body.

GetUnrealWorldTM Source code

final native function matrix GetUnrealWorldTM ( )
Get current transform in world space from physics body.

GetUnrealWorldVelocity Source code

final native function vector GetUnrealWorldVelocity ( )
Get current velocity in world space from physics body.

GetUnrealWorldVelocityAtPoint Source code

final native function vector GetUnrealWorldVelocityAtPoint ( vector Point )
Get current velocity of a point on this physics body, in world space. Point is specified in world space.

IsFixed Source code

final native function bool IsFixed ( )
Returns TRUE if this body is fixed

IsValidBodyInstance Source code

final native function bool IsValidBodyInstance ( )
See if this body is valid.

SetBlockRigidBody Source code

final native function SetBlockRigidBody ( bool bNewBlockRigidBody )
Used to disable rigid body collisions for this body. Overrides the bNoCollision flag in the BodySetup for this body.

SetBoneSpringParams Source code

final native function SetBoneSpringParams ( float InLinearSpring, float InLinearDamping, float InAngularSpring, float InAngularDamping )
Used to set the spring stiffness and damping parameters for the bone spring.

SetBoneSpringTarget Source code

final native function SetBoneSpringTarget ( const out matrix InBoneTarget, bool bTeleport )
Used to set desired target location of this spring. Usually called by UpdateRBBonesFromSpaceBases. InBoneTarget is in world space, unless bMakeSpringToBaseCollisionComponent is TRUE, in which case it is relative to that body.

SetContactReportForceThreshold Source code

final native function SetContactReportForceThreshold ( FLOAT Threshold )
Set a new contact report force threhold. Threshold < 0 disables this feature.

SetFixed Source code

final native function SetFixed ( bool bNewFixed )
Force this body to be fixed (kinematic) or not. Overrides the BodySetup for this body.

SetPhysMaterialOverride Source code

final native function SetPhysMaterialOverride ( PhysicalMaterial NewPhysMaterial )
Set physical material override for this body

UpdateDampingProperties Source code

final native function UpdateDampingProperties ( )
Update instance's linear and angular damping

UpdateMassProperties Source code

final native function UpdateMassProperties ( RB_BodySetup Setup )
Update instance's mass properties (mass, inertia and center-of-mass offset) based on MassScale, InstanceMassScale and COMNudge.


Defaultproperties

defaultproperties
{
	BoneLinearSpring=10.0
	BoneLinearDamping=0.1
	BoneAngularSpring=1.0
	BoneAngularDamping=0.1
	CustomGravityFactor=1.0
	LastEffectPlayedTime = 0.0
	bEnableCollisionResponse=TRUE
	ContactReportForceThreshold=-1.0f

	InstanceMassScale=1.0
	InstanceDampingScale=1.0
}

Overview Package Class Source Class tree Glossary
previous class      next class frames      no frames
Creation time: ti 22-3-2011 19:56:55.644 - Created with UnCodeX