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

Engine.SkelControlLookAt

Extends
SkelControlBase
Modifiers
native ( Anim )

Core.Object
|   
+-- Engine.SkelControlBase
   |   
   +-- Engine.SkelControlLookAt

Direct Known Subclasses:

UTSkelControl_CantileverBeam, UTSkelControl_LookAt

Constants Summary
Inherited Contants from Core.Object
DegToRad, INDEX_NONE, MaxInt, Pi, RadToDeg

Variables Summary
VectorBaseBonePos
VectorBaseLookDir
vectorDesiredTargetLocation
floatLastCalcTime
VectorLimitLookDir
floatLookAtAlpha
floatLookAtAlphaBlendTimeToGo
floatLookAtAlphaTarget
Limit
NameAllowRotationOtherBoneName
EBoneControlSpaceAllowRotationSpace
boolbAllowRotationX
boolbAllowRotationY
boolbAllowRotationZ
boolbDisableBeyondLimit
boolbEnableLimit
boolbLimitBasedOnRefPose
boolbNotifyBeyondLimit
boolbShowLimit
floatDeadZoneAngle
floatMaxAngle
LookAt
boolbDefineUpAxis
boolbInvertLookAtAxis
boolbInvertUpAxis
EAxisLookAtAxis
vectorTargetLocation
floatTargetLocationInterpSpeed
EBoneControlSpaceTargetLocationSpace
nameTargetSpaceBoneName
EAxisUpAxis
Inherited Variables from Engine.SkelControlBase
bEnableEaseInOut, bIgnoreWhenNotRendered, bInitializedCachedNodeList, BlendInTime, BlendOutTime, BlendTimeToGo, BoneScale, bPropagateSetActive, bSetStrengthFromAnimNode, CachedNodeList, ControlName, ControlPosX, ControlPosY, ControlStrength, ControlTickTag, DrawWidth, IgnoreAtOrAboveLOD, NextControl, SkelComponent, StrengthAnimNodeNameList, StrengthTarget
Inherited Variables from Core.Object
Class, HashNext, HashOuterNext, Linker, LinkerIndex, Name, NetIndex, ObjectArchetype, ObjectFlags, ObjectInternalInteger, Outer, StateFrame, VfTableObject

Enumerations Summary
Inherited Enumerations from Engine.SkelControlBase
EBoneControlSpace
Inherited Enumerations from Core.Object
EAxis, EInputEvent, EInterpCurveMode, EInterpMethodType, ETickingGroup

Structures Summary
Inherited Structures from Core.Object
Box, BoxSphereBounds, Color, Cylinder, double, DynamicMap_Mirror, Guid, IndirectArray_Mirror, InterpCurveFloat, InterpCurvePointFloat, InterpCurvePointQuat, InterpCurvePointTwoVectors, InterpCurvePointVector, InterpCurvePointVector2D, InterpCurveQuat, InterpCurveTwoVectors, InterpCurveVector, InterpCurveVector2D, IntPoint, LinearColor, Map_Mirror, Matrix, MultiMap_Mirror, Plane, pointer, Quat, qword, RawDistribution, RenderCommandFence, Rotator, TextureMipBulkData_Mirror, ThreadSafeCounter, TPOV, TwoVectors, UntypedBulkData_Mirror, Vector, Vector2D, Vector4

