Advertisement
Guest User

Untitled

a guest
May 28th, 2017
647
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.75 KB | None | 0 0
  1. /**
  2. * @author  Mohammad S. Babaei <info@babaei.net>
  3. *
  4. * @section LICENSE
  5. * Copyright (c) 2017 Atitel Game Studio
  6. */
  7.  
  8.  
  9. #include "Reminiscence.h"
  10. #include "PlayerAnimInstance.h"
  11. #include "Animation/AnimNodeBase.h"
  12. #include "AnimationRuntime.h"
  13. #include "BoneControllers/AnimNode_ModifyBone.h"
  14. #include "BonePose.h"
  15. #include "CoreGlobals.h"
  16. #include "PlayerCameraModifyBone.h"
  17. #include "PlayerCharacter.h"
  18.  
  19.  
  20. DEFINE_LOG_CATEGORY_STATIC(LogFPChar, Warning, All);
  21.  
  22.  
  23.  
  24. struct UPlayerAnimInstance::Impl
  25. {
  26. public:
  27.  
  28. private:
  29.     UPlayerAnimInstance* m_parent;
  30.  
  31. public:
  32.     explicit Impl(UPlayerAnimInstance* parent);
  33.     ~Impl();
  34. };
  35.  
  36. UPlayerAnimInstance::UPlayerAnimInstance(const FObjectInitializer& objectInitializer)
  37.     : Super(objectInitializer),
  38.     m_pimpl(std::unique_ptr<Impl, ImplDeleter>(new Impl{ this }, m_pimplDeleter))
  39. {
  40.     this->CameraPitch = 0.0f;
  41. }
  42.  
  43. UPlayerAnimInstance::~UPlayerAnimInstance() = default;
  44.  
  45. void UPlayerAnimInstance::NativeInitializeAnimation()
  46. {
  47.     Super::NativeInitializeAnimation();
  48. }
  49.  
  50. void UPlayerAnimInstance::NativeUpdateAnimation(float deltaSeconds)
  51. {
  52.     Super::NativeUpdateAnimation(deltaSeconds);
  53. }
  54.  
  55. void UPlayerAnimInstance::NativePostEvaluateAnimation()
  56. {
  57.     Super::NativePostEvaluateAnimation();
  58.  
  59.     USkeletalMeshComponent* playerCharacterMesh = Cast<USkeletalMeshComponent>(this->GetOwningComponent());
  60.     if (playerCharacterMesh) {
  61.         FTransform spine01Transform(playerCharacterMesh->GetBoneTransform(playerCharacterMesh->GetBoneIndex("spine_01")));
  62.         FTransform spine02Transform(playerCharacterMesh->GetBoneTransform(playerCharacterMesh->GetBoneIndex("spine_02")));
  63.         FTransform spine03Transform(playerCharacterMesh->GetBoneTransform(playerCharacterMesh->GetBoneIndex("spine_03")));
  64.  
  65.         this->Spine01Rotation = FRotator(this->CameraPitch, spine01Transform.Rotator().Yaw, spine01Transform.Rotator().Roll);
  66.         this->Spine02Rotation = FRotator(this->CameraPitch, spine02Transform.Rotator().Yaw, spine02Transform.Rotator().Roll);
  67.         this->Spine03Rotation = FRotator(this->CameraPitch, spine03Transform.Rotator().Yaw, spine03Transform.Rotator().Roll);
  68.  
  69.         UE_LOG(LogTemp, Warning, TEXT("%s Spine 01 sssssssssssssssssssss"), FString::FromInt(this->Spine01Rotation.Pitch).GetCharArray().GetData());
  70.     }
  71.  
  72. }
  73.  
  74. void UPlayerAnimInstance::NativeUninitializeAnimation()
  75. {
  76.     Super::NativeUninitializeAnimation();
  77. }
  78.  
  79. /*FAnimInstanceProxy* UPlayerAnimInstance::CreateAnimInstanceProxy()
  80. {
  81.     return new FPlayerAnimInstanceProxy(this);
  82. }*/
  83.  
  84. UPlayerAnimInstance::Impl::Impl(UPlayerAnimInstance* parent)
  85.     : m_parent(parent)
  86. {
  87.  
  88. }
  89.  
  90. UPlayerAnimInstance::Impl::~Impl() = default;
  91.  
  92. void UPlayerAnimInstance::ImplDeleter::operator()(UPlayerAnimInstance::Impl *p)
  93. {
  94.     delete p;
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement