mirror of
https://github.com/Relintai/pandemonium_engine_minimal.git
synced 2025-04-14 03:20:48 +02:00
Simplifications to Animation.
This commit is contained in:
parent
14272c1eaf
commit
1223482739
File diff suppressed because it is too large
Load Diff
@ -41,9 +41,6 @@ class Animation : public Resource {
|
|||||||
public:
|
public:
|
||||||
enum TrackType {
|
enum TrackType {
|
||||||
TYPE_VALUE, ///< Set a value in a property, can be interpolated.
|
TYPE_VALUE, ///< Set a value in a property, can be interpolated.
|
||||||
TYPE_POSITION_3D, ///< Position 3D track
|
|
||||||
TYPE_ROTATION_3D, ///< Rotation 3D track
|
|
||||||
TYPE_SCALE_3D, ///< Scale 3D track
|
|
||||||
TYPE_METHOD, ///< Call any method on a specific node.
|
TYPE_METHOD, ///< Call any method on a specific node.
|
||||||
TYPE_BEZIER, ///< Bezier curve
|
TYPE_BEZIER, ///< Bezier curve
|
||||||
TYPE_AUDIO,
|
TYPE_AUDIO,
|
||||||
@ -99,30 +96,6 @@ private:
|
|||||||
Vector3 scale;
|
Vector3 scale;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* POSITION TRACK */
|
|
||||||
|
|
||||||
struct PositionTrack : public Track {
|
|
||||||
Vector<TKey<Vector3>> positions;
|
|
||||||
//int32_t compressed_track = -1;
|
|
||||||
PositionTrack() { type = TYPE_POSITION_3D; }
|
|
||||||
};
|
|
||||||
|
|
||||||
/* ROTATION TRACK */
|
|
||||||
|
|
||||||
struct RotationTrack : public Track {
|
|
||||||
Vector<TKey<Quaternion>> rotations;
|
|
||||||
//int32_t compressed_track = -1;
|
|
||||||
RotationTrack() { type = TYPE_ROTATION_3D; }
|
|
||||||
};
|
|
||||||
|
|
||||||
/* SCALE TRACK */
|
|
||||||
|
|
||||||
struct ScaleTrack : public Track {
|
|
||||||
Vector<TKey<Vector3>> scales;
|
|
||||||
//int32_t compressed_track = -1;
|
|
||||||
ScaleTrack() { type = TYPE_SCALE_3D; }
|
|
||||||
};
|
|
||||||
|
|
||||||
/* PROPERTY VALUE TRACK */
|
/* PROPERTY VALUE TRACK */
|
||||||
|
|
||||||
struct ValueTrack : public Track {
|
struct ValueTrack : public Track {
|
||||||
@ -256,14 +229,6 @@ private:
|
|||||||
return idxr;
|
return idxr;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool _position_track_optimize_key(const TKey<Vector3> &t0, const TKey<Vector3> &t1, const TKey<Vector3> &t2, real_t p_alowed_linear_err, real_t p_allowed_angular_error, const Vector3 &p_norm);
|
|
||||||
bool _rotation_track_optimize_key(const TKey<Quaternion> &t0, const TKey<Quaternion> &t1, const TKey<Quaternion> &t2, real_t p_allowed_angular_error, float p_max_optimizable_angle);
|
|
||||||
bool _scale_track_optimize_key(const TKey<Vector3> &t0, const TKey<Vector3> &t1, const TKey<Vector3> &t2, real_t p_allowed_linear_error);
|
|
||||||
|
|
||||||
void _position_track_optimize(int p_idx, real_t p_allowed_linear_err, real_t p_allowed_angular_err);
|
|
||||||
void _rotation_track_optimize(int p_idx, real_t p_allowed_angular_err, real_t p_max_optimizable_angle);
|
|
||||||
void _scale_track_optimize(int p_idx, real_t p_allowed_linear_err);
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool _set(const StringName &p_name, const Variant &p_value);
|
bool _set(const StringName &p_name, const Variant &p_value);
|
||||||
bool _get(const StringName &p_name, Variant &r_ret) const;
|
bool _get(const StringName &p_name, Variant &r_ret) const;
|
||||||
@ -305,18 +270,6 @@ public:
|
|||||||
float track_get_key_time(int p_track, int p_key_idx) const;
|
float track_get_key_time(int p_track, int p_key_idx) const;
|
||||||
float track_get_key_transition(int p_track, int p_key_idx) const;
|
float track_get_key_transition(int p_track, int p_key_idx) const;
|
||||||
|
|
||||||
int position_track_insert_key(int p_track, double p_time, const Vector3 &p_position);
|
|
||||||
Error position_track_get_key(int p_track, int p_key, Vector3 *r_position) const;
|
|
||||||
Error position_track_interpolate(int p_track, double p_time, Vector3 *r_interpolation) const;
|
|
||||||
|
|
||||||
int rotation_track_insert_key(int p_track, double p_time, const Quaternion &p_rotation);
|
|
||||||
Error rotation_track_get_key(int p_track, int p_key, Quaternion *r_rotation) const;
|
|
||||||
Error rotation_track_interpolate(int p_track, double p_time, Quaternion *r_interpolation) const;
|
|
||||||
|
|
||||||
int scale_track_insert_key(int p_track, double p_time, const Vector3 &p_scale);
|
|
||||||
Error scale_track_get_key(int p_track, int p_key, Vector3 *r_scale) const;
|
|
||||||
Error scale_track_interpolate(int p_track, double p_time, Vector3 *r_interpolation) const;
|
|
||||||
|
|
||||||
void track_set_interpolation_type(int p_track, InterpolationType p_interp);
|
void track_set_interpolation_type(int p_track, InterpolationType p_interp);
|
||||||
InterpolationType track_get_interpolation_type(int p_track) const;
|
InterpolationType track_get_interpolation_type(int p_track) const;
|
||||||
|
|
||||||
|
@ -321,12 +321,6 @@ void AnimationPlayer::_animation_process_animation(AnimationData *p_anim, float
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch (a->track_get_type(i)) {
|
switch (a->track_get_type(i)) {
|
||||||
case Animation::TYPE_POSITION_3D: {
|
|
||||||
} break;
|
|
||||||
case Animation::TYPE_ROTATION_3D: {
|
|
||||||
} break;
|
|
||||||
case Animation::TYPE_SCALE_3D: {
|
|
||||||
} break;
|
|
||||||
case Animation::TYPE_VALUE: {
|
case Animation::TYPE_VALUE: {
|
||||||
if (!nc->node) {
|
if (!nc->node) {
|
||||||
continue;
|
continue;
|
||||||
|
Loading…
Reference in New Issue
Block a user