Kitty Corp Meow Mix Forums

Super Smash Bros. 4 Hacking => Smash 4 (Wii U) Hacking => Topic started by: KingJigglypuff on September 29, 2016, 08:07:23 PM



Title: [A][Expert][Tutorial] How to Port Brawl Animations onto Sm4sh Skeletons Properly
Post by: KingJigglypuff on September 29, 2016, 08:07:23 PM
The time has come, the time is now. Get ready to port Brawl animations into Sm4sh properly.

About: What this tutorial aims to do is teach people how to get an animation from Super Smash Bros. Brawl working on a Super Smash Bros. for Wii U model.

[NOTICE] This tutorial is highly not recommended for those who don't know their way around Autodesk 3DS Max and Autodesk Maya. I won't teach you how to use these programs.

Requirements:
-BrawlBox (Recommended at least v0.71 and up).
-Autodesk 3DS Max (Recommended at least 2012 and up).
-Autodesk Maya (Recommended at least 2012 and up).
-Brawl model + animation file (FitFighter0X.pac and FitFighterMotionEtc.pac).
-Sm4sh model (model.nud + model.vbn).
-Notepad++ or any other text editing program.
-PACK Manager (included with zip file).
-3DS Max Script for importing the Sm4sh model [SSB4U_NDP3_Debug_Mod.ms (included with zip file)].
-Maya Script for bone constraining [HierarchyConstrain_Good_Brawl2Sm4sh.py (included with zip file)].
-BrawlBox 2 Maya (included with zip file).

Zip File in Question: http://www.mediafire.com/file/221eoe86z2ttihd/Brawl_2_Sm4sh_Animation_Pack.zip (http://www.mediafire.com/file/221eoe86z2ttihd/Brawl_2_Sm4sh_Animation_Pack.zip)

Restrictions:
-Bone scaling in the animation must be unified (X, Y, and Z scaling must all be the same).
-Bones must match up to each other before running the script.
-Bones must have the same rotation orders and axes.

Credits:
TheShyGuy: For creating the original Maya script [its original intention was to port Sm4sh animations onto Brawl skeletons (the included script just swaps Brawl and Sm4sh)].
RandomTalkingBush: For creating the 3DS Max script.
Dantarion: For creating BrawlBox 2 Maya.

This tutorial will be split up into 3 parts. Brawl exporting with BrawlBox 2 Maya, Sm4sh importing/exporting, and Maya usage.

Part 1: Brawl exporting.

Note: Make sure the two Brawl files are in the same folder.
1a.) Bone renaming.
Open your FitFighter0X.pac with BrawlBox, and rename the bones to match their Sm4sh counterparts (click on a bone, right click, and click on Rename). This will require you to know the names of the bones the Sm4sh counterpart's skeleton uses. Export the model as DAE (right click on the MDL0, and click on Export), Save, and close BrawlBox after you're done renaming.

Note: Start by renaming XRotN to RotN. To save you some time, I've made a list of what you should name certain bones to, not including unique bones, like wings, tails, etc).

Note: Make sure to have two different FitFighter0X.pac files, one with renamed bones, and one without. This will be important later on.

Image Example for BrawlBox bone renaming:  http://i.imgur.com/4Jbl4Zh.png (http://i.imgur.com/4Jbl4Zh.png)

Bone Name List (Brawl -> Sm4sh):
XRotN -> RotN
L1stNa -> LIndex1N
L1stNb -> LIndex2N
L2ndNa -> LMiddle1N
L2ndNb -> LMiddle2N
L3rdNa -> LRing1N
L3rdNb -> LRing2N
L4thNa -> LPinkyN
L4thNb -> LPinky2N
LThumbNa -> LThumb1N
LThumbNb -> LThumb2N
R1stNa -> RIndex1N
R1stNb -> RIndex2N
R2ndNa -> RMiddle1N
R2ndNb -> RMiddle2N
R3rdNa -> RRing1N
R3rdNb -> RRing2N
R4thNa -> RPinkyN
R4thNb -> RPinky2N
RThumbNa -> RThumb1N
RThumbNb -> RThumb2N

