ASSIGNING ANIMATIONS

Note: Blender 2.79 and basic knowledge of the Dope Sheet and NLA menus are assumed.

Most model animations consists of three parts:
  a main animation for the armature (F Armature)
  a shape key animation for the eye meshes (F Key or F Key.001)
  a shape key animation for the face mesh (F Key or F Key.001)

In Blender, you can assign each one to its corresponding part in the Dope Sheet menu. From there, you can access the Action Editor (for armature animations) or the Shape Key Editor (for shape key animations, obviously) using the drop-down menu. Make sure you select the correct action for each part by referring to the left-hand side of the action menu. F Armature should only be assigned to armatures from the Action Editor while F Key and F Key.001 should only be assigned to meshes from the Shape Key Editor.

Blender 2.79 automatically assigns one of the animations to the model when using the built-in FBX importer (don't worry, it won't overwrite the resting pose). Before assigning a new shape key animation, check whether the left-hand side says "Key" or "Key.001" and choose an animation that matches. If no key values show up in the sheet, try choosing the other one. Just make sure you don't assign one with "F Armature" on the left-hand side.

When using the NLA editor to concatenate animations (for example, start-loop-end series), make sure the first and last frame of the animations overlap. For example, if the last frame of the first animation is 100, then the first frame of the second animation should also be 100.

"Camera_Animations.fbx" contains a simple animated armature. By attaching a camera to the "Camera_Base" bone, you can see how the "cut" animations were intended to be viewed in-game. Make sure the camera's innate position and rotation is 0 on all axes.

The camera animations correspond to the model animations with "cut" in the name. To prevent confusion with the model animations, "_camera" was placed at the end of each action name.

Any standard phone resolution should be appropriate to use for the camera. The field of view for the "cut" animations is about 18 degrees. This was estimated from KumagawaRaildex98's Spectrum Story gameplay videos on YouTube, which have a resolution of 996 x 2160.


FLIPPED QUATERNIONS IN ANIMATIONS

Note: Blender 2.79 is assumed.

All animations were processed through a Euler filter, so the vast majority of them are consistent. However, because each Euler angle can be represented by two quaternions, there is still a possibility of a bone rotating when it shouldn't. In those cases, the bone will still be at the correct angle in the keyframe, but the rotation axis will be inverted, causing the bone to rotate in the wrong direction when playing the animation. If this happens, the frame can be fixed by negating all of the quaternion components (W -> -W, -X -> X, etc.) of the bone's rotation. This can easily be done for single frames by selecting the bone in Pose mode, using the "Flip Quats" option (ALT + F) or manually changing the signs, and overwriting the current animation keyframe (I). 

Note that fixing a single frame will just move the error to the next frame, so you will need to flip the quaternions for that bone in all of the frames before or after the error.


RENDERING

Note: Blender Cycles in Blender 2.79 is assumed.

The faces of the eye models face inwards, meaning the viewer should be able to see the inside surface of the eye, but not the outside. To set up the material to be viewed as intended in Blender:
  Materials tab:
    Click the node button to use node shaders.
    Select "Z Transparency" under Render Pipeline Options.
      This is optional if you just want to display materials in the viewport without rendering them.
  Node Editor:
    Select "Mat_Eye" as the material.
    Add a Geometry Input node.
    Attach the Geometry node's Front/Back to the Output node's Alpha.

Both sets of eyes use the same material, so you only need to do this once.

