Navigation
API > API/Plugins > API/Plugins/DynamicMesh > API/Plugins/DynamicMesh/FTransferBoneWeights
Overloads
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool TransferWeightsToPoint
(
UE::AnimationCore::FBoneWeights& OutWeights, |
Compute the bone weights for a given point using the ETransferBoneWeightsMethod::ClosestPointOnSurface algorithm. | Operations/TransferBoneWeights.h | |
bool TransferWeightsToPoint
(
TArray< BoneIndexType >& OutBones, |
Compute the bone weights for a given point using the ETransferBoneWeightsMethod::ClosestPointOnSurface algorithm. | Operations/TransferBoneWeights.h |
TransferWeightsToPoint(UE::AnimationCore::FBoneWeights &, const FVector3d &, const TMap< FName, uint16 > *, const FVector3f &)
Description
Compute the bone weights for a given point using the ETransferBoneWeightsMethod::ClosestPointOnSurface algorithm.
| Name | TransferWeightsToPoint |
| Type | function |
| Header File | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Public/Operations/TransferBoneWeights.h |
| Include Path | #include "Operations/TransferBoneWeights.h" |
| Source | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Private/Operations/TransferBoneWeights.cpp |
virtual bool TransferWeightsToPoint
(
UE::AnimationCore::FBoneWeights & OutWeights,
const FVector3d & InPoint,
const TMap < FName , uint16 > * TargetBoneToIndex,
const FVector3f & InNormal
)
true if the algorithm succeeds, false if it failed to find the matching point or was canceled by the user.
Parameters
| Name | Remarks |
|---|---|
| OutWeights | Bone weight computed for the input transformed point. |
| InPoint | Point for which we are computing the bone weight. |
| TargetBoneToIndex | Optional map from the bone names to the bone indices of the target skeleton. If null, the bone indices of the skinning weights will not be re-indexed after the transfer. |
| InNormal | Normal at the input point. Should be set if NormalThreshold >= 0. |
TransferWeightsToPoint(TArray< BoneIndexType > &, TArray< BoneFloatWeightType > &, const UE::Math::TVector< PosVectorType > &, const TMap< FName, uint16 > *, const UE::Math::TVector< NormalVectorType > &)
Description
Compute the bone weights for a given point using the ETransferBoneWeightsMethod::ClosestPointOnSurface algorithm.
Add specialization in the source file for template types you want to use. Currently supporting int for BoneIndexType and float for BoneFloatWeightType, PosVectorType, NormalVectorType
| Name | TransferWeightsToPoint |
| Type | function |
| Header File | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Public/Operations/TransferBoneWeights.h |
| Include Path | #include "Operations/TransferBoneWeights.h" |
| Source | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Private/Operations/TransferBoneWeights.cpp |
template<typename BoneIndexType, typename BoneFloatWeightType, typename PosVectorType, typename NormalVectorType>
bool TransferWeightsToPoint
(
TArray < BoneIndexType > & OutBones,
TArray < BoneFloatWeightType > & OutWeights,
const UE::Math::TVector < PosVectorType > & InPoint,
const TMap < FName , uint16 > * TargetBoneToIndex,
const UE::Math::TVector < NormalVectorType > & InNormal
)
true if the algorithm succeeds, false if it failed to find the matching point or was canceled by the user.
Parameters
| Name | Remarks |
|---|---|
| OutBones | Array of bone indices. Array size is equal to the number of bone influences. |
| OutWeights | Array of bone weights. Array size is equal to the number of bone influences. |
| InPoint | Point for which we are computing the bone weight. |
| TargetBoneToIndex | Optional map from the bone names to the bone indices of the target skeleton. If null, the bone indices of the skinning weights will not be re-indexed after the transfer. |
| InNormal | Normal at the input point. Should be set if NormalThreshold >= 0. |