Add support for multiple media events on audio, postfx and camera tracks in Scene Animations
#519
This commit is contained in:
@@ -129,24 +129,23 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
struct Media
|
||||
{
|
||||
int32 StartFrame;
|
||||
int32 DurationFrames;
|
||||
};
|
||||
|
||||
struct PostProcessMaterialTrack
|
||||
{
|
||||
struct Data
|
||||
{
|
||||
/// <summary>
|
||||
/// The PostFx material asset ID.
|
||||
/// </summary>
|
||||
Guid AssetID;
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// The start frame of the media play begin.
|
||||
/// </summary>
|
||||
int32 StartFrame;
|
||||
|
||||
/// <summary>
|
||||
/// The total duration of the media playback in the timeline sequence frames amount.
|
||||
/// </summary>
|
||||
int32 DurationFrames;
|
||||
struct Runtime
|
||||
{
|
||||
int32 Count;
|
||||
Media* Media;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -154,19 +153,8 @@ public:
|
||||
{
|
||||
struct Data
|
||||
{
|
||||
/// <summary>
|
||||
/// The scene animation asset ID.
|
||||
/// </summary>
|
||||
Guid AssetID;
|
||||
|
||||
/// <summary>
|
||||
/// The start frame of the media play begin.
|
||||
/// </summary>
|
||||
int32 StartFrame;
|
||||
|
||||
/// <summary>
|
||||
/// The total duration of the media playback in the timeline sequence frames amount.
|
||||
/// </summary>
|
||||
int32 DurationFrames;
|
||||
};
|
||||
|
||||
@@ -185,57 +173,36 @@ public:
|
||||
|
||||
struct Data
|
||||
{
|
||||
/// <summary>
|
||||
/// The start frame of the media play begin.
|
||||
/// </summary>
|
||||
int32 StartFrame;
|
||||
|
||||
/// <summary>
|
||||
/// The total duration of the media playback in the timeline sequence frames amount.
|
||||
/// </summary>
|
||||
int32 DurationFrames;
|
||||
|
||||
/// <summary>
|
||||
/// The gradient stops count.
|
||||
/// </summary>
|
||||
int32 GradientStopsCount;
|
||||
};
|
||||
|
||||
struct Runtime
|
||||
{
|
||||
/// <summary>
|
||||
/// The pointer to the gradient stops array (items count is GradientStopsCount).
|
||||
/// </summary>
|
||||
GradientStop* GradientStops;
|
||||
};
|
||||
};
|
||||
|
||||
struct AudioTrack
|
||||
{
|
||||
struct Media
|
||||
{
|
||||
int32 StartFrame;
|
||||
int32 DurationFrames;
|
||||
float Offset;
|
||||
};
|
||||
|
||||
struct Data
|
||||
{
|
||||
/// <summary>
|
||||
/// The audio clip asset ID.
|
||||
/// </summary>
|
||||
Guid AssetID;
|
||||
|
||||
/// <summary>
|
||||
/// The start frame of the media play begin.
|
||||
/// </summary>
|
||||
int32 StartFrame;
|
||||
|
||||
/// <summary>
|
||||
/// The total duration of the media playback in the timeline sequence frames amount.
|
||||
/// </summary>
|
||||
int32 DurationFrames;
|
||||
};
|
||||
|
||||
struct Runtime
|
||||
{
|
||||
/// <summary>
|
||||
/// The index of the volume track. If not used then value is -1. Assigned on load.
|
||||
/// </summary>
|
||||
int32 VolumeTrackIndex;
|
||||
int32 Count;
|
||||
Media* Media;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -245,22 +212,12 @@ public:
|
||||
|
||||
struct Data
|
||||
{
|
||||
/// <summary>
|
||||
/// The keyframes count.
|
||||
/// </summary>
|
||||
int32 KeyframesCount;
|
||||
};
|
||||
|
||||
struct Runtime
|
||||
{
|
||||
/// <summary>
|
||||
/// The keyframes count.
|
||||
/// </summary>
|
||||
int32 KeyframesCount;
|
||||
|
||||
/// <summary>
|
||||
/// The keyframes array (items count is KeyframesCount).
|
||||
/// </summary>
|
||||
BezierCurveKeyframe<float>* Keyframes;
|
||||
};
|
||||
};
|
||||
@@ -269,9 +226,6 @@ public:
|
||||
{
|
||||
struct Data
|
||||
{
|
||||
/// <summary>
|
||||
/// The object ID.
|
||||
/// </summary>
|
||||
Guid ID;
|
||||
};
|
||||
|
||||
@@ -306,37 +260,15 @@ public:
|
||||
{
|
||||
struct Data
|
||||
{
|
||||
/// <summary>
|
||||
/// The property value data size (in bytes).
|
||||
/// </summary>
|
||||
int32 ValueSize;
|
||||
|
||||
/// <summary>
|
||||
/// The name length.
|
||||
/// </summary>
|
||||
int32 PropertyNameLength;
|
||||
|
||||
/// <summary>
|
||||
/// The typename length.
|
||||
/// </summary>
|
||||
int32 PropertyTypeNameLength;
|
||||
};
|
||||
|
||||
struct Runtime
|
||||
{
|
||||
/// <summary>
|
||||
/// The property value data size (in bytes).
|
||||
/// </summary>
|
||||
int32 ValueSize;
|
||||
|
||||
/// <summary>
|
||||
/// The name of the property (just a member name).
|
||||
/// </summary>
|
||||
char* PropertyName;
|
||||
|
||||
/// <summary>
|
||||
/// The typename of the property value (fullname including namespace but not assembly).
|
||||
/// </summary>
|
||||
char* PropertyTypeName;
|
||||
};
|
||||
};
|
||||
@@ -345,17 +277,11 @@ public:
|
||||
{
|
||||
struct Data : PropertyTrack::Data
|
||||
{
|
||||
/// <summary>
|
||||
/// The keyframes count.
|
||||
/// </summary>
|
||||
int32 KeyframesCount;
|
||||
};
|
||||
|
||||
struct Runtime : PropertyTrack::Runtime
|
||||
{
|
||||
/// <summary>
|
||||
/// The keyframes count.
|
||||
/// </summary>
|
||||
int32 KeyframesCount;
|
||||
|
||||
/// <summary>
|
||||
@@ -382,22 +308,12 @@ public:
|
||||
|
||||
struct Data : PropertyTrack::Data
|
||||
{
|
||||
/// <summary>
|
||||
/// The keyframes count.
|
||||
/// </summary>
|
||||
int32 KeyframesCount;
|
||||
};
|
||||
|
||||
struct Runtime : PropertyTrack::Runtime
|
||||
{
|
||||
/// <summary>
|
||||
/// The cached curve data type.
|
||||
/// </summary>
|
||||
DataTypes DataType;
|
||||
|
||||
/// <summary>
|
||||
/// The keyframes count.
|
||||
/// </summary>
|
||||
int32 KeyframesCount;
|
||||
|
||||
/// <summary>
|
||||
@@ -411,17 +327,11 @@ public:
|
||||
{
|
||||
struct Data : PropertyTrack::Data
|
||||
{
|
||||
/// <summary>
|
||||
/// The keyframes count.
|
||||
/// </summary>
|
||||
int32 KeyframesCount;
|
||||
};
|
||||
|
||||
struct Runtime : PropertyTrack::Runtime
|
||||
{
|
||||
/// <summary>
|
||||
/// The keyframes count.
|
||||
/// </summary>
|
||||
int32 KeyframesCount;
|
||||
|
||||
// ..followed by the keyframes times and the values arrays (separate)
|
||||
@@ -486,19 +396,12 @@ public:
|
||||
{
|
||||
struct Data : ObjectTrack::Data
|
||||
{
|
||||
/// <summary>
|
||||
/// The start frame of the media play begin.
|
||||
/// </summary>
|
||||
int32 StartFrame;
|
||||
|
||||
/// <summary>
|
||||
/// The total duration of the media playback in the timeline sequence frames amount.
|
||||
/// </summary>
|
||||
int32 DurationFrames;
|
||||
};
|
||||
|
||||
struct Runtime : ObjectTrack::Runtime
|
||||
{
|
||||
int32 Count;
|
||||
Media* Media;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -534,11 +437,7 @@ public:
|
||||
/// <summary>
|
||||
/// Gets the animation duration (in seconds).
|
||||
/// </summary>
|
||||
/// <returns>The animation duration (in seconds).</returns>
|
||||
API_PROPERTY() FORCE_INLINE float GetDuration() const
|
||||
{
|
||||
return DurationFrames / FramesPerSecond;
|
||||
}
|
||||
API_PROPERTY() float GetDuration() const;
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user