Description
Entity OBJMC models have two related autorotate inconsistencies:
- At vertical pitch, the facing vector has no horizontal projection. Deriving yaw only from
facing.xz therefore produces atan(0, 0), making horizontal rotation snap to zero when looking straight up or down.
- The autorotate branch multiplies decoded positions by the carrier quad scale, while autorotate
off does not. The same OBJ is rendered at different sizes depending on the autorotate mode.
Reproduction
- Generate the same OBJ with autorotate modes
off, yaw, pitch, and both.
- Render the models as entities or equip them in the head slot using identical item model geometry.
- Compare
off with an enabled autorotate mode: their sizes differ.
- Look straight up or down, then rotate horizontally: yaw-enabled models snap toward yaw zero.
Expected behavior
- All autorotate modes use the same carrier scale.
- Yaw remains continuous at vertical pitch by using the carrier quad orientation when the facing projection is degenerate.
Environment
- Minecraft Java 1.21.11
- Windows 11
- Vanilla core shader path (Fabric present, no shader mod involved)
A fix and regression tests are being added to #117.
Description
Entity OBJMC models have two related autorotate inconsistencies:
facing.xztherefore producesatan(0, 0), making horizontal rotation snap to zero when looking straight up or down.offdoes not. The same OBJ is rendered at different sizes depending on the autorotate mode.Reproduction
off,yaw,pitch, andboth.offwith an enabled autorotate mode: their sizes differ.Expected behavior
Environment
A fix and regression tests are being added to #117.