Overview | Package | Class | Source | Class tree | Glossary | UnrealScript Documentation |
previous class next class | frames no frames |
00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022 00023 00024 00025 00026 00027 00028 00029 00030 00031 00032 00033 00034 00035 00036 00037 00038 00039 00040 00041 00042 00043 00044 00045 00046 00047 00048 00049 00050 00051 00052 00053 00054 00055 00056 00057 00058 00059 00060 00061 00062 00063 00064 00065 00066 00067 00068 00069 00070 00071 00072 00073 00074 00075 00076 00077 00078 00079 00080 00081 00082 00083 00084 00085 00086 00087 00088 00089 00090 00091 00092 00093 00094 00095 00096 00097 00098 00099 00100 00101 00102 00103 00104 00105 00106 00107 00108 00109 00110 00111 00112 00113 00114 00115 00116 00117 00118 00119 00120 00121 00122 00123 00124 00125 00126 00127 00128 00129 00130 00131 00132 00133 00134 00135 00136 00137 00138 00139 00140 00141 00142 00143 00144 00145 00146 00147 00148 00149 00150 00151 00152 00153 00154 00155 00156 00157 00158 00159 00160 00161 00162 00163 00164 00165 00166 00167 00168 00169 00170 00171 00172 00173 00174 00175 00176 00177 00178 00179 00180 00181 00182 00183 00184 00185 00186 00187 00188 00189 00190 00191 00192 00193 00194 00195 00196 00197 00198 00199 00200 00201 00202 00203 00204 00205 00206 00207 00208 00209 00210 00211 00212 00213 00214 00215 00216 00217 |
/** * Abstract base class for a skeletal controller. * A SkelControl is a module that can modify the position or orientation of a set of bones in a skeletal mesh in some programmtic way. * * Copyright 1998-2008 Epic Games, Inc. All Rights Reserved. */ class SkelControlBase extends Object hidecategories(Object) native(Anim) abstract; /** Enum for controlling which reference frame a controller is applied in. */ enum EBoneControlSpace { /** Set absolute position of bone in world space. */ BCS_WorldSpace, /** Set position of bone in Actor's reference frame. */ BCS_ActorSpace, /** Set position of bone in SkeletalMeshComponent's reference frame. */ BCS_ComponentSpace, /** Set position of bone relative to parent bone. */ BCS_ParentBoneSpace, /** Set position of bone in its own reference frame. */ BCS_BoneSpace, /** Set position of bone in the reference frame of another bone. */ BCS_OtherBoneSpace }; /** SkeletalMeshComponent owner */ var const transient SkeletalMeshComponent SkelComponent; /** Name used to identify this SkelControl. */ var(Controller) name ControlName; /** * Used to control how much affect this SkelControl has. * 1.0 means fully active, 0.0 means have no affect. * Exactly how the control ramps up depends on the specific control type. */ var(Controller) float ControlStrength; /** When calling SetActive passing in 'true', indicates how many seconds to take to reach a ControlStrength of 1.0. */ var(Controller) float BlendInTime; /** When calling SetActive passing in 'false', indicates how many seconds to take to reach a ControlStrength of 0.0. */ var(Controller) float BlendOutTime; /** Strength towards which we are currently ramping. */ var float StrengthTarget; /** Amount of time left in the currently active blend. */ var float BlendTimeToGo; /** If true, Strength will be the same as given AnimNode(s). This is to make transitions easier between nodes and Controllers. */ var(Controller) bool bSetStrengthFromAnimNode; /** List of AnimNode names, to get Strength from */ var(Controller) Array<Name> StrengthAnimNodeNameList; /** Cached list of nodes to get strength from */ var transient Array<AnimNode> CachedNodeList; var transient bool bInitializedCachedNodeList; /** If true, calling SetSkelControlActive on this node will call SetSkelControlActive on the next one in the chain as well. */ var(Controller) bool bPropagateSetActive; /** This scaling is applied to the bone that this control is acting upon. */ var(Controller) float BoneScale; /** * Used to ensure we don't tick this SkelControl twice, if used in multiple different control chains. * Compared against the SkeletalMeshComponent TickTag. */ var bool ControlTickTag; /** * whether this control should be ignored if the SkeletalMeshComponent being composed hasn't been rendered recently * * @note this can be forced by the SkeletalMeshComponent's bIgnoreControllersWhenNotRendered flag */ var() bool bIgnoreWhenNotRendered; /** If true, when skel control becomes active it uses a curve rather than a linear blend to blend in more smoothly. */ var() bool bEnableEaseInOut; /** If the LOD of this skeletal mesh is at or above this LOD, then this SkelControl will not be applied. */ var(Controller) int IgnoreAtOrAboveLOD; /** Next SkelControl in the linked list. */ var SkelControlBase NextControl; /** Used by editor. */ var int ControlPosX; /** Used by editor. */ var int ControlPosY; /** Used by editor. */ var int DrawWidth; // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) // (cpptext) /** * Toggle the active state of the SkeControl. * If passing in true, will take BlendInTime to reach a ControlStrength of 1.0. * If passing in false, will take BlendOutTime to reach a ControlStrength of 0.0. */ native final function SetSkelControlActive(bool bInActive); /** * Set custom strength with optional blend time. * @param NewStrength Target Strength for this controller. * @param InBlendTime Time it will take to reach that new strength. (0.f == Instant) */ native final function SetSkelControlStrength(float NewStrength, float InBlendTime); defaultproperties { ControlStrength=1.000000 BlendInTime=0.200000 BlendOutTime=0.200000 StrengthTarget=1.000000 BoneScale=1.000000 IgnoreAtOrAboveLOD=1000 Name="Default__SkelControlBase" ObjectArchetype=Object'Core.Default__Object' } |
Overview | Package | Class | Source | Class tree | Glossary | UnrealScript Documentation |
previous class next class | frames no frames |