MONKEY (skybox): pose captures at t = 0, higher Hyjal viewpoint

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
pkuzic
2026-09-25 16:39:11 +01:00
co-authored by Claude Opus 5.5
parent 7469caa289
commit c97ecc1123
2 changed files with 7 additions and 5 deletions
+2 -2
View File
@@ -1567,8 +1567,8 @@ const SKYBOX_STEPPES_EYE: [f32; 3] = [-7979.0, -2571.0, 260.0];
const SKYBOX_STEPPES_LOOK: [f32; 3] = [-7800.0, -2450.0, 320.0];
const SKYBOX_BLASTED_EYE: [f32; 3] = [-11300.0, -3073.0, 30.0];
const SKYBOX_BLASTED_LOOK: [f32; 3] = [-11120.0, -2960.0, 90.0];
const SKYBOX_HYJAL_EYE: [f32; 3] = [4637.0, -4461.0, 1060.0];
const SKYBOX_HYJAL_LOOK: [f32; 3] = [4800.0, -4350.0, 1120.0];
const SKYBOX_HYJAL_EYE: [f32; 3] = [4637.0, -4461.0, 1130.0];
const SKYBOX_HYJAL_LOOK: [f32; 3] = [4800.0, -4350.0, 1230.0];
#[cfg(test)]
mod ui_opt_in_tests {
+5 -3
View File
@@ -646,8 +646,8 @@ struct ModelClock {
}
/// MONKEY (skybox): pose every shown skybox and run its material loops on the model's clock:
/// sequence 0 at `duration × day fraction` under flag `0x1`, else the scene clock. A capture keeps
/// the bind pose and the seeds, as the shared lanes freeze, unless the day drives the clock.
/// sequence 0 at `duration × day fraction` under flag `0x1`, else the scene clock. A capture holds
/// `t = 0` unless the day drives the clock.
#[allow(clippy::too_many_arguments)]
fn animate_skyboxes(
time: Res<Time>,
@@ -670,11 +670,13 @@ fn animate_skyboxes(
let Some(rig) = rigs.0.get(&layer.path) else {
continue;
};
// A capture poses at `t = 0`, not the bind pose: a converted skybox places its layers with
// bone keys, and every row at `t = 0` is its seed.
let (band_t, gseq, live) = if layer.flags & SKYBOX_FULL_DAY != 0 {
let g = if deterministic { 0.0 } else { f64::from(now) };
(rig.duration * day, g, true)
} else if deterministic {
(0.0, 0.0, false)
(0.0, 0.0, true)
} else {
(now, f64::from(now), true)
};