Ah wait Ignore my previous post! My initial suspicion that the Track mask List in
S3PE being 100 entries and that being the bone of the rig, is actually correct here!
So it should be pretty easy to open up Blender, see what the RIG names are in some cases, and then look up which bone is what index, set the value from 1 to 0 (or other way around) and voila!
For anyone finding this, a tiny walkthrough to make your own Track masks!
Get a copy to work from first. You can find a few from the JazzData .package (found in:
\The Sims 3\Game\Bin\Jazz\)
In my case, I want to make sure that the arms move, but everything else does not. So, the easiest I figured for me, is the "Arms And Head Reaction" TkMk file! I will be using this in this example.
Now, click on the file, right click > Export To package. And now open up your new package!
Thing is, right now we "technically" made a default replacement. So we need the instance ID to be different. So, we double click on our TkMk file, and then under "name" we type Another name that isn't used by EA (If in doubt just do "USERNAME_ArmsAndHeadReaction"). Then, press "FNV64" and Ok.
Getting The correct Rig:
After you got your file, we check in S3PE, what the RigKey is. You can see this when you click the item you want to use as a reference, and on the right preview bit, you will see it!
Mine says
: RigKey: 0x8EAF13DE-0x00000000-0xD057FCC534C1BCBB
Now, copy the Resource key, since we'll need to check the proper rig for this!
Allright! So a few things to note when looking for Rigs:
1. DON'T use the Rigs you see in FullBuild01. These are GrannyRig files, before EA changed to another rig system after Pets was installed. These will NOT work, and won't give you the result we're looking for!
Allright, with that out of the way,
we're opening "DeltaBuild0" (found in: \The Sims 3\GameData\Shared\Packages), as that's most likely where all the Rigs are. of course, if your RIG is missing from there, I would recommend checking DeltaBuild03 (01 is textures only).
As you now have the DeltaBuild0 package open, on the bottom, we click "filter active", then press the "paste RK" button and make sure you checked the "ResourceType", "ResourceGroup" and "Instance"! Otherwise it won't show your file
Getting Our Bones List, indexed:
As we click on our Rig, we see in the preview the "BoneList". It's huge! It look something like this:
Code:
--- BoneList: Bones (0x101) ---
--- Bones[000] ---
Position: { 0,0000; 0,0000; 0,0000 }
Orientation: { 0,0000; 0,0000; 0,0000; 1,0000 }
Scaling: { 1,0000; 1,0000; 1,0000 }
Name: b__ROOT__
OpposingBoneIndex: 0x00000000
ParentBoneIndex: 0xFFFFFFFF
Hash: 0xFEAE6981
Unknown2: 0x00000023
--- Bones[001] ---
Position: { 0,0000; 1,0122; 0,0000 }
Orientation: { 0,0000; 0,0000; 0,0000; 1,0000 }
Scaling: { 1,0000; 1,0000; 1,0000 }
Name: b__ROOT_bind__
OpposingBoneIndex: 0x00000001
ParentBoneIndex: 0x00000000
Hash: 0x57884BB9
Unknown2: 0x00000023
--- Bones[002] ---
Position: { 0,0000; 0,1110; 0,0000 }
Orientation: { 0,0000; 0,0000; 0,0000; 1,0000 }
Scaling: { 1,0000; 1,0000; 1,0000 }
Name: b__Pelvis__
OpposingBoneIndex: 0x00000002
ParentBoneIndex: 0x00000001
Hash: 0x556B181A
Unknown2: 0x00000023
--- Bones[003] ---
Position: { -0,0660; -0,1110; 0,0000 }
Orientation: { 0,9998; -0,0179; -0,0018; 0,0132 }
Scaling: { 1,0000; 1,0000; 1,0000 }
Name: b__R_Thigh__
OpposingBoneIndex: 0x0000001A
ParentBoneIndex: 0x00000002
Hash: 0x83B1355C
Unknown2: 0x0000003A
--- Bones[004] ---
Position: { 0,0000; 0,4840; 0,0000 }
Orientation: { 0,0403; 0,0000; 0,0000; 0,9992 }
Scaling: { 1,0000; 1,0000; 1,0000 }
Name: b__R_Calf__
OpposingBoneIndex: 0x0000001B
ParentBoneIndex: 0x00000003
Hash: 0x81B330DE
Unknown2: 0x0000003A
--- Bones[005] ---
Position: { 0,0000; 0,4190; 0,0000 }
Orientation: { 0,9995; -0,0179; -0,0011; 0,0272 }
Scaling: { 1,0000; 1,0000; 1,0000 }
Name: b__R_Foot__
OpposingBoneIndex: 0x0000001C
ParentBoneIndex: 0x00000004
Hash: 0x37BB051C
Unknown2: 0x0000003A
Etc, Etc, Etc.....
What I like to do is to select this whole BoneList, until you see the "skeletonName" and/or "IKChainList" bit.
"Erm, Lyra, This is all gibberish... could you share your rig file with you?" - And that's why I attached it! ;D As long as your RIG is supposed to be the "AuRig", then feel free to download the txt file, instead!
Editing The MaskTrackList:
And now we finally got to the part we wanted to, editing the MaskTrackList. Let's open up our new Package file with our TkMk in it
Click the TkMk > right click > Grid (found at the bottom)
Double click "ChunkEntries"> [0] ChunkEntries > RCOLBlock > TrackMasks. To make things easier, I like to click on the bit it says "Collection: 0x101) and then click the "..." button.
Now, with your AuRig Text file next to you as a refererence, we want to do the following:
1 = Influenced, Will Move
0 = No movement.
I'm not entirely sure if you can do in-between values (say: 0,5), but it wouldn't surprise me!
Deciphering which index is what bone:
Okay, now looking at my TrackMaskList, let's take [00A] as an example. On my AuRig text file, I look for the same index ([00A]), and here I'm seeing: Name: b__R_backCalfTarget_slot
The name here is actually really helpful!
Though, note, if it's offsets and they happen to be set to 1, I personally would leave them. EA probably did it for a reason, but "Slot" or "offset" bones, just keep them at 1. Those are only used for Visual effects and nothing else. So it won't break anything!
And now you have an edited TkMk file!