1b.) BrawlBox 2 Maya usage.
Open the "run_Edit this to use your directories.bat" file in any text editor, and edit the directories in the file to where your directories are for your FitFigher0X.pac (make sure it's the one without renamed bones) and your FitFighterMotionEtc.pac. Save, and run the bat file. A folder will be created inside the BrawlBox2Maya directory with the file name of the Brawl character you exported from (Example: FitPit00). This folder will contain many files. The only files you need is the FitFighter0X.DAE, and the ANIM file of the animation you want to port.
BAT File Editing Example: http://i.imgur.com/uAtkfuT.png (http://i.imgur.com/uAtkfuT.png)

1c.) Renaming entries in the exported .anim file(s).

Note: Apparently you don't need to rename the animation entries, as it appears the bone entries are index-dependent, rather than name-dependent, but I'll keep this part of the tutorial just in case.
Open the .anim file(s) you want to port in your text editor, and rename every instance of old bone names to their updated counterparts (Ex: rename every instance of L1stNa to LIndex1N). Save when you're done.)
Renaming Example (Notepad++): http://i.imgur.com/NphXAmW.png (http://i.imgur.com/NphXAmW.png)

Part 2: Sm4sh importing/exporting.
Open 3DS Max, and run "SSB4U_NDP3_Debug_Mod.ms" (MAXScript > Run Script). Make sure your Sm4sh character's model.nud and model.vbn files are in the same folder. Use the script to import the model.nud

Once the model's imported, select every bone (press the h key to open the Select from Scene window), and make sure only bones are selected), and use the Rename function (Tools > Rename Objects) to add the prefix "Sm4sh_" to the bone names.

Image of selecting bones from the Select from Scene Window: http://i.imgur.com/K9hfZ7U.png (http://i.imgur.com/K9hfZ7U.png)

Image of what the Rename Objects settings should be: http://imgur.com/IKZ9eOM (http://imgur.com/IKZ9eOM)

After your model is imported, and your bones are renamed, export as either FBX or DAE. You can close 3DS Max after.
My FBX Export Settings: http://i.imgur.com/kWRqrN1.png (http://i.imgur.com/kWRqrN1.png)
My DAE Export Settings: http://i.imgur.com/JujPoWj.png (http://i.imgur.com/JujPoWj.png)

Part 3: Maya usage.

Note: Make sure the .anim plugin is loaded. You can do this by going to Settings/Preferences > Plug-in Manager, and making sure the animImportExport.mll plug-in is set to both load and auto-load. Refresh the scene afterward.
Plugins Window: http://i.imgur.com/MOpTQv0.png (http://i.imgur.com/MOpTQv0.png)

Note 2: Make sure your Maya scene is configured to run at 60 FPS. You can do this by going to Window > Settings/Preferences > Preferences > Settings, and changing Time to NTSC Field (60 FPS). Save the options. Once saved, you'll see the Frame number set to 2.50 on the bottom left, change this to 1.
Settings Prefrences Window: http://i.imgur.com/ndt4jra.png (http://i.imgur.com/ndt4jra.png)
How the scene should look after configuring: http://i.imgur.com/A1MdHid.png (http://i.imgur.com/A1MdHid.png)

3a.) Importing models.
Import both the Brawl DAE (exported from BrawlBox) and Sm4sh DAE/FBX. Make sure the scaling of their root bones are 1, and are facing upright. If they're not, then you should be able to manually fix this by opening the Outlier window (Window > Outlier), selecting the root bone of the improper model (TransN for Sm4sh, and TopN for Brawl), and making the needed changes.
Importing the Sm4sh model (FBX): http://i.imgur.com/CzUyexC.png (http://i.imgur.com/CzUyexC.png)
Importing the Brawl model (DAE): http://i.imgur.com/mtT6s1L.png (http://i.imgur.com/mtT6s1L.png)
Sm4sh model size and rotation fixing (Before): http://i.imgur.com/z8ifvHX.png (http://i.imgur.com/z8ifvHX.png)
Sm4sh model size and rotation fixing (After): http://i.imgur.com/L3B1X4V.png (http://i.imgur.com/L3B1X4V.png)

