Advertisement
Guest User

Untitled

a guest
Nov 7th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.75 KB | None | 0 0
  1.     FName ParentBoneName = TEXT("Root");
  2.     FName ChildBoneName = TEXT("Turret");
  3.  
  4.     // Act
  5.     Turret->Mesh->SetBoneLocationByName(ParentBoneName, FVector(-100, 0, 0), EBoneSpaces::WorldSpace);
  6.     TestEqual(TEXT("Parent Transform"), Turret->Mesh->GetBoneTransformByName(ParentBoneName, EBoneSpaces::WorldSpace).GetLocation(), FVector(-100, 0, 0));
  7.     TestEqual(TEXT("Child Location"), Turret->Mesh->GetBoneLocationByName(ChildBoneName, EBoneSpaces::ComponentSpace), FVector(0, 0, 20));
  8.     TestEqual(TEXT("Child Location"), Turret->Mesh->GetBoneLocationByName(ChildBoneName, EBoneSpaces::WorldSpace), FVector(-100, 0, 20));
  9.  
  10.     Turret->Mesh->SetBoneRotationByName(ParentBoneName, FRotator(45, 0, 0), EBoneSpaces::ComponentSpace);
  11.     TestEqual(TEXT("Parent Transform"), Turret->Mesh->GetBoneTransformByName(ParentBoneName, EBoneSpaces::WorldSpace).GetRotation().Rotator(), FRotator(45, 0, 0));
  12.     TestEqual(TEXT("Child Rotation"), Turret->Mesh->GetBoneRotationByName(ChildBoneName, EBoneSpaces::ComponentSpace), FRotator(0, 0, 0));
  13.     TestEqual(TEXT("Child Rotation"), Turret->Mesh->GetBoneRotationByName(ChildBoneName, EBoneSpaces::WorldSpace), FRotator(45, 0, 0));
  14.  
  15.     // Assert
  16.     FTransform ChildTransform = Turret->Mesh->GetBoneTransformByName(ChildBoneName, EBoneSpaces::WorldSpace);
  17.     FTransform LocalChildTransform = ChildTransform.GetRelativeTransform(Turret->Mesh->GetBoneTransformByName(ParentBoneName, EBoneSpaces::WorldSpace));
  18.     FTransform ChildTransform2 = LocalChildTransform.GetRelativeTransformReverse(Turret->Mesh->GetBoneTransformByName(ParentBoneName, EBoneSpaces::WorldSpace));
  19.     TestEqual(TEXT("Transform Location"), ChildTransform.GetLocation(), ChildTransform2.GetLocation());
  20.     TestEqual(TEXT("Transform Rotation"), ChildTransform.GetRotation(), ChildTransform2.GetRotation());
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement