Woot woot woot! I figured out how to get blender jaw movement (talking, etc.) working in packages!The key was to get it to work beyond the original timeframe of the animation you are replacing.
The key variables in SuppressLipSync for this are
F1, Header1,
Header2 and
Timecode. Details follow.
It even worked for an animation that didn't originally have the SuppressLipSync event!Still haven't found out how to make a package from scratch that does the animation with jaw, but you can modify a package that already has the SuppressLypSync event (override one of
these).
Here's how to insert that (or any) working package into a clip pack!
Oh Joy!1) Open the
Warehouse tab of a package that has the
SuppressLipSync event:
2) In the
Data tab, click the
Edit Items... button to the right of
Events
3) In the left hand pane of resulting window, select
SuppressLipSync from the list.
4) In the right hand pane,set the parameter
F1 to the duration in seconds for the
SuppressLipSync event.
This must match how long you want your jaw animation to be enabled, typically the length of the whole animation minus the
Timecode value (typically 0).
For example I have an animation that is 91.67777 seconds long, so I set F1 to 92
5) Then, set the start time using the
Timecode value.
It is 0 in the example above, meaning start at the beginning of the animation.
IMPORTANT! If you are editing a package that doesn't have a SuppressLipSync event and you insert it as a new event (see below), then
You must set the values for Header1 and Header2. The defaults of 0 crash the game!Header1 00000001
Header2 00000100
The values above are from the
SuppressLipSync events I found so far in animations by
Maxis (e.g. react leg slap, react deep breaths).
I happened to notice that when Sims 4 Studio adds the SuppressLipSync event...
All the values are zero. So,
F1,
Header1 and
Header2 must not be zero.
Note, I didn't test F1 of zero since the Maxis animations all have a positive value for this field.
I also didn't test what happens if you set F1 to a value smaller than Timecode (i.e. stop the event before it begins :P)