@@ -19,6 +19,82 @@ UE3 CLASS TREE:
19
19
20
20
// forwards
21
21
class UMaterialInterface ;
22
+ class USkeletalMesh3 ;
23
+
24
+
25
+ /* -----------------------------------------------------------------------------
26
+ UMorphTarget
27
+ -----------------------------------------------------------------------------*/
28
+
29
+ struct FMorphTargetDelta
30
+ {
31
+ FVector PositionDelta;
32
+ FVector TangentZDelta; // FPackedNormal for UE3, FVector for UE4
33
+ uint32 SourceIdx;
34
+
35
+ static void Serialize3 (FArchive& Ar, FMorphTargetDelta& V);
36
+ #if UNREAL4
37
+ static void Serialize4 (FArchive& Ar, FMorphTargetDelta& V);
38
+ #endif
39
+ };
40
+
41
+ struct FMorphTargetLODModel
42
+ {
43
+ TArray<FMorphTargetDelta> Vertices;
44
+ int32 NumBaseMeshVerts;
45
+ #if UNREAL4
46
+ TArray<int32> SectionIndices;
47
+ #endif
48
+
49
+ static void Serialize3 (FArchive& Ar, FMorphTargetLODModel& Lod);
50
+ #if UNREAL4
51
+ static void Serialize4 (FArchive& Ar, FMorphTargetLODModel& Lod);
52
+ #endif
53
+ };
54
+
55
+ class UMorphTarget : public UObject
56
+ {
57
+ DECLARE_CLASS (UMorphTarget, UObject);
58
+ public:
59
+ TArray<FMorphTargetLODModel> MorphLODModels;
60
+
61
+ void Serialize3 (FArchive& Ar);
62
+ #if UNREAL4
63
+ void Serialize4 (FArchive& Ar);
64
+ #endif
65
+
66
+ virtual void Serialize (FArchive& Ar)
67
+ {
68
+ #if UNREAL4
69
+ if (Ar.Game >= GAME_UE4_BASE)
70
+ {
71
+ Serialize4 (Ar);
72
+ return ;
73
+ }
74
+ #endif
75
+ Serialize3 (Ar);
76
+ }
77
+
78
+ #if UNREAL4
79
+ BEGIN_PROP_TABLE
80
+ PROP_DROP (BaseSkelMesh)
81
+ END_PROP_TABLE
82
+ #endif
83
+ };
84
+
85
+ // UE3 has UMorphTargetSet to map between USkeletalMesh and UMorphTarget
86
+ class UMorphTargetSet : public UObject
87
+ {
88
+ DECLARE_CLASS (UMorphTargetSet, UObject)
89
+ public:
90
+ TArray<UMorphTarget*> Targets;
91
+ USkeletalMesh3* BaseSkelMesh;
92
+
93
+ BEGIN_PROP_TABLE
94
+ PROP_ARRAY (Targets, UObject*)
95
+ PROP_OBJ (BaseSkelMesh)
96
+ END_PROP_TABLE
97
+ };
22
98
23
99
24
100
/* -----------------------------------------------------------------------------
@@ -738,6 +814,8 @@ class UStaticMesh3 : public UObject
738
814
REGISTER_CLASS (USkeletalMeshSocket) \
739
815
REGISTER_CLASS(FSkeletalMeshLODInfo) \
740
816
REGISTER_CLASS_ALIAS(USkeletalMesh3, UGolemSkeletalMesh) \
817
+ REGISTER_CLASS(UMorphTarget) \
818
+ REGISTER_CLASS(UMorphTargetSet) \
741
819
REGISTER_CLASS(FRawAnimSequenceTrack) \
742
820
REGISTER_CLASS(UAnimSequence) \
743
821
REGISTER_CLASS(UAnimSet) \
0 commit comments