我只想知道是否有方法来设置骨骼网格的骨骼到C++中的特定位置。我不想使用蓝图,但我没有找到一个好办法。(UE4)我如何设置骨骼使用c + +的位置
-3
A
回答
1
查找UPoseableMeshComponent。它允许您为每个骨架的骨骼设置变换。
编辑:
这里是我如何在项目中使用PoseableMeshComponent的例子。在我的情况下,我正在复制由mocap数据驱动的骨架。该动作捕捉数据是从网络插口接收并存储成一个结构,看起来像这样:
USTRUCT()
struct FSkeletonData
{
GENERATED_USTRUCT_BODY()
FSkeletonData()
: Scale(1.0f)
{}
/**
* The bones' location
*/
UPROPERTY(VisibleAnywhere)
TArray<FVector> Locations;
/**
* The bones' rotation
*/
UPROPERTY(VisibleAnywhere)
TArray<FQuat> Rotations;
/**
* Scale of the skeletal mesh
*/
UPROPERTY(VisibleAnywhere)
float Scale;
}
是正在接收该数据的类有一个PoseableMeshComponent和更新其基于这种结构是这样的:
int32 NumBones = PoseableMeshComponent->GetNumBones();
for (int32 i = 0; i < NumBones; ++i)
{
FName const BoneName = PoseableMeshComponent->GetBoneName(i);
FTransform Transform(SkeletonDataActual.Rotations[i], SkeletonDataActual.Locations[i], FVector(SkeletonDataActual.Scale));
PoseableMeshComponent->SetBoneTransformByName(BoneName, Transform, EBoneSpaces::WorldSpace);
}
PoseableMeshComponent->SetWorldScale3D(FVector(SkeletonDataActual.Scale));
请注意,SkeletonDataActual属于FSkeletonData类型,并且这些位置位于World Space中。如果您希望它在本地空间中工作,您可能需要添加演员的位置和/或旋转角度。
希望能帮到你,祝你好运!
+0
你能提供一个关于如何使用UPoseableMeshComponent的例子吗?我没有找到一个很好的例子来说明如何使用它。 – Wolff
相关问题
- 1. (UE4)为什么ue4基本模特不能保持连接,如果我通过蓝图移动骨骼
- 2. 在xna中旋转后保存骨骼位置
- 3. 使用c设置表单的位置#
- 4. 如何使用C#在Winforms中设置菜单栏的位置?
- 5. 如何设置文本框的位置使用相对位置?
- 6. 我们如何设置来自C#的Excel图表的位置?
- 7. 如何将Firebase位置设置为骨干模型ID?
- 8. THREE.JS如何移动SkinnedMesh的骨骼?
- 9. 使用google maps API,我们如何使用map.setCenter函数将当前位置设置为默认设置位置?
- 10. 我需要JavaScript的2D骨骼引擎
- 11. 骨骼动画:如何手动派生Assimp骨骼偏移矩阵
- 12. 如何使用C++使用Kinect SDK获得RGB视频源的骨骼数据
- 13. 使用点设置位置
- 14. 设置TextLabel位置Objective-c
- 15. 使用Kinect骨骼关节提取库
- 16. UIGraphicsBeginImageContext如何设置位置?
- 17. 如何设置BoundingRectangle位置
- 18. OpenGL骨骼动画性能
- 19. Kinect操纵骨骼数据
- 20. OpenGL骨骼动画逻辑
- 21. SceneKit约束如何与骨骼一起使用?
- 22. OpenGL ES2骨骼动画
- 23. AS3骨骼角色动画
- 24. Collada和骨骼动画
- 25. 上身骨骼检测
- 26. 我如何使它跟随我的确切位置使用地理位置?
- 27. 如何使用ActionScript3.0的设置在图像的动态位置?
- 28. 如何使用UIImagePickerController设置拍摄的照片的位置?
- 29. C++中的按位设置
- 30. 如何设置一个骨干模式
请编辑您的问题,因为是题外话题。你的问题不是编码问题,所以尝试在谷歌上输入你的问题,因为我确信有很多教程可以在虚幻引擎上用C++来管理Actor。稍后与我们分享您尝试的内容,并且不要忘记正确地放置您的标签(虚幻引擎)。然后我们可以帮助你。 – uelordi