diff --git a/src/cmd.rs b/src/cmd.rs index e239020..88fbf18 100644 --- a/src/cmd.rs +++ b/src/cmd.rs @@ -754,22 +754,13 @@ fn spawn_scenes( let mut state = ParserState::default(); state.class = DefClass::Actor; state.pos = pos; - //orig state.rotation = Quat::from_euler(EulerRot::XYZ, rot[0], rot[2], rot[1]); - //state.rotation = Quat::from_euler(EulerRot::ZXY, rot[0], rot[2], -rot[1]); - //almost state.rotation = Quat::from_euler(EulerRot::YXZ, rot[0], rot[2], -rot[1]); - //no state.rotation = Quat::from_euler(EulerRot::YZX, rot[0], rot[2], -rot[1]); - //no state.rotation = Quat::from_euler(EulerRot::ZYX, rot[0], rot[2], -rot[1]); - //no state.rotation = Quat::from_euler(EulerRot::XZY, rot[0], rot[2], -rot[1]); - //state.rotation = Quat::from_euler(EulerRot::YXZ, rot[2], rot[0], -rot[1]); - //allbutlast state.rotation = Quat::from_euler(EulerRot::ZYX, -rot[1], rot[2], rot[0]); - //state.rotation = Quat::from_euler(EulerRot::XZY, rot[0], -rot[1], rot[2]); - // state.rotation = Quat::from_euler(EulerRot::XYZ, rot[0], rot[2], -rot[1]); - //aaalmost state.rotation = Quat::from_euler(EulerRot::YXZ, rot[2], rot[0], -rot[1]); - // state.rotation = Quat::from_euler(EulerRot::ZXY, -rot[1], rot[0], rot[2]); - state.rotation = Quat::from_euler(EulerRot::YZX, rot[2], -rot[1], rot[0]); - // state.rotation = Quat::from_euler(EulerRot::ZYX, -rot[1], rot[2], rot[0]); state.relative_to = root_state.relative_to.clone(); + // Bevy's X is Blender's X (rot[0]) + // Bevy's Y is Blender's Z (rot[2]) + // Bevy's Z is Blender's -Y (-rot[1]) + state.rotation = Quat::from_euler(EulerRot::YZX, rot[2], -rot[1], rot[0]); + match template { "cruiser" => { state.model = Some("cruiser".to_string()); diff --git a/src/data/scenes.in b/src/data/scenes.in index 85a2acb..d96f634 100644 --- a/src/data/scenes.in +++ b/src/data/scenes.in @@ -6,12 +6,4 @@ ("workshop", "shippingcontainer", [-1.6206985, 12.010283, -2.9834328], [-0.02629428, 0.00037644096, 1.7372935]), ("workshop", "shippingcontainer", [-13.479424, 10.191104, -8.136984], [-0.05393797, -0.013098141, 1.7229813]), ("workshop", "shippingcontainer", [10.243189, 13.829462, -4.302782], [0.061487854, 0.08236491, 1.6717931]), -("workshop", "xyz", [7.73461, -19.380116, -8.103504], [0.43633232, 1.0471976, 2.0943952]), -("workshop", "xyz", [-18.857063, -94.26912, -13.345884], [0.0, 0.0, 0.0]), -("workshop", "xyz", [-12.792587, -94.26912, -13.345884], [1.5707964, 0.0, 0.0]), -("workshop", "xyz", [-6.138853, -94.26912, -13.345884], [0.0, 1.5707964, 0.0]), -("workshop", "xyz", [-0.7364948, -94.26912, -13.345884], [0.0, 0.0, 1.5707964]), -("workshop", "xyz", [3.9053717, -94.26912, -13.345884], [1.5707964, 1.5707964, 0.0]), -("workshop", "xyz", [9.347175, -94.26912, -13.345884], [1.5707964, 0.0, 1.5707964]), -("workshop", "xyz", [15.39941, -94.26912, -13.345884], [0.0, 1.5707964, 1.5707964]), ]