Modding Rundown: Animations

Started by thetommyboy2002, March 10, 2007, 11:21AM

Previous topic - Next topic
Mama mia, thanks. XD
Call me Lars. I'm Power Cosmic no more.

"Trying to solve mysteries of modding here"

My Progress:
http://marvelmods.com/forum/index.php/topic,4671.0.html

Feel free to mod my releases, as long you credit me:
http://marvelmods.com/forum/index.php/topic,4488.0.html

Quote from: andersonbrazil on February 24, 2019, 12:30PM
Amazing!
I'll try this when I have time.
The Alchemy 5 pack, for me here, works only in the max 8 version. I would like to use it in max 2010, however when I instal the alchemy 5, it only recognizes the max 8. Anyone have any idea how to solve this?

You have to install it your self.

First install A5
Then install the plugin by find where you but A C:\ most likely and then find export files and max scripts read the README files to find out where to place the plugin.

February 25, 2019, 10:56PM #122 Last Edit: February 26, 2019, 04:27AM by Teancum
I’m sure the chances are minimal, but how possible is it for this to work with X-Men Legends II?

--See last page (Teancum)

April 07, 2019, 03:51AM #123 Last Edit: August 21, 2019, 03:13PM by UltraMegaMagnus
Edit, BIP01 mustb e placed at Z 41.89 and foot bone touching ground.

Just wanted to share some info discovered with the precious help of Nikita488, Andersonbrazil & KingAdam about 3DS MAX 2010 & Alchemy 5 :

- For anyone making animation, always have the mesh & the biped bone facing you in the "Right View in viewport", because if you put the mesh+bones facing another direction, the animation won't face you in game.
Do this for converted skin just in case.

- We can't move igactor with 3DS MAX 2010 & Alchemy 5, igactor should be at xyz:000 to avoid jump issue I think, igactor automatically set to to pivot point of mesh I think, so if you put a pivot point for ALL mesh AND BEFORE USING SKIN MODIFIER to xyz:000, igactor should automatically set to the same location.
Never set pivot point after using skin modifier, or the model will be screwed in game.
I recommend doing this for the model you will use to create animation just in case.

- Don't use physique for converted model, because the model will start at bip01 after export, cutting in half the model in game.
Use only skin modifier, add all bones and you are set.

- Always tick in the exporter "merge skin" option, if you don't the model will be cut in half, I don't remember exactly what Nikita488 said about that, it is to make only one actor, instead of having actor for all mesh in the scene.

- If you imported a max file from 3DS MAX 4 or 5, I recommend deleting skin modifier and re-using skin from 3DS MAX 2010 to avoid potential issue.

- Don't use iglod in export dialog, even if the dialog looks like the igactor dialog from old Alchemy, it is not and will probably causes issues.
When exporting, the only setting you really need is the backface culling & merge tick option, no need to create a selection with the mesh like with old Alchemy.

- Don't need to color swap textures

June 01, 2020, 12:04PM #124 Last Edit: June 01, 2020, 12:20PM by defogexa
Quote from: nikita488 on February 24, 2019, 10:18AM
Now it's possible to combine animations in one animation database after Alchemy 5 Kit was leaked.
Download and install Alchemy 5 kit from here

How to do that:
1. Export your actor in T-Pose as IGB file (for example actor.igb)
2. Animate your actor and export as IGB file (for example menu_action.igb)
3. Repeat Second step for all of your animations.
4. Open IGB file with animation in sgFinalizer and navigate to igAnimationDatabase->_animationList->igAnimation
5. Click RMB->Edit object fields and change Object name from "defaultAnimation" to something that MUA will understand (for example "menu_action")
6. Save file
7. Repeat 4-6 steps for every animation
8. Download Combiner scripts and unpack somewhere.
9. Change combine.txt file (i provided example in archive, too lazy to explain it right now, but you should pretty much understand how to edit it).
10. Run combine.bat file. You just created animation database that can be used in MUA.
Don't forget to change IGB version of this file via Hex Editor (Go to offset 2C, change from 09 to 08 and save).

