【发布时间】:2020-09-22 21:01:34
【问题描述】:
- 我正在尝试使用 UPoseableMeshComponent 在 UE4 (4.25) 中转换骨骼。 (image of initial state)
- 但是,在我使用 SetBoneTransformByName 转换骨骼之后,渲染进入了一些奇怪的状态,下面不是运动模糊,只是应用 SetBoneTransformByName (image after transform blurred rendering) 后的一个姿势。虽然
Unlit渲染看起来还不错。 - 在我调用 AActor::SetActorHiddenInGame(true) 设置为不可见,然后调用 AActor::SetActorHiddenInGame(false) 再次显示演员后,渲染将被修复。 (Image after hide/show)
- 代码纯粹是用 c++ 编写的(无 BP),我首先使用 SkeletalMesh 创建自定义角色,并在代码中添加了 UPoseableMeshComponent,如下所示:
void AMyCharacter::CreatePoseableMesh() {
USkeletalMeshComponent* skeletalMesh = GetMesh();
UPoseableMeshComponent* poseMesh =
NewObject<UPoseableMeshComponent>(this, UPoseableMeshComponent::StaticClass());
if (poseMesh) {
poseMesh->RegisterComponent();
poseMesh->SetWorldLocation(location);
poseMesh->SetWorldRotation(rotation);
poseMesh->AttachToComponent(GetRootComponent(),FAttachmentTransformRules::KeepRelativeTransform);
poseMesh->SetSkeletalMesh(skeletalMesh->SkeletalMesh);
poseMesh->SetVisibility(true);
skeletalMesh->SetVisibility(false);
}
}
在 UPoseableMeshComponent 中是否缺少需要设置的内容?
【问题讨论】:
标签: c++ unreal-engine4