GpuEcsAnimatorComponents.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. using Unity.Entities;
  2. using Unity.Mathematics;
  3. namespace GPUECSAnimationBaker.Engine.AnimatorSystem
  4. {
  5. public struct GpuEcsAnimationDataComponent : IComponentData
  6. {
  7. public int totalNbrOfFrames;
  8. public int nbrOfAttachmentAnchors;
  9. }
  10. public struct GpuEcsAnimationDataBufferElement : IBufferElementData
  11. {
  12. public int startFrameIndex;
  13. public int nbrOfFramesPerSample;
  14. public int nbrOfInBetweenSamples;
  15. public float blendTimeCorrection;
  16. public int startEventOccurenceId;
  17. public int nbrOfEventOccurenceIds;
  18. public bool loop;
  19. }
  20. public struct GpuEcsAnimationEventOccurenceBufferElement : IBufferElementData
  21. {
  22. public float eventNormalizedTime;
  23. public int eventId;
  24. }
  25. public struct GpuEcsAnimatorShaderDataComponent : IComponentData
  26. {
  27. public float4x4 shaderData;
  28. }
  29. public struct GpuEcsAnimatorInitializedComponent : IComponentData
  30. {
  31. public bool initialized;
  32. }
  33. public struct GpuEcsAnimatorTransitionInfoComponent : IComponentData
  34. {
  35. public AnimatorInfo current;
  36. public float blendPreviousToCurrent; // 0 when only previous is running, 1 when only current is running
  37. public AnimatorInfo previous;
  38. }
  39. public struct GpuEcsAnimatorStateComponent : IComponentData
  40. {
  41. public float currentNormalizedTime;
  42. public float previousNormalizedTime;
  43. public bool stoppedCurrent;
  44. public bool stoppedPrevious;
  45. }
  46. public struct GpuEcsAttachmentAnchorDataBufferElement : IBufferElementData
  47. {
  48. public float4x4 anchorTransform;
  49. }
  50. public struct GpuEcsCurrentAttachmentAnchorBufferElement : IBufferElementData
  51. {
  52. public float4x4 currentTransform;
  53. }
  54. public struct GpuEcsAnimatorEventBufferElement : IBufferElementData
  55. {
  56. public int animationId;
  57. public int eventId;
  58. }
  59. }