Morphin
Overview
Morphin is a new rigging and animation app for ipad. It's early days, but showing lots of promise.
Get it on the app store: https://apps.apple.com/app/morphinapp/id6642651792
Join the discord: https://discord.com/invite/X4J888k5
There's a few issues and missing things, but the dev is working hard, I'm sure they'll get resolved soon.
The workflow is relatively straightforward if you've used other animation packages, especially Blender. If you've never touched animation before, well, trust me in that Morphin is about as simple as it gets. Animation is hard.
Anyway, the workflow is basically this:
- Import a glb model (reasonable polycount please, aim for under 10,000, the less the better). This can have textures, vertex colours, morph targets (aka blendshapes in Maya, or layers in Nomad that are only sculpting changes)
- Create a rig, then create a hierarchy of bones within that rig that fit your model.
- Bind the model to the mesh, which assigns how much each part of your mesh should move with each bone
- Apply paint corrections to these weights, the binding process often misunderstands complex joints like the shoulders or hips
- Create inverse kinematic (IK) controls so that it is easier to move feet and hands independent of the body.
- Create anim clips to represent layers of animation.
- Keyframe or motion record animation.
- Bake animation down into per-frame keys if exporting elsewhere
- Export a glb to use in a web threejs player, or to a game engine like Godot.
I go through all these steps in several video tutorials I've recorded, linked below.
Known issues
I use Morphin almost exclusively with Nomad, so lots of these issues will be related to that Nomad <-> Morphin interchange.
- Delete Facegroups. Facegroups seem to be misinterpreted by Morphin, and will either break blendshapes, or split a single mesh into separate meshes for each facegroup. Just delete them, you don't need them in Morphin.
- Pivots aren't stored. Generally not a huge problem, as you'll be using bones to move things anyway.
- Overexposed lighting. The default lighting setup in Morphin is always too bright for Nomad models, I usually pull the exposure down to 0.5
- Groundplane misalignment. For some reason the ground plane in Morphin doesn't match up with Nomad, its a few units lower.
- Undo is a bit buggy. Not every action can be undone, so be a little careful, save regularly.
- No graph editor. For me this is the biggest missing feature, bezier keyframes and a graph editor are so core to animating in 3d. Hopefully it'll arrive soon!
- Triangles only. Morphin will triangulate all models on import. Morphin is built on the ThreeJS library, which in turn is heavily based on the GLTF/GLB 3D file format, both assume for triangles only. There's unofficial extensions to support quads and ngons (Nomad uses this), but it's not in Morphin atm.
Tutorials
I'm making them as fast as I can, if you've used Blender rigging it's pretty similar.
- Baking animation - animation clips can be combined and baked down, this includes IK.
- Talking trashcan - walkthrough of rigging and animating a googly eyed trashcan, using the motion recorder.
- Dancing tv - Tutorial of how to do layered motion recording to make a tv dance.
- Inverse kinematics in v1.7 - Quick tutorial showing how to setup IK and pole vectors.
- Motion recording - Quick tutorial on motion recording.
- Exercising frog - Early tutorial I made showing how to prep a character in Nomad, import to Morphin, rig and animate it.
Tips
Rigging
- When you unbind, Morphin will store the weights on the mesh, very handy if you need to adjust the skeleton, then rebind.
- Parenting doesn't work well with gltf, so the bind menu gives an option to parent an entire mesh to the selected bone, effectively a parenting operation.
- To smooth skinning, I tend to use the add brush with a value of 0.1, and slowly increase weight. Where possible I'll use the linear or radial gradient tools too.
- If you need update the bind pose, press the bind button again from the bind menu. This is especially useful for Inverse Kinematics; the auto pole vector will be placed at the knee joint, often quite large, and will make the leg flip easily. You can make the pole vector joint smaller and move it more in front of the knee, press the bind button, the updated position is now used as the default bind pose.
Animating
- Use the countdown timer to give you self a pause before motion recording (its in the advanced menu)
- Also when recording, it can be handy to record at a slower multiplier, say 0.5, then speed it back up when you're done.
- Make use of multiple anim clips to organise your keyframes.
- When recording fast rotation, try using a higher sampling rate in the advanced menu.