Functions Summary
functionbool CanLookAtPoint (vector PointLoc, optional bool bDrawDebugInfo, optional bool bDebugUsePersistentLines, optional bool bDebugFlushLinesFirst)
function InterpolateTargetLocation (float DeltaTime))
function SetLookAtAlpha (float DesiredAlpha, float DesiredBlendTime)
function SetTargetLocation (Vector NewTargetLocation))
Inherited Functions from Engine.SkelControlBase
SetSkelControlActive, SetSkelControlStrength
Inherited Functions from Core.Object
!, !=, $, $=, %, &, &&, *, **, *=, +, ++, +=, -, --, -=, / , /=, <, <<, <=, ==, >, >=, >>, >>>, @, @=, Abs, Acos, Asc, Asin, Atan, BeginState, ByteToFloat, Caps, Chr, Clamp, ClampLength, ClampRotAxis, ClassIsChildOf, ClearConfig, ClockwiseFrom, ColorToLinearColor, ContinuedState, Cos, Cross, Disable, Dot, DumpStateStack, DynamicLoadObject, Enable, EndState, Exp, FClamp, FCubicInterp, FindDeltaAngle, FindObject, FInterpEaseIn, FInterpEaseInOut, FInterpEaseOut, FInterpTo, FloatToByte, FMax, FMin, FPctByRange, FRand, GetAngularDegreesFromRadians, GetAngularDistance, GetAngularFromDotDist, GetAxes, GetDotDistance, GetEnum, GetFuncName, GetHeadingAngle, GetNetFuncName, GetPackageName, GetPerObjectConfigSections, GetRangePctByValue, GetRangeValueByPct, GetSpecialValue, GetStateName, GetUnAxes, GotoState, InStr, IsA, IsChildState, IsInState, IsNetScript, IsPendingKill, IsUTracing, IsZero, JoinArray, Left, Len, Lerp, Localize, Locs, Loge, LogInternal, MakeColor, MakeLinearColor, Max, Mid, Min, MirrorVectorByNormal, Normal, Normalize, NormalizeRotAxis, OrthoRotation, ParseStringIntoArray, PathName, PausedState, PointDistToLine, PointDistToPlane, PointInBox, PoppedState, PopState, ProjectOnTo, PushedState, PushState, QuatDot, QuatFindBetween, QuatFromAxisAndAngle, QuatFromRotator, QuatInvert, QuatProduct, QuatRotateVector, QuatSlerp, QuatToRotator, Rand, RandRange, RDiff, Repl, Right, RInterpTo, RLerp, RotRand, Round, RSize, RSmerp, SaveConfig, SClampRotAxis, ScriptTrace, SetSpecialValue, SetUTracing, Sin, Split, Sqrt, Square, StaticClearConfig, StaticSaveConfig, Tan, TimeStamp, ToHex, TransformVectorByRotation, UnwindHeading, vect2d, VInterpTo, VLerp, VRand, VSize, VSize2D, VSizeSq, VSizeSq2D, VSmerp, WarnInternal, ^, ^^, |, ||, ~, ~=


Variables Detail

BaseBonePos Source code

var const transient Vector BaseBonePos;
Internal, base bone position in component space.

BaseLookDir Source code

var const transient Vector BaseLookDir;
Internal, base look dir, without skel controller's influence.

DesiredTargetLocation Source code

var vector DesiredTargetLocation;
Interpolation target for TargetLocation

LastCalcTime Source code

var const transient float LastCalcTime;
Keep track of when the controller was last calculated. We need this to make sure BaseLookDir is accurate, when using CanLookAt().

LimitLookDir Source code

var const transient Vector LimitLookDir;
internal, used to draw base orientation for limits

LookAtAlpha Source code

var const transient float LookAtAlpha;
LookAtAlpha allows to cancel head look when going beyond boundaries

LookAtAlphaBlendTimeToGo Source code

var const transient float LookAtAlphaBlendTimeToGo;

LookAtAlphaTarget Source code

var const transient float LookAtAlphaTarget;

Limit

AllowRotationOtherBoneName Source code

var(Limit) Name AllowRotationOtherBoneName;

AllowRotationSpace Source code

var(Limit) EBoneControlSpace AllowRotationSpace;

bAllowRotationX Source code

var(Limit) bool bAllowRotationX;
Per rotation axis filtering

bAllowRotationY Source code

var(Limit) bool bAllowRotationY;

bAllowRotationZ Source code

var(Limit) bool bAllowRotationZ;

bDisableBeyondLimit Source code

