rickomax / psxprev

PSXPREV - Playstation (PSX) Files Previewer/Extractor

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Implement HMD animations

trigger-segfault opened this issue · comments

HMD animations are a complex data type that's defined in the first block of a file. Animations (category 3) are defined using a set of instructions (sequence descriptors) that either perform interpolation functions, jumps, or other behaviors.

Once implemented, an option needs to be added to skip parsing HMD animations, as it can take a long time to precompute all frames.

Animations: Category 3

  • Coordinates update driver
  • General vertices update driver
  • General normals update driver
  • General MIMe update driver (link to category 4 MIMe)
  • Linear interpolation
  • Bezier Curve interpolation
  • B-Spline interpolation
  • Beta-Spline interpolation

MIMe: Category 4

  • Link to category 3 animations
  • Merge multiple MIMe primitives into one animation
  • Vertex type (partial, will break when models for a primitive are split up)
  • Normal type (partial, but animator isn't able to handle two separate Vertex/Normal animations)
  • Joint Axes type
  • Joint Roll-Pitch-Yaw type (RPY)

Bezier and B-Spline curves were implemented by PR #107.