Overview | Package | Class | Source | Class tree | Glossary | UnrealScript Documentation |
previous class next class | frames no frames |
Contains the shared data that is used by all SkeletalMeshComponents (instances). Copyright 1998-2011 Epic Games, Inc. All Rights Reserved.
Core.Object | +-- Engine.SkeletalMesh
Constants Summary |
---|
Inherited Contants from Core.Object |
---|
AspectRatio16x9, AspectRatio4x3, AspectRatio5x4, DegToRad, DegToUnrRot, INDEX_NONE, InvAspectRatio16x9, InvAspectRatio4x3, InvAspectRatio5x4, MaxInt, Pi, RadToDeg, RadToUnrRot, UnrRotToDeg, UnrRotToRad |
Inherited Variables from Core.Object |
---|
Class, HashNext, HashOuterNext, Linker, LinkerIndex, Name, NetIndex, ObjectArchetype, ObjectFlags, ObjectInternalInteger, Outer, StateFrame, VfTableObject |
Enumerations Summary | ||
---|---|---|
BoneBreakOption BONEBREAK_SoftPreferred, BONEBREAK_AutoDetect, BONEBREAK_RigidPreferred | ||
ClothBoneType CLOTHBONE_Fixed, CLOTHBONE_BreakableAttachment, CLOTHBONE_TearLine | ||
ClothMovementScaleGen ECMDM_DistToFixedVert, ECMDM_VertexBoneWeight, ECMDM_Empty, | ||
SoftBodyBoneType SOFTBODYBONE_Fixed, SOFTBODYBONE_BreakableAttachment, SOFTBODYBONE_TwoWayAttachment, | ||
TriangleSortAxis TSA_X_Axis, TSA_Y_Axis, TSA_Z_Axis, | ||
TriangleSortOption TRISORT_None, TRISORT_CenterRadialDistance, TRISORT_Random, TRISORT_Tootle, TRISORT_MergeContiguous, TRISORT_Custom, TRISORT_CustomLeftRight, |
Inherited Enumerations from Core.Object |
---|
AlphaBlendType, EAspectRatioAxisConstraint, EAutomatedRunResult, EAxis, EDebugBreakType, EInputEvent, EInterpCurveMode, EInterpMethodType, ETickingGroup |
Structures Summary | ||
---|---|---|
BoneMirrorExport BoneName, SourceBoneName, BoneFlipAxis | ||
BoneMirrorInfo SourceIndex | ||
ClothSpecialBoneInfo BoneName, BoneType, AttachedVertexIndices | ||
SkeletalMeshLODInfo DisplayFactor, LODHysteresis, LODMaterialMap, bEnableShadowCasting, TriangleSorting, TriangleSortSettings | ||
SoftBodySpecialBoneInfo BoneName, BoneType, AttachedVertexIndices | ||
SoftBodyTetraLink Index, Bary | ||
TriangleSortSettings TriangleSorting, CustomLeftRightAxis, CustomLeftRightBoneName |
Functions Summary |
---|
Variables Detail |
---|
Whether or not the mesh has vertex colors
Cache of pointers to NxSoftBodyMesh objects at different scales.
Scale of each of the NxSoftBodyMesh objects in cache. This array is same size as CachedSoftBodyMeshes.
The cached streaming texture factors. If the array doesn't have MAX_TEXCOORDS entries in it, the cache is outdated.
Index buffer for simulation cloth.
Cache of ClothMesh objects at different scales.
Scale of each of the ClothMesh objects in cache. This array is same size as ClothMesh.
Scaling (per vertex) for how far cloth vert can move from its animated position
Mapping between each vertex in the simulation mesh and the graphics mesh. This is ordered so that 'free' vertices are first, and then after NumFreeClothVerts they are 'fixed' to the skinned mesh.
Map which maps from a set of 3 triangle indices packet in a 64bit to the location in the index buffer, Used to update indices for torn triangles. Note: This structure is lazy initialized when a torn cloth mesh is created. (But could be precomputed in BuildClothMapping() if serialization is handled correctly).
This will hold the indices to the reduced number of cloth vertices used for cooking the NxClothMesh.
This is the highest value stored in ClothWeldingMap
Mapping from index of rendered mesh to index of simulated mesh. This mapping applies before ClothToGraphicsVertMap which can then operate normally The reason for this mapping is to weld several vertices with the same position but different texture coordinates into one simulated vertex which makes it possible to run closed meshes for cloth.
Saves if Graphics Vertex is simulated cloth or not
Point in the simulation cloth vertex array where the free verts finish and we start having 'fixed' verts.
KDOP tree's used for storing rigid triangle information for a subset of bones. Length of this array matches PerPolyCollisionBones
Runtime UID for this SkeletalMeshm, used when linking meshes to AnimSets.
Index buffer of the triangles of the soft-body's surface mesh. Indices refer to entries in SoftBodySurfaceToGraphicsVertMap.
Mapping between each vertex of the simulated soft-body's surface-mesh and the graphics mesh.
Index buffer of the tetrahedra of the soft-body's tetra-mesh. Indices refer to the vertices in SoftBodyTetraVertsUnscaled.
Mapping between each vertex of the surface-mesh and its tetrahedron, with local positions given in barycentric coordinates.
Base array of tetrahedron vertex positions. Used to generate the scaled versions from.
Enable constraints that attempt to minimize curvature or folding of the cloth.
Enable damping forces on the cloth.
Enable cloth line/extent/point checks. Note: line checks are performed with a raycast against the cloth, but point and swept extent checks are performed against the cloth AABB
Used to enable cloth tearing. Note, extra vertices/indices must be reserved using ClothTearReserve Also cloth tearing is not available when welding is enabled.
Any cloth vertex that exceeds its valid bounds will be deleted if bEnableValidBounds is set. Tune ValidBoundMin and ValidBoundMax if valid bound is enabled.
If TRUE, limit the total amount of stretch that is allowed in the cloth, based on HardStretchLimitFactor. Note that bLimitClothToAnimMesh must be TRUE for this to work.
If TRUE, simulated verts are limited to a certain distance from
Enable center of mass damping of cloth internal velocities.
Controls strength of springs that stop the cloth from bending. bEnableClothBendConstraints must be true to take affect.
Vertices with any weight to these bones are considered 'cloth'.
Controls how much damping force is applied to cloth particles. bEnableClothDamping must be true to take affect.
This is multiplied by the size of triangles sharing a point to calculate the points mass. This cannot be modified after the cloth has been created.
Controls movement of cloth when in contact with other bodies.
If ClothHierarchyLevels is more than 0, this number controls the number of iterations of the hierarchical solver.
If greater than 1, will generate smaller meshes internally, used to improve simulation time and reduce stretching.
Increasing the number of solver iterations improves how accurately the cloth is simulated, but will also slow down simulation.
Method to use to generate the ClothMovementScale table
Controls strength of springs that attempts to keep particles in the cloth together.
Stretch factor beyond which a cloth edge/vertex will tear. Should be greater than 1.
Number of vertices/indices to set aside to accomodate new triangles created as a result of tearing
How thick the cloth is considered when doing collision detection.
How far a simulated vertex can move from its animated location
If bHardStretchLimit is TRUE, how much stretch is allowed in the cloth. 1.0 is no stretch (but will cause jitter)
The maximum coordinates triplet of the cloth valid bound
The minimum coordinates triplet of the cloth valid bound
Whether cloth simulation should be wrapped inside a Rigid Body and only be used upon impact
Enable orthogonal bending resistance to minimize curvature or folding of the cloth. This technique uses angular springs instead of distance springs as used in 'bEnableClothBendConstraints'. This mode is slower but independent of stretching resistance.
Enables pressure support. Simulates inflated objects like balloons.
Enables cloth self collision.
Enables two way collision with rigid-bodies.
Forces the Welding Code to be turned off even if the mesh has doubled vertices
How much an attachment to a rigid body influences the cloth
How much extension an attachment can undergo before it tears/breaks
Response coefficient for cloth/rb collision
Threshold for when deformation is allowed
Maximum deviation of cloth particles from initial position
Amount by which colliding objects are brought closer to the cloth
Adjusts the internal "air" pressure of the cloth. Only has affect when bEnableClothPressure.
Controls the size of the grid cells a cloth is divided into when performing broadphase collision. The cell size is relative to the AABB of the cloth.
Maximum linear velocity at which cloth can go to sleep. If negative, the global default will be used.
Vertices with any weight to these bones are considered cloth with special behavoir, currently they are attached to the physics asset with fixed or breakable attachments or tearlines.
For each of these bones, find the parent that is in PerPolyCollisionBones and add its polys to that bone.
All meshes default to GPU skinning. Set to True to enable CPU skinning. If CPU skinning is enabled, bUsePackedPosition can't be enabled
Array of bone names that break for use in game/editor
Match with BoneBreakNames array
Asset used for previewing bounds in AnimSetViewer. Makes setting up LOD distance factors more reliable.
If true, include triangles that are soft weighted to bones.
If true, use 32 bit UVs. If false, use 16 bit UVs to save memory
If true, use compressed position XYZs(4 bytes saving 8 bytes). This is only useful for GPU skinning.
If true, use PhysicsAsset for extent (swept box) collision checks. If false, use per-poly bone collision (if present).
If true, use PhysicsAsset for line collision checks. If false, use per-poly bone collision (if present).
List of clothing assets associated with each material int this mesh.
The FaceFX asset the skeletal mesh uses for FaceFX operations.
LOD bias to use for PC.
LOD bias to use for PS3.
LOD bias to use for Xbox 360.
Struct containing information for each LOD level, such as materials to use, whether to cast shadows, and when use the LOD.
List of materials applied to this mesh.
Origin in original coordinate system
For each bone specified here, all triangles rigidly weighted to that bone are entered into a kDOP, allowing per-poly collision checks.
Asset used for previewing morph target animations in AnimSetViewer. Only for editor.
Amount to rotate when importing (mostly for yawing)
List of bones that should be mirrored.
Path to the resource used to construct this skeletal mesh
Date/Time-stamp of the file from the last import
Allows artists to adjust the distance where textures using UV 0 are streamed in/out. 1.0 is the default, whereas a higher value increases the streamed-in resolution.
Enable damping forces on the softbody.
Enable soft body line checks.
Enables soft-body self collision.
Enables two way collision with rigid-bodies.
If enabled, an iso-surface is generated around the original graphics-mesh before the tetrahedron-mesh is created.
Enable center of mass damping of SoftBody internal velocities.
Defines a factor for the impulse transfer from the soft body to attached rigid bodies. bEnableSoftBodyTwoWayCollision must be true to take effect.
How much extension an attachment can undergo before it tears/breaks
Specifies the maximum distance a tetra-vertex is allowed to have from the surface-mesh to still end up attached to a bone.
Vertices with any weight to these bones are considered 'soft-body'.
Defines a factor for the impulse transfer from the soft body to colliding rigid bodies. bEnableSoftBodyTwoWayCollision must be true to take effect.
Controls how much damping force is applied to soft-body particles. bEnableSoftBodyDamping must be true to take affect.
Density of the soft-body (mass per volume).
Controls how much the original graphics mesh is simplified before it is used to seed to tetrahedron-mesh generator.
Controls movement of soft-body when in contact with other bodies.
Size of the soft-body particles used for collision detection.
Controls the size of the grid cells a soft-body is divided into when performing broadphase collision. The cell size is relative to the AABB of the soft-body.
Maximum linear velocity at which a soft-body can go to sleep. If negative, the global default will be used.
Increasing the number of solver iterations improves how accurately the soft-body is simulated, but will also slow down simulation.
Vertices with any weight to these bones are considered softbody with special behavoir, currently they are attached to the physics asset with fixed or breakable attachments.
Defines how strongly the soft-body resists stretching motions. Range (0,1].
Controls how many tetrahedra are generated to approximate the surface-mesh.
Defines how strongly the soft-body resists motion that changes the rest volume. Range (0,1].
Enumerations Detail |
---|
Cloth bone type, used when attaching to the physics asset.
Enum indicating which method to use to generate per-vertex cloth vert movement scale (ClothMovementScale)
SOFTBODYBONE_Fixed, SOFTBODYBONE_BreakableAttachment, SOFTBODYBONE_TwoWayAttachment,};
Cloth bone type, used when attaching to the physics asset.
Enum to specify which axis to use for the forward vector when using TRISORT_CustomLeftRight sort mode
TRISORT_None, TRISORT_CenterRadialDistance, TRISORT_Random, TRISORT_Tootle, TRISORT_MergeContiguous, TRISORT_Custom, TRISORT_CustomLeftRight,};
Structures Detail |
---|
var(SkeletalMesh) EAxis BoneFlipAxis;};
var(SkeletalMesh) Name BoneName;
var(SkeletalMesh) Name SourceBoneName;
Structure to export/import bone mirroring information
var(SkeletalMesh) EAxis BoneFlipAxis;};
var(SkeletalMesh) int SourceIndex<ArrayClamp=RefSkeleton>;
BoneFlipAxis:Axis the bone is mirrored across.SourceIndex: The bone to mirror.
var const array<int> AttachedVertexIndices;};
var(SkeletalMesh) name BoneName;
var(SkeletalMesh) ClothBoneType BoneType;
Used to specify a set of special cloth bones which are attached to the physics asset
AttachedVertexIndices:Array used to cache cloth indices which will be attached to this bone, created in BuildClothMapping(), Note: These are welded indices.BoneName:The bone name to attach to a cloth vertexBoneType:The type of attachment
var(SkeletalMesh) editfixedsize array<bool> bEnableShadowCasting;};
var(SkeletalMesh) float DisplayFactor;
var(SkeletalMesh) float LODHysteresis;
var(SkeletalMesh) editfixedsize array<INT> LODMaterialMap;
var deprecated array<TriangleSortOption> TriangleSorting;
var(SkeletalMesh) editfixedsize array<TriangleSortSettings> TriangleSortSettings;
Struct containing information for a particular LOD level, such as materials and info for when to use it.
bEnableShadowCasting:Per-section control over whether to enable shadow casting.DisplayFactor:Indicates when to use this LOD. A smaller number means use this LOD when further away.LODHysteresis:Used to avoid 'flickering' when on LOD boundary. Only taken into account when moving from complex->simple.LODMaterialMap:Mapping table from this LOD's materials to the SkeletalMesh materials array.TriangleSorting:Per-section sorting options
var const array<int> AttachedVertexIndices;};
var(SkeletalMesh) name BoneName;
var(SkeletalMesh) SoftBodyBoneType BoneType;
Used to specify a set of special softbody bones which are attached to the physics asset
AttachedVertexIndices:Array used to cache softbody indices which will be attached to this bone, created in BuildSoftBodyMapping(), Note: These are welded indices.BoneName:The bone name to attach to a cloth vertexBoneType:The type of attachment
var(SkeletalMesh) TriangleSortAxis CustomLeftRightAxis;};
var(SkeletalMesh) name CustomLeftRightBoneName;
var(SkeletalMesh) TriangleSortOption TriangleSorting;
Struct containing triangle sort settings for a particular section
Defaultproperties |
---|
defaultproperties { SkelMirrorAxis=AXIS_X SkelMirrorFlipAxis=AXIS_Z ClothThickness = 0.5 ClothDensity = 1.0 ClothBendStiffness = 1.0 ClothStretchStiffness = 1.0 ClothDamping = 0.5 ClothFriction = 0.5 ClothIterations = 5 ClothHierarchicalIterations = 2 HardStretchLimitFactor = 1.1 ClothMovementScaleGenMode=ECMDM_DistToFixedVert bUseSimpleLineCollision=true bUseSimpleBoxCollision=true bEnableClothOrthoBendConstraints = FALSE bEnableClothSelfCollision = FALSE bEnableClothPressure = FALSE bEnableClothTwoWayCollision = FALSE bForceNoWelding = FALSE ClothRelativeGridSpacing = 1.0 ClothPressure = 1.0 ClothCollisionResponseCoefficient = 0.2 ClothAttachmentResponseCoefficient = 0.2 ClothAttachmentTearFactor = 1.5 ClothSleepLinearVelocity =-1.0 ClothMetalImpulseThreshold=10.0 ClothMetalPenetrationDepth=0.0 ClothMetalMaxDeformationDistance=0.0 bEnableClothTearing = FALSE ClothTearFactor = 3.5 ClothTearReserve = 128 bEnableValidBounds=FALSE ValidBoundsMin=(X=0,Y=0,Z=0) ValidBoundsMax=(X=0,Y=0,Z=0) SoftBodyVolumeStiffness = 1.0; SoftBodyStretchingStiffness = 1.0; SoftBodyDensity = 1.0; SoftBodyParticleRadius = 0.1; SoftBodyDamping = 0.5; SoftBodySolverIterations = 5; SoftBodyFriction = 0.5 SoftBodyRelativeGridSpacing = 1.0 SoftBodySleepLinearVelocity = -1.0 bEnableSoftBodySelfCollision = FALSE SoftBodyAttachmentResponse = 0.2; SoftBodyCollisionResponse = 0.2; SoftBodyDetailLevel = 0.5f; SoftBodySubdivisionLevel = 4 bSoftBodyIsoSurface = TRUE SoftBodyAttachmentThreshold = 0.5; bEnableSoftBodyTwoWayCollision = TRUE; SoftBodyAttachmentTearFactor = 1.5; StreamingDistanceMultiplier = 1.0; bUsePackedPosition = TRUE } |
Overview | Package | Class | Source | Class tree | Glossary | UnrealScript Documentation |
previous class next class | frames no frames |