You will need:
- Sonic World Release 8 or 9 (other versions will not work)
- FragMOTION 1.2.6 (any other version has a broken .b3d exporter. Link to this version will be added later)
- Any text editing software (for .xml creation)
- Any Photo editing software
- The model you need.
This tutorial will not cover rigging so i will use a pre-rigged model. You could either rip it yourself or get it from a model site.
There are only formats you can choose from for FragMOTION to import it. fbx only works if its the 2009 type, which you can convert newer ones to with an fbx converter or 3ds max. dae is a bit risky but the most reliable rigged model format is .smd . This format can hold a model, its skeleton and even animations. For this tutorial, I am using an egg-pawn model i got from models resource.
Step 2: FragMOTION
Fragmotion is an old modelling/animating software. You may be curious why use this instead of blender or another tool? Its because it is made for the old formats, like the .b3d sonic world uses, making it practically required.
So when you open up the software, after skipping the full version begging dealie, you may see something like this:
Go to File/Import then get the model you want to mod in.
Before animating, make sure the scale is right. go to file, merge, and go to the Sonic world mods/characters folder and import the height chart.
After that, click the button circled in the image to open the proper tools menu
This will open the proper tools menu, which you will NEED. First scroll to transform and choose the transform widget. Select the root bone, go to the skeleton tab and right click the bone and click the option Select Vertices assigned to branch. Then use the Translate and or Scale tools to get everything the right size.
While you are on the skeleton tab, you will need to rename bones so Sonic Worlds code can read some of them. the root, hips, spine, arms, hands, head, feet and toes are all required to have specific names (more depending on what movepool you have, in which reference -bones.txt lists) so right click each bone and rename them. For example, left upper arm is armL, head is head, etc. If there are bones without names in the txt file. They can be named whatever you like.
Scroll down to skeletal animation, open the folder and pick skeletal animation widget. Also in the animations tab above, right click then New/Animation.
Each animation is based on the moveset you want your character to have. R9 has files for mods listing what animations are needed based on new movesets, and how many frames each animation requires. You can also check the ori template to see what animations that has if you are truly stuck.
When your animation is selected you can start animating with the widget!
Step 3: The Animation Widget
Get used to this, as it isnt too similar to those in blender. The widget has an axis determiner icon, where you can click blue, red and green to lock to the x, y and z axis respectively. Below that are icons that are tools. You will use the first, second, forth and fifth for this. D
The first is for selecting bones
The second is for moving them
The forth is for rotating
and the fifth is for scaling.
The bottom of Fragmotion has a slider to show what frame you are on. Make sure you are on one and then make the initial pose for your animation! Tips may appear in a later tutorial as these are only the bare basics.
Step 4: Making the pose into an Animation
Now that your base pose is done for whatever animation you made, you gotta make it an animation, with inbetweens. This is where the keyframe editor comes in. Double click the animation name to open up the keyframe editor. Click Pose/flip current pose twice to make sure every bone has a keyframe so animation issues are less likely to occur. (make sure you are still on frame 1!)
Next go to select/select highlighted costumes and click copy. Then paste it to the last frame (usually either 9 or 17). This will make sure the animation loops seamlessly. Also paste the keyframes in between (usually either 5 or 9). This is where well make a quick in-between.
Exit out of the keyframe editor, move the slider to the frame the inbetween is and make slight alterations to the pose.
Tip!: Keep antagonistic joint movement in mind for in-betweens where one joint extends and the other contracts. This can make your inbetweens be more convincing.
Also don't make it too drastic!
It is vital to make sure you save as a .ugh file in case FragMOTION crashes.
Now all you have to do is rince and repeat for different poses like hurt, up, forward, brake, etc. Theres a few exceptions and ill cover one here: Walking/jogging/running. Non-looping animations such as attacks are simple as you dont need to make them loop so the copying first frame to last isnt needed.
Step 5: Dealing with Walk Cycles.
Like last time, repeat the steps where you make the initial pose and then loop it to the end and middle, then its all different from there. For this its highly recommended you have a walk cycle googled up.
The middle frame should not be altered as a midframe, instead you go to pose/flip current pose. This means you have a walking animation, but its a bit choppy. Add in-betweens for frames 3. 5 and 7. then copy/paste them and flip them too.
Step 6: Materials
Once youve rinced and repeated and added every animation, you'd need to alter the materials. I'll cover this properly in a later tutorial.
First go to files/ import file schema / Merge .b3d schema before going to the models tab and selecting a material. Make sure each materials glossiness is set to zero.
If the enemy is metallic, you can use envmaps, which will be saved for a later tutorial. After that, its pretty much done. Now onto folders.
Step 7: The mod folder
Go to mods/characters and copy/paste ori 1's folder and rename it with the mod character. Go into that copied folder and the model subfolder. Delete all the files and copy the models textures into the folder. If you want unique icons, you can change them in the interface folder. Jump sound and gallery music is stored in sound, which are .ogg files. In Frag, export the entire thing (make sure you delete the heightchart) as a .b3d file. Now all we need to do is .xml stuff
Step 8 - .xml editing
So in the character folder, there is a Character.xml. This controls all of the main mechanics of the mods. rgb values for its name, lives, etc. It also contains the skilltype which makes the mod play like a certain character. It corresponds to a number, which can be tracked in reference -chars.txt . Open it up in a text editor. It should look something like this:
change character model to the b3d you exported and smodel too. If you have a seperate b3d for a superform, put it over the smodel. also add the name, bio, etc here. drown seconds shows how long you can breathe for, and can be infinite if set to -1.
After finishing your changes, check the spelling for errors then save. Next add the mod to the characters.xml
Save your changes and launch the game. Make sure mods is turned on in the options and all spellings are correct. You should have a functional mod. Some things may need to be polished, like scaling, animations and materials, but thats all easy once you learn how to use FragMOTION. I hope this helped.