3b.) Constraining the skeletons.
Open the Script Editor window (icon in the very bottom right of the Maya window), and change the script format from MEL to Python. Load "HierarchyConstrain_Good_Brawl2Sm4sh.py" (File > Load Script), and select the root bones of the Brawl and Sm4sh skeletons with the Outlier (in this case, the bones would be TopN, and Sm4sh_TransN). Run the script (click the singular blue arrow icon in the top right of the Script Editor window).
Maya Script Window: http://i.imgur.com/x9cEC78.png (http://i.imgur.com/x9cEC78.png)

3c.) Importing the animation.
Make sure every single Brawl bone is selected. You can do this by selecting the TopN bone, and going to Edit > Select Hierarchy. Now import the .anim file you edited from step 1 (File > Import). Play the animation to make sure both models animate correctly.
Importing the animation (ANIM): http://i.imgur.com/TroY39m.png (http://i.imgur.com/TroY39m.png)

Note: If the animation is shorter/longer than 60 Frames, you'll need to decrease/increase the Frame count of the timeline to allow the full playthrough of the animation. You can do this by increasing the first 60 value on the bottom right to the amount of Frames your animation has.
Example (Before): http://i.imgur.com/HQQoMwS.png (http://i.imgur.com/HQQoMwS.png)
Example (After): http://i.imgur.com/siR2aUU.png (http://i.imgur.com/siR2aUU.png)

3d.) Baking the animation.
Next, you need to bake the animation. Since the Sm4sh animation format allegedly doesn't use keyframes, you should be able to just bake everything, so select every single relevant Sm4sh bone (i.e.: Any bone that has animation.), and go to Edit > Keys > Bake Simulation, but don't click on it. Instead, click on the box next to it. When the Bake Simulation Options window pops up, make sure your settings match what's in this image: http://imgur.com/Ej0TP1i. (http://imgur.com/Ej0TP1i.) Click Bake afterward, and wait as Maya bakes your animation.

3e.) Bone renaming and the final .anim export.
Click on the Brawl root bone (TopN), and give its Hierarchy a prefix. You can do this by going to Modify > Prefix Heirarchy Names, and using any prefix (this is to prevent name conflicts when removing the prefix from the Sm4sh bones.

Next, go to Modify > Search and Replace Names, and make sure the settings match this image: http://imgur.com/ovL1ISI (http://imgur.com/ovL1ISI) (make sure "Replace with:" has just a space in it). Click Apply.

Once that's done, you can finish this tutorial by selecting every Sm4sh bone, and exporting the selected objects (File > Export Selected) as .anim (animExport).
Exporting the animation (ANIM): http://i.imgur.com/vdX9EJp.png (http://i.imgur.com/vdX9EJp.png)

Congratulations. You now have your Brawl animation ported over your Sm4sh skeletion for preperation of animation modding in Sm4sh.
Completed Example: https://gfycat.com/NeglectedImmenseGopher (https://gfycat.com/NeglectedImmenseGopher)

If you run into any issues, go back to the step you're stuck on, and make sure to read everything and repeat previous steps if need be. If you still can't figure it out, or are just getting it wrong, don't hesitate to post for help.igure it out, or are just getting it wrong, don't hesitate to post for help.


Title: Re: [A][Expert][Tutorial] How to Port Brawl Animations onto Sm4sh Skeletons Properly
Post by: Ӄit ßallarɖ on October 07, 2016, 09:04:00 PM
How interesting.


Title: Re: [A][Expert][Tutorial] How to Port Brawl Animations onto Sm4sh Skeletons Properly
Post by: Don Jon Bravo on October 08, 2016, 07:45:22 PM
so
is it even possible to port complete characters to sm4sh without having to re rig?


Title: Re: [A][Expert][Tutorial] How to Port Brawl Animations onto Sm4sh Skeletons Properly
Post by: KingJigglypuff on October 08, 2016, 07:49:26 PM
It depends, really. We currently can't edit Specials, and even if we could, I don't see us being able to port Brawl Specials over into Sm4sh (Ex: Brawl Pit Side Special over Sm4sh Pit Side Special).


Title: Re: [A][Expert][Tutorial] How to Port Brawl Animations onto Sm4sh Skeletons Properly
Post by: NinXDani on July 14, 2020, 02:24:09 AM
Hi, after I import the animation in maya it goes like twice as fast and T poses in Smash Forge