How to use a different pose in selection screen
Mar 24, 2016 16:31:52 GMT
redsco and I k k i like this
Post by eternity on Mar 24, 2016 16:31:52 GMT
This tutorial will teach you how to use a different pose for your character, in the selection screen. The tutorial is mainly for modders that want to use a different pose for their characters, but it can be used by anyone, no technical knowledge of any kind is needed.
Tools needed: emotool3 0.4 or greater, only to display information about an .ema.
How to set the animation used
Well, let's begin by explaining what the pose in the selection is: it is an animation. And where do animations go? Animations go in .ema files. Each .ema file is a collection of several animations.
So the pose in the selection screen is a specific animation of a specific .ema.
The specific .ema is the value <MENU in the <ModelSpec>.
The specific animation in the .ema that plays is given by the value U_28 in the <ModelPosEntry> (Note: the name U_28 will be replaced in the future for a more meaningful name, but the name U_28 will always be accesible because of compatibility reasons)
The value U_28 is just the id of the animation within the .ema. In vanilla characters, you will see that it is always 0x0, because it always play the first animation in the XXX.menu.ema file.
But in our case, we are not limited to neither the .menu.ema, not to the first animation. We can choose any .ema, and any animation. We could even use .ema from other characters (they aren't always compatible but lot of times they are). Each character has a lot of .ema files in its directory. There are these "EVE" .ema files, which are used by story mode. There are several .dem.ema files. Tons of .ema files, and each one has several animations.
Thing is we have a lot of animations to our dispossal. Of course, not all of them fit. You can use any animation, but if you want to be consistent with the game, you should seek a cyclical animation, this is, an animation that returns to the original position at the end, since this animation plays indefinitely (think of Seiya breathe animation in the selection screen, for example)
To have a list of id's of animations in an .ema file, drag and drop an .ema file to show_anims_info in emotool3. All those id, are the things you can put in U_28.
Previewing an animation
Unfortunately, the options to preview an animation are currently very poor.
The obvious choice is to preview the animation file using the game itself. You could edit the files cmn_model_spec.cms.xml and CharacterSelectPosition.csp.xml directly while doing the tests, since that would take you less time than creating a .ssz every time, but every change in those files will require you to restart the game to see the changes, so it is still slow for testing a lot of animations.
The other choice is to use piecemontee sf4 explorer. It can display animations. However, the animations display using a skeleton, not with a character model. You may be unable to recognize an animation this way.
Adjusting x, y, z position
You can adjust the x, y, z position of the animation, if it shows in a weird position. Only use this when really needed, lot of times you won't need to change this.
In <ModelPosEntry>, check this values:
<F_08, <F_0C, and <F_10 -> These are the x, y, z values for the left character.
<F_18, <F_1C and <F_20 -> These are the x, y, z values for the right character.
(just like before, these names will change in a future version of ss mods installer, but these names will still be available)
Where x is "left, right", y is "front, back" and z is "up, down". You will notice that y,z are same in left character than in right character, that's obvious. You should always have them be the same.
Play with the values until they are adjusted properly. Don't forget to check both, left and right character.
To rotate character (thanks to miha for finding it out):
<U_14: rotate left character. High values rotate to left, low values rotate to right.
<U_24: rotate right character. Just like above.
Example
As an example, I will use the "Athena with arms extended as in Asgard", that I've used in the Athena normal clothes without shield mod.
After testing a lot of possibilities, I found out that animation in the file ATN_EVE.ema, which is a file used in the story mode.
The animation itself was the animation called ATN_EVE_70, which has an id of 0x4.
So, to put this animation as pose for the character, this had to be done in ModelSpec:
<MENU value="../ATN/ATN_EVE.ema" />
And this, in ModelPosEntry:
<U_28 value="0x4" />
No need of x, y, z position change was needed for this case.
Tools needed: emotool3 0.4 or greater, only to display information about an .ema.
How to set the animation used
Well, let's begin by explaining what the pose in the selection is: it is an animation. And where do animations go? Animations go in .ema files. Each .ema file is a collection of several animations.
So the pose in the selection screen is a specific animation of a specific .ema.
The specific .ema is the value <MENU in the <ModelSpec>.
The specific animation in the .ema that plays is given by the value U_28 in the <ModelPosEntry> (Note: the name U_28 will be replaced in the future for a more meaningful name, but the name U_28 will always be accesible because of compatibility reasons)
The value U_28 is just the id of the animation within the .ema. In vanilla characters, you will see that it is always 0x0, because it always play the first animation in the XXX.menu.ema file.
But in our case, we are not limited to neither the .menu.ema, not to the first animation. We can choose any .ema, and any animation. We could even use .ema from other characters (they aren't always compatible but lot of times they are). Each character has a lot of .ema files in its directory. There are these "EVE" .ema files, which are used by story mode. There are several .dem.ema files. Tons of .ema files, and each one has several animations.
Thing is we have a lot of animations to our dispossal. Of course, not all of them fit. You can use any animation, but if you want to be consistent with the game, you should seek a cyclical animation, this is, an animation that returns to the original position at the end, since this animation plays indefinitely (think of Seiya breathe animation in the selection screen, for example)
To have a list of id's of animations in an .ema file, drag and drop an .ema file to show_anims_info in emotool3. All those id, are the things you can put in U_28.
Previewing an animation
Unfortunately, the options to preview an animation are currently very poor.
The obvious choice is to preview the animation file using the game itself. You could edit the files cmn_model_spec.cms.xml and CharacterSelectPosition.csp.xml directly while doing the tests, since that would take you less time than creating a .ssz every time, but every change in those files will require you to restart the game to see the changes, so it is still slow for testing a lot of animations.
The other choice is to use piecemontee sf4 explorer. It can display animations. However, the animations display using a skeleton, not with a character model. You may be unable to recognize an animation this way.
Adjusting x, y, z position
You can adjust the x, y, z position of the animation, if it shows in a weird position. Only use this when really needed, lot of times you won't need to change this.
In <ModelPosEntry>, check this values:
<F_08, <F_0C, and <F_10 -> These are the x, y, z values for the left character.
<F_18, <F_1C and <F_20 -> These are the x, y, z values for the right character.
(just like before, these names will change in a future version of ss mods installer, but these names will still be available)
Where x is "left, right", y is "front, back" and z is "up, down". You will notice that y,z are same in left character than in right character, that's obvious. You should always have them be the same.
Play with the values until they are adjusted properly. Don't forget to check both, left and right character.
To rotate character (thanks to miha for finding it out):
<U_14: rotate left character. High values rotate to left, low values rotate to right.
<U_24: rotate right character. Just like above.
Example
As an example, I will use the "Athena with arms extended as in Asgard", that I've used in the Athena normal clothes without shield mod.
After testing a lot of possibilities, I found out that animation in the file ATN_EVE.ema, which is a file used in the story mode.
The animation itself was the animation called ATN_EVE_70, which has an id of 0x4.
So, to put this animation as pose for the character, this had to be done in ModelSpec:
<MENU value="../ATN/ATN_EVE.ema" />
And this, in ModelPosEntry:
<U_28 value="0x4" />
No need of x, y, z position change was needed for this case.