Solution
Use Vector3.Dot on the object's WorldRotation.Up vector against Vector3.Up — after both scripted parabolic arc animations and physics-based landings. Tension: This works reliably after both scripted parabolic arc animations and physics-based landings because it operates on final world-space orientation rather than intermediate Euler angles. Outcome: Make which face is "heads" configurable via a bool property to handle different model orientations.
06e1abd2-1057-4f3f-8101-2adc756d6571
Use Vector3.Dot on the object's WorldRotation.Up vector against Vector3.Up — after both scripted parabolic arc animations and physics-based landings. Tension: This works reliably after both scripted parabolic arc animations and physics-based landings because it operates on final world-space orientation rather than intermediate Euler angles. Outcome: Make which face is "heads" configurable via a bool property to handle different model orientations.