var(Limit) bool bDisableBeyondLimit;
Interp back to zero strength if limit surpassed

bEnableLimit Source code

var(Limit) bool bEnableLimit;
If true, only allow a certain adjustment from the reference pose of the bone.

bLimitBasedOnRefPose Source code

var(Limit) bool bLimitBasedOnRefPose;
By default limit is based on ref pose of the character

bNotifyBeyondLimit Source code

var(Limit) bool bNotifyBeyondLimit;
Call event to notify owner of limit break

bShowLimit Source code

var(Limit) bool bShowLimit;
If true, draw a cone in the editor to indicate the maximum allowed movement of the bone.

DeadZoneAngle Source code

var(Limit) float DeadZoneAngle;
Allowed error between the current look direction and the desired look direction.

MaxAngle Source code

var(Limit) float MaxAngle;
The maximum rotation applied from the reference pose of the bone, in degrees.

LookAt

bDefineUpAxis Source code

var(LookAt) bool bDefineUpAxis;
If you want to also define which axis should try to point 'up' (world +Z).

bInvertLookAtAxis Source code

var(LookAt) bool bInvertLookAtAxis;
Whether to invert the LookAtAxis, so it points away from the TargetLocation.

bInvertUpAxis Source code

var(LookAt) bool bInvertUpAxis;
Whether to invert the UpAxis, so it points down instead.

LookAtAxis Source code

var(LookAt) EAxis LookAtAxis;
Axis of the controlled bone that you wish to point at the TargetLocation.

TargetLocation Source code

var(LookAt) vector TargetLocation;
Position in world space that this bone is looking at.

TargetLocationInterpSpeed Source code

var(LookAt) float TargetLocationInterpSpeed;
Interpolation speed for TargetLocation to DesiredTargetLocation

TargetLocationSpace Source code

var(LookAt) EBoneControlSpace TargetLocationSpace;
Reference frame that TargetLocation is defined in.

TargetSpaceBoneName Source code

var(LookAt) name TargetSpaceBoneName;
Name of bone used if TargetLocationSpace is BCS_OtherBoneSpace.

UpAxis Source code

var(LookAt) EAxis UpAxis;
Axis of bone to point upwards. Cannot be the same as LookAtAxis.


Functions Detail

CanLookAtPoint Source code

final native function bool CanLookAtPoint ( vector PointLoc, optional bool bDrawDebugInfo, optional bool bDebugUsePersistentLines, optional bool bDebugFlushLinesFirst )
returns TRUE if PointLoc is within cone of vision of look at controller. This requires the mesh to be rendered, SpaceBases has to be up to date.
@param PointLoc Point in world space.
@param bDrawDebugInfo if true, debug information will be drawn on hud.

InterpolateTargetLocation Source code

simulated function InterpolateTargetLocation ( float DeltaTime) )

SetLookAtAlpha Source code

final native function SetLookAtAlpha ( float DesiredAlpha, float DesiredBlendTime )
Set LookAtAlpha. Allows the controller to blend in/out while still being processed. CalculateNewBoneTransforms() is still called when ControllerStength > 0 and LookAtAlpha <= 0

SetTargetLocation Source code

function SetTargetLocation ( Vector NewTargetLocation) )


Defaultproperties

defaultproperties
{
   LookAtAxis=AXIS_X
   UpAxis=AXIS_Z
   AllowRotationSpace=BCS_BoneSpace
   bLimitBasedOnRefPose=True
   bShowLimit=True
   bAllowRotationX=True
   bAllowRotationY=True
   bAllowRotationZ=True
   TargetLocationInterpSpeed=10.000000
   Name="Default__SkelControlLookAt"
   ObjectArchetype=SkelControlBase'Engine.Default__SkelControlBase'
}

Overview Package Class Source Class tree Glossary
previous class      next class frames      no frames
Creation time: sk 18-3-2018 10:00:44.205 - Created with UnCodeX