Sorry for necroing, but nikita488's combiner and Alchemy 5 (I haven't tried it with other versions) are usable as an extractor to pluck individual animations out of any animation set (not just 3), rename them however you want, and mix them together back into a single clean animation set.

Hopefully it works for everyone else, but I've been able to pull from basically any .igb in the Actors folder, including npc's. The basic character .igb, combat, fightstyles, interacts, you name it, and it also works with XML2 animations. Besides tweaking animation sets to suit my preferences, I've also been using this for general housekeeping in my mods, since this removes the need to juggle animation names around the hex length.

You can download what I've been using here.
The batch files are still nikita488's, just one renamed for clarity. And all I added to the scripts is pre-populated them with a set of common animations for convenience, added removal lines during extraction to fix bugs related to animations stacking within each other, and included fighter_default so the animations properly inherit the motion bone.

To Extract:

  • Copy the extract.bat and extract.txt into a folder that has a copy of the animation set you want to pull from.
  • Edit extract.txt:
    a. On the second line after load_actor, change "XX_character_4_combat.igb" to the name of the donor animation set.
    b. Don't touch the skeleton line, but follow the format to add or remove any lines for the animations you want/don't want.(Note: 3 lines for each animation.)
    *You can drag the animation set into Alchemy Finalizer to check the names of the animations inside.
    *On the first line, it's not necessary to edit the name next to "create_animation_database," but it will be visible inside of Finalizer, so you can for extra clarity.
  • Save the text file and run the extract.bat file. (Keep an eye on the command box as it runs, it will state any errors such as a missing file.)

To Combine:

  • Copy fightstyle_default.igb, combine.bat, combine.txt, and the individual animation files you want into a folder for your custom animation set.
  • Rename them as the animations you want them to be recognized as. (When you rename, be sure it's accounted for in the data\shared_anims.engb. For example, by default there's no power_5_loop. May be possible to add it to shared_anims, but then you'd need to include it when sending to others.)
  • Edit combine.txt:
    a. Don't touch the skeleton line, but follow the format to add or remove any lines for the animations you want/don't want. (Note: 2 lines for each animation.)
    b. On the last line, save "XX_character_4_combat.igb" as the name of your custom animation set.
    *Again, editing the first line after "create_animation_database" is mainly for internal consistency.
  • Save the text file and run the combine.bat file. (Keep an eye on the command box as it runs, it will state any errors such as a missing file.)
  • Open the custom animation set in a hex editor, go to offset 2C, change 09 to 08 and save.
It is now ready to be copied into the Actors folder.

For future consideration, I'd like to streamline the scripts, or maybe someone who actually knows programming can help. They're very inelegant since I brute-forced my way through this. (A couple things I've tried: Animation Producer will happily "extract" non-existing animations, and some animations have a file size as small as an empty animation.)

Maybe with more experiments with Animation Producer's commands (I haven't been able to use many with success), we might be able to extract animations such that they can be easily previewed in the Alchemy Viewer, or convert them to other forms (I've been trying .fbx) usable in modeling programs for splicing/editing.

I kinda feel like this thread should be exploding with interest. Did something not work?

This has mostly been discussed on our Discord server. I highly recommend joining that to stay up to date on discussions.

As for actual implementations, not many mods have used this method yet. Most people are accustomed to using existing animation sets, especially since mixing animation sets is a bit more technical. Ultra's Batman Beyond is the only mod I know that's used it at all

February 01, 2021, 12:53PM #127 Last Edit: February 12, 2021, 05:02AM by ak2yny
Quote from: BaconWizard17 on August 31, 2020, 01:35PM
This has mostly been discussed on our Discord server. I highly recommend joining that to stay up to date on discussions.

As for actual implementations, not many mods have used this method yet. Most people are accustomed to using existing animation sets, especially since mixing animation sets is a bit more technical. Ultra's Batman Beyond is the only mod I know that's used it at all

It's been published at Discord already - there's important knowledge and new tools about animations.

In an effort to remove the need of expert knowledge from animation mixing, I created, with the help of several other modders, an easy to use version of the extract and combine tool.
Credits for it go to:
- Vicarious Visions for the creation of the tool.
- KingAdam85 for the discovery of Alchemy 5, which includes the tool.
- nikita488 for discovering the tool itself, plus it's functionality.
- defogexa for creating the first batch tools and making animation mixing possible for us.

Update: The functions of "_extractOnly.bat" have been included in "_extract.bat". The former has been removed.

Animation mixing is now as easy as 1, 2, 3, i.e. extract, mix, combine:
1) Copy animation sets into a folder with "_extract.bat" and "_animations.txt" and execute the bat. (extracts all igb's in the folder)
2) Mix animations by moving and renaming the extracted igb's.
3) Copy the moved and renamed igb's into a folder with "_combine.bat" and "_fightstyle_default" and execute the bat. (combines all igb's in the folder)

