Skip to content

Commit a95ca6d

Browse files
authored
Merge pull request WolvenKit#2778 from DoctorPresto/main
added rig path, tracknames and parent indices to anim export
2 parents 891550c + 3843811 commit a95ca6d

File tree

3 files changed

+12
-2
lines changed

3 files changed

+12
-2
lines changed

WolvenKit.Modkit/RED4/Tools/AnimationTools.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,16 @@ public bool GetAnimation(CR2WFile animsFile, CR2WFile rigFile, string animsFileN
8383
}
8484
var skin = gltfModel.CreateSkin("Armature");
8585
skin.BindJoints(RIG.ExportNodes(ref gltfModel, rig).Values.ToArray());
86+
var rigExtras = new
87+
{
88+
rigPath = anims.Rig.DepotPath.GetResolvedText(),
89+
boneNames = rig.Names,
90+
boneParentIndexes = rig.Parent,
91+
trackNames = rig.TrackNames
92+
};
93+
94+
skin.Extras = JsonSerializer.SerializeToNode(rigExtras, Gltf.SerializationOptions());
95+
8696
}
8797

8898
var gltfSkin = gltfModel.LogicalSkins.FirstOrDefault(_ => _.Name is "Armature");

WolvenKit.Modkit/RED4/Tools/Common/Structs.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace WolvenKit.Modkit.RED4.GeneralStructs
99
public class RawArmature
1010
{
1111
public string[]? Names;
12-
12+
public string[]? TrackNames;
1313
public short[]? Parent;
1414
public int BoneCount;
1515
public Vector3[]? LocalPosn;

WolvenKit.Modkit/RED4/Tools/RigTools.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class RIG
2828
LocalPosn = animRig.BoneTransforms.Select(p => new Vec3(p.Translation.X, p.Translation.Z, -p.Translation.Y)).ToArray(),
2929
LocalRot = animRig.BoneTransforms.Select(p => new Quat(p.Rotation.I, p.Rotation.K, -p.Rotation.J, p.Rotation.R)).ToArray(),
3030
LocalScale = animRig.BoneTransforms.Select(p => new Vec3(p.Scale.X, p.Scale.Y, p.Scale.Z)).ToArray(),
31-
31+
TrackNames = animRig.TrackNames.Select(_ => _.GetResolvedText() ?? string.Empty).ToArray(),
3232
ReferenceTracks = animRig.ReferenceTracks.Select(_ => (float)_).ToArray(),
3333
};
3434

0 commit comments

Comments
 (0)