USkeletalMeshComponent中没有GetBoneTransform
时间: 2024-03-03 09:48:50 浏览: 122
自制虚幻引擎QTE系统源码.zip
非常抱歉,我的回答还是有误。在USkeletalMeshComponent中确实没有GetBoneTransform函数来直接获取骨骼变换信息。但是,你可以通过以下方式间接地获取骨骼变换信息:
1. 获取_SkeletalMeshComponent对象。
2. 调用USkeletalMeshComponent的GetBoneMatrix函数,获取想要获取变换信息的骨骼的变换矩阵。
3. 从变换矩阵中提取出骨骼的位置和旋转信息。
下面是一个示例代码:
```cpp
USkeletalMeshComponent* SkeletalMeshComp = /* 获取_SkeletalMeshComponent对象 */;
int BoneIndex = /* 获取想要获取变换信息的骨骼的索引 */;
// 获取骨骼变换矩阵
FMatrix BoneMatrix = SkeletalMeshComp->GetBoneMatrix(BoneIndex);
// 从变换矩阵中提取出骨骼的位置和旋转信息
FVector BonePosition;
FQuat BoneRotation;
FVector BoneScale;
BoneMatrix.GetTranslationAndScale(BonePosition, BoneScale);
BoneRotation = FQuat(BoneMatrix);
```
在这个示例中,我们使用了FMatrix类型的变换矩阵来获取骨骼变换信息。通过FMatrix的GetTranslationAndScale函数可以获取骨骼的位置和缩放信息,通过FMatrix转换为FQuat类型的四元数可以获取骨骼的旋转信息。
阅读全文