More information can be found in the ReadMe. You don't have do deal with any "combine.txt" or "extract.txt" anymore. The tools are still compatible with old and custom "combine.txt" and "extract.txt" though.

I hope that modders start using it, especially since we have more modders among us who know how to export custom animations. A detailed tutorial about that is on the way as well. Meanwhile, we can learn from UltraMegaMagnus' great video tutorials how to import animations from fbx and how to export animations to igb.
We can also learn from the great pioneers in animation modding, thetommyboy2002 and BLaw, how to set up our Alchemy exporter in 3dsMax 5 for exporting animations:
Quote from: thetommyboy2002 on September 27, 2012, 12:13PM
Right, in order to ensure I don't need to experiment next time I come back in 3 years, heres some step by step with pics type instructions:
Their efforts were crucial for discoveries about custom animations, but because Alchemy 2.5 was not able to mix/combine animations, nobody ever really started to export custom animations back then.




Some more knowledge about animations:

I realized that something important is missing (even missing in Outsider's guide): Animation names to be used in powerstyles. Those are not equal to animation names in the files or even animation names with "ea" prefixes. The powerstyle names can be found in shared_anims and there you can see what names in the files equal what names in the powerstyles.
This spreadsheet aims to help finding the right names for powerstyles and animation sets repectively.
I am guessing (am not certain yet) that there are internal animations (in the exe) and external animations, hence the "ea" prefixes. It could refer to actual animations, or just animation names, since there are a few animation names that aren't in any powerstyles, fightstyles or shared databases (menu_kowned is such an exaple). Internal animations don't have a powerstyle name or such, but use the file animation names directly.
We can't add any custom animation names to those: We're limited to the internal animations (presumeably all found in the exe, when searched with a hex-editor), and external animations, which can be found in data/shared_anims.xmlb. (Thanks to MrKablamm0fish for testing this).

One important note from Outsider's guide:
Quote from: Outsider on September 16, 2019, 08:55PM
[...] don't pick a female animation [...] if your character is male [...]




Quote from: nikita488 on February 24, 2019, 12:46PM
I can't test this right now, but i'm pretty sure if we change IGB Version via Hex Editor to the one that XML2 use, it will work.

Custom animations definitely don't work on XML2. Thank you for testing, Fr3ddy.
How it has been tested: Use XML2 animaion sets only; use an XML2 animation set to replace "_fightstyle_default" when combining; Change offset 2C to 06 (04 has been tested as well).

I don't believe it will work to use these animations on XML2. A lot changed between the engine used for XML2 and the engine used for MUA1.

Quote from: BaconWizard17 on February 02, 2021, 02:15PM
I don't believe it will work to use these animations on XML2. A lot changed between the engine used for XML2 and the engine used for MUA1.

You are right. Fr3ddy tested it and it's definitely not working. I updated the post.