Class SkinnedMeshComponent
Skinned mesh component that supports bone skinned mesh rendering.
Inheritance
Inherited Members
Namespace: UE4.Engine
Assembly: UE4DotNet.dll
Syntax
public class SkinnedMeshComponent : MeshComponent
Remarks
This class does not support animation.
@see USkeletalMeshComponent
Properties
| Improve this Doc View SourcebCachedLocalBoundsUpToDate
Declaration
public bool bCachedLocalBoundsUpToDate { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
bCanHighlightSelectedSections
Declaration
public bool bCanHighlightSelectedSections { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
bCastCapsuleDirectShadow
Declaration
public bool bCastCapsuleDirectShadow { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
bCastCapsuleIndirectShadow
Declaration
public bool bCastCapsuleIndirectShadow { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
bComponentUseFixedSkelBounds
Declaration
public bool bComponentUseFixedSkelBounds { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
bConsiderAllBodiesForBounds
Declaration
public bool bConsiderAllBodiesForBounds { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
bCPUSkinning
Declaration
public bool bCPUSkinning { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
bDisableMorphTarget
Declaration
public bool bDisableMorphTarget { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
bDisplayDebugUpdateRateOptimizations
Declaration
public bool bDisplayDebugUpdateRateOptimizations { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
bEnableUpdateRateOptimizations
Declaration
public bool bEnableUpdateRateOptimizations { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
bForceMeshObjectUpdate
Declaration
public bool bForceMeshObjectUpdate { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
bForceWireframe
Declaration
public bool bForceWireframe { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
bHideSkin
Declaration
public bool bHideSkin { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
bOverrideMinLod
Declaration
public bool bOverrideMinLod { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
bPerBoneMotionBlur
Declaration
public bool bPerBoneMotionBlur { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
bRecentlyRendered
Declaration
public bool bRecentlyRendered { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
bRenderStatic
Declaration
public bool bRenderStatic { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
bSyncAttachParentLOD
Declaration
public bool bSyncAttachParentLOD { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
bUseBoundsFromMasterPoseComponent
Declaration
public bool bUseBoundsFromMasterPoseComponent { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
CachedLocalBounds
LocalBounds cached, so they're computed just once.
Declaration
public BoxSphereBounds CachedLocalBounds { get; set; }
Property Value
Type | Description |
---|---|
BoxSphereBounds |
CapsuleIndirectShadowMinVisibility
Controls how dark the capsule indirect shadow can be.
Declaration
public float CapsuleIndirectShadowMinVisibility { get; }
Property Value
Type | Description |
---|---|
System.Single |
DefaultObject
Get UE4 Default Object for this Class
Declaration
public static SkinnedMeshComponent DefaultObject { get; }
Property Value
Type | Description |
---|---|
SkinnedMeshComponent |
ForcedLodModel
If 0, auto-select LOD level. if >0, force to (ForcedLodModel-1).
Declaration
public int ForcedLodModel { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
MinLodModel
This is the min LOD that this component will use.
Declaration
public int MinLodModel { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
Remarks
(e.g. if set to 2 then only 2+ LOD Models will be used.) This is useful to set on meshes which are known to be a certain distance away and still want to have better LODs when zoomed in on them.
PhysicsAssetOverride
PhysicsAsset is set in SkeletalMesh by default, but you can override with this value
Declaration
public PhysicsAsset PhysicsAssetOverride { get; }
Property Value
Type | Description |
---|---|
PhysicsAsset |
SkeletalMesh
The skeletal mesh used by this component.
Declaration
public SkeletalMesh SkeletalMesh { get; }
Property Value
Type | Description |
---|---|
SkeletalMesh |
StaticClass
Get UE4 Class
Declaration
public static Class StaticClass { get; }
Property Value
Type | Description |
---|---|
Class |
StreamingDistanceMultiplier
Declaration
public float StreamingDistanceMultiplier { get; set; }
Property Value
Type | Description |
---|---|
System.Single |
Methods
| Improve this Doc View SourceBoneIsChildOf(Name, Name)
Tests if BoneName is child of (or equal to) ParentBoneName.
Declaration
public bool BoneIsChildOf(Name BoneName, Name ParentBoneName)
Parameters
Type | Name | Description |
---|---|---|
Name | BoneName | |
Name | ParentBoneName |
Returns
Type | Description |
---|---|
System.Boolean |
Remarks
@param BoneName Name of the bone @param ParentBone Name to check
@return true if child (strictly, not same). false otherwise Note - will return false if ChildBoneIndex is the same as ParentBoneIndex ie. must be strictly a child.
ClearSkinWeightOverride(Int32)
Clear any applied skin weight override
Declaration
public void ClearSkinWeightOverride(int LODIndex)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | LODIndex |
ClearVertexColorOverride(Int32)
Clear any applied vertex color override
Declaration
public void ClearVertexColorOverride(int LODIndex)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | LODIndex |
FindClosestBone_K2(Vector, Single, Boolean)
finds the closest bone to the given location @
Declaration
public (Vector, Name) FindClosestBone_K2(Vector TestLocation, float IgnoreScale, bool bRequirePhysicsAsset)
Parameters
Type | Name | Description |
---|---|---|
Vector | TestLocation | |
System.Single | IgnoreScale | |
System.Boolean | bRequirePhysicsAsset |
Returns
Type | Description |
---|---|
System.ValueTuple<Vector, Name> |
Remarks
param TestLocation the location to test against @param BoneLocation (optional, out) if specified, set to the world space location of the bone that was found, or (0,0,0) if no bone was found @param IgnoreScale (optional) if specified, only bones with scaling larger than the specified factor are considered @param bRequirePhysicsAsset (optional) if true, only bones with physics will be considered
@return the name of the bone that was found, or 'None' if no bone was found
GetBoneIndex(Name)
Find the index of bone by name.
Declaration
public int GetBoneIndex(Name BoneName)
Parameters
Type | Name | Description |
---|---|---|
Name | BoneName |
Returns
Type | Description |
---|---|
System.Int32 |
Remarks
Looks in the current SkeletalMesh being used by this SkeletalMeshComponent.
@param BoneName Name of bone to look up
@return Index of the named bone in the current SkeletalMesh. Will return INDEX_NONE if bone not found.
@see USkeletalMesh::GetBoneIndex.
GetBoneName(Int32)
Get Bone Name from index @
Declaration
public Name GetBoneName(int BoneIndex)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | BoneIndex |
Returns
Type | Description |
---|---|
Name |
Remarks
param BoneIndex Index of the bone
@return the name of the bone at the specified index
GetDeltaTransformFromRefPose(Name, Name)
Get delta transform from reference pose based on BaseNode.
Declaration
public Transform GetDeltaTransformFromRefPose(Name BoneName, Name BaseName)
Parameters
Type | Name | Description |
---|---|---|
Name | BoneName | |
Name | BaseName |
Returns
Type | Description |
---|---|
Transform |
Remarks
This uses last frame up-to-date transform, so it will have a frame delay if you use this info in the AnimGraph
@param BoneName Name of the bone @param BaseName Name of the base bone - if none, it will use parent as a base
@return the delta transform from refpose in that given space (BaseName)
GetNumBones()
Returns the number of bones in the skeleton.
Declaration
public int GetNumBones()
Returns
Type | Description |
---|---|
System.Int32 |
GetNumLODs()
Get the number of LODs on this component
Declaration
public int GetNumLODs()
Returns
Type | Description |
---|---|
System.Int32 |
GetParentBone(Name)
Get Parent Bone of the input bone @
Declaration
public Name GetParentBone(Name BoneName)
Parameters
Type | Name | Description |
---|---|---|
Name | BoneName |
Returns
Type | Description |
---|---|
Name |
Remarks
param BoneName Name of the bone
@return the name of the parent bone for the specified bone. Returns 'None' if the bone does not exist or it is the root bone
GetRefPosePosition(Int32)
Gets the local-space position of a bone in the reference pose.
Declaration
public Vector GetRefPosePosition(int BoneIndex)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | BoneIndex |
Returns
Type | Description |
---|---|
Vector |
Remarks
@param BoneIndex Index of the bone
@return Local space reference position
GetSocketBoneName(Name)
Returns bone name linked to a given named socket on the skeletal mesh component.
Declaration
public Name GetSocketBoneName(Name InSocketName)
Parameters
Type | Name | Description |
---|---|---|
Name | InSocketName |
Returns
Type | Description |
---|---|
Name |
Remarks
If you're unsure to deal with sockets or bones names, you can use this function to filter through, and always return the bone name.
@param bone name or socket name
@return bone name
HideBoneByName(Name, Byte)
Hides the specified bone with name.
Declaration
public void HideBoneByName(Name BoneName, byte PhysBodyOption)
Parameters
Type | Name | Description |
---|---|---|
Name | BoneName | |
System.Byte | PhysBodyOption |
Remarks
Currently this just enforces a scale of 0 for the hidden bones. Compoared to HideBone By Index - This keeps track of list of bones and update when LOD changes
@param BoneName Name of bone to hide @param PhysBodyOption Option for physics bodies that attach to the bones to be hidden
IsBoneHiddenByName(Name)
Determines if the specified bone is hidden.
Declaration
public bool IsBoneHiddenByName(Name BoneName)
Parameters
Type | Name | Description |
---|---|---|
Name | BoneName |
Returns
Type | Description |
---|---|
System.Boolean |
Remarks
@param BoneName Name of bone to check
@return true if hidden
IsMaterialSectionShown(Int32, Int32)
Returns whether a specific material section is currently hidden on this component (by using ShowMaterialSection)
Declaration
public bool IsMaterialSectionShown(int MaterialID, int LODIndex)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | MaterialID | |
System.Int32 | LODIndex |
Returns
Type | Description |
---|---|
System.Boolean |
New(UObject, Name)
Spawn an object of this class
Declaration
public static SkinnedMeshComponent New(UObject obj = null, Name name = default(Name))
Parameters
Type | Name | Description |
---|---|---|
UObject | obj | |
Name | name |
Returns
Type | Description |
---|---|
SkinnedMeshComponent |
SetCapsuleIndirectShadowMinVisibility(Single)
Set Capsule Indirect Shadow Min Visibility
Declaration
public void SetCapsuleIndirectShadowMinVisibility(float NewValue)
Parameters
Type | Name | Description |
---|---|---|
System.Single | NewValue |
SetCastCapsuleDirectShadow(Boolean)
Set Cast Capsule Direct Shadow
Declaration
public void SetCastCapsuleDirectShadow(bool bNewValue)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | bNewValue |
SetCastCapsuleIndirectShadow(Boolean)
Set Cast Capsule Indirect Shadow
Declaration
public void SetCastCapsuleIndirectShadow(bool bNewValue)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | bNewValue |
SetForcedLOD(Int32)
Set MinLodModel of the mesh component @
Declaration
public void SetForcedLOD(int InNewForcedLOD)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | InNewForcedLOD |
Remarks
param InNewForcedLOD Set new ForcedLODModel that forces to set the incoming LOD. Range from [1, Max Number of LOD]. This will affect in the next tick update.
SetMasterPoseComponent(SkinnedMeshComponent, Boolean)
Set MasterPoseComponent for this component @
Declaration
public void SetMasterPoseComponent(SkinnedMeshComponent NewMasterBoneComponent, bool bForceUpdate)
Parameters
Type | Name | Description |
---|---|---|
SkinnedMeshComponent | NewMasterBoneComponent | |
System.Boolean | bForceUpdate |
Remarks
param NewMasterBoneComponent New MasterPoseComponent
SetMinLOD(Int32)
Set MinLodModel of the mesh component @
Declaration
public void SetMinLOD(int InNewMinLOD)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | InNewMinLOD |
Remarks
param InNewMinLOD Set new MinLodModel that make sure the LOD does not go below of this value. Range from [0, Max Number of LOD - 1]. This will affect in the next tick update.
SetPhysicsAsset(PhysicsAsset, Boolean)
Override the Physics Asset of the mesh.
Declaration
public void SetPhysicsAsset(PhysicsAsset NewPhysicsAsset, bool bForceReInit)
Parameters
Type | Name | Description |
---|---|---|
PhysicsAsset | NewPhysicsAsset | |
System.Boolean | bForceReInit |
Remarks
It uses SkeletalMesh.PhysicsAsset, but if you'd like to override use this function
@param NewPhysicsAsset New PhysicsAsset @param bForceReInit Force reinitialize
SetRenderStatic(Boolean)
Set whether this skinned mesh should be rendered as static mesh in a reference pose @
Declaration
public void SetRenderStatic(bool bNewValue)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | bNewValue |
Remarks
param whether this skinned mesh should be rendered as static
SetSkeletalMesh(SkeletalMesh, Boolean)
Change the SkeletalMesh that is rendered for this Component.
Declaration
public void SetSkeletalMesh(SkeletalMesh NewMesh, bool bReinitPose)
Parameters
Type | Name | Description |
---|---|---|
SkeletalMesh | NewMesh | |
System.Boolean | bReinitPose |
Remarks
Will re-initialize the animation tree etc.
@param NewMesh New mesh to set for this component @param bReinitPose Whether we should keep current pose or reinitialize.
SetSkinWeightOverride(Int32, Byte)
Allow override of skin weights on a per-component basis.
Declaration
public void SetSkinWeightOverride(int LODIndex, byte SkinWeights)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | LODIndex | |
System.Byte | SkinWeights |
SetVertexColorOverride_LinearColor(Int32, Byte)
Allow override of vertex colors on a per-component basis, taking array of Blueprint-friendly LinearColors.
Declaration
public void SetVertexColorOverride_LinearColor(int LODIndex, byte VertexColors)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | LODIndex | |
System.Byte | VertexColors |
ShowAllMaterialSections(Int32)
Clear any material visibility modifications made by ShowMaterialSection
Declaration
public void ShowAllMaterialSections(int LODIndex)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | LODIndex |
ShowMaterialSection(Int32, Boolean, Int32)
Allows hiding of a particular material (by ID) on this instance of a SkeletalMesh.
Declaration
public void ShowMaterialSection(int MaterialID, bool bShow, int LODIndex)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | MaterialID | |
System.Boolean | bShow | |
System.Int32 | LODIndex |
Remarks
@param MaterialID - Index of the material show/hide @param bShow - True to show the material, false to hide it @param LODIndex - Index of the LOD to modify material visibility within
TransformFromBoneSpace(Name, Vector, Rotator)
Transform a location/rotation in bone relative space to world space.
Declaration
public (Vector, Rotator) TransformFromBoneSpace(Name BoneName, Vector InPosition, Rotator InRotation)
Parameters
Type | Name | Description |
---|---|---|
Name | BoneName | |
Vector | InPosition | |
Rotator | InRotation |
Returns
Type | Description |
---|---|
System.ValueTuple<Vector, Rotator> |
Remarks
@param BoneName Name of bone @param InPosition Input position @param InRotation Input rotation @param OutPosition (out) Transformed position @param OutRotation (out) Transformed rotation
TransformToBoneSpace(Name, Vector, Rotator)
Transform a location/rotation from world space to bone relative space.
Declaration
public (Vector, Rotator) TransformToBoneSpace(Name BoneName, Vector InPosition, Rotator InRotation)
Parameters
Type | Name | Description |
---|---|---|
Name | BoneName | |
Vector | InPosition | |
Rotator | InRotation |
Returns
Type | Description |
---|---|
System.ValueTuple<Vector, Rotator> |
Remarks
This is handy if you know the location in world space for a bone attachment, as AttachComponent takes location/rotation in bone-relative space.
@param BoneName Name of bone @param InPosition Input position @param InRotation Input rotation @param OutPosition (out) Transformed position @param OutRotation (out) Transformed rotation
UnHideBoneByName(Name)
UnHide the specified bone with name.
Declaration
public void UnHideBoneByName(Name BoneName)
Parameters
Type | Name | Description |
---|---|---|
Name | BoneName |
Remarks
Currently this just enforces a scale of 0 for the hidden bones. Compoared to HideBone By Index - This keeps track of list of bones and update when LOD changes @param BoneName Name of bone to unhide
Operators
| Improve this Doc View SourceImplicit(IntPtr to SkinnedMeshComponent)
Convert from IntPtr to UObject
Declaration
public static implicit operator SkinnedMeshComponent(IntPtr p)
Parameters
Type | Name | Description |
---|---|---|
System.IntPtr | p |
Returns
Type | Description |
---|---|
SkinnedMeshComponent |