Advertisement
Guest User

Untitled

a guest
Oct 20th, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. void ADigitalHumanDriverLite::SetValues(const ValuesArray& Data)
  2. {
  3. for ( auto i = 0; i < Data.size(); ++i )
  4. {
  5. auto value = Data[i];
  6. if (GetSkeletalMeshComponent()->GetAnimInstance())
  7. {
  8. value += GetSkeletalMeshComponent()->GetAnimInstance()->GetCurveValue(FName(VALUE_NAMES[i].c_str())) * Weight;
  9. }
  10. GetSkeletalMeshComponent()->SetMorphTarget(FName(VALUE_NAMES[i].c_str()), value, false);
  11. }
  12. }
  13.  
  14. void ADigitalHumanDriverLite::BlendMorphTargets()
  15. {
  16. float weight = Counter / BlendTime;
  17.  
  18. for (auto i = 0; i < Frame.frame.values.size(); ++i )
  19. {
  20. auto value = (Frame.frame.values)[i] * weight;
  21. if (GetSkeletalMeshComponent()->GetAnimInstance())
  22. {
  23. value += GetSkeletalMeshComponent()->GetAnimInstance()->GetCurveValue(FName(VALUE_NAMES[i].c_str())) * (1.0 - weight);
  24. }
  25. GetSkeletalMeshComponent()->SetMorphTarget(FName(VALUE_NAMES[i].c_str()), value, false);
  26. }
  27. Counter--;
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement