Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- FName ParentBoneName = TEXT("Root");
- FName ChildBoneName = TEXT("Turret");
- // Act
- Turret->Mesh->SetBoneLocationByName(ParentBoneName, FVector(-100, 0, 0), EBoneSpaces::WorldSpace);
- TestEqual(TEXT("Parent Transform"), Turret->Mesh->GetBoneTransformByName(ParentBoneName, EBoneSpaces::WorldSpace).GetLocation(), FVector(-100, 0, 0));
- TestEqual(TEXT("Child Location"), Turret->Mesh->GetBoneLocationByName(ChildBoneName, EBoneSpaces::ComponentSpace), FVector(0, 0, 20));
- TestEqual(TEXT("Child Location"), Turret->Mesh->GetBoneLocationByName(ChildBoneName, EBoneSpaces::WorldSpace), FVector(-100, 0, 20));
- Turret->Mesh->SetBoneRotationByName(ParentBoneName, FRotator(45, 0, 0), EBoneSpaces::ComponentSpace);
- TestEqual(TEXT("Parent Transform"), Turret->Mesh->GetBoneTransformByName(ParentBoneName, EBoneSpaces::WorldSpace).GetRotation().Rotator(), FRotator(45, 0, 0));
- TestEqual(TEXT("Child Rotation"), Turret->Mesh->GetBoneRotationByName(ChildBoneName, EBoneSpaces::ComponentSpace), FRotator(0, 0, 0));
- TestEqual(TEXT("Child Rotation"), Turret->Mesh->GetBoneRotationByName(ChildBoneName, EBoneSpaces::WorldSpace), FRotator(45, 0, 0));
- // Assert
- FTransform ChildTransform = Turret->Mesh->GetBoneTransformByName(ChildBoneName, EBoneSpaces::WorldSpace);
- FTransform LocalChildTransform = ChildTransform.GetRelativeTransform(Turret->Mesh->GetBoneTransformByName(ParentBoneName, EBoneSpaces::WorldSpace));
- FTransform ChildTransform2 = LocalChildTransform.GetRelativeTransformReverse(Turret->Mesh->GetBoneTransformByName(ParentBoneName, EBoneSpaces::WorldSpace));
- TestEqual(TEXT("Transform Location"), ChildTransform.GetLocation(), ChildTransform2.GetLocation());
- TestEqual(TEXT("Transform Rotation"), ChildTransform.GetRotation(), ChildTransform2.GetRotation());
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement