@@ 98,6 98,8 @@ pub struct ThrowDie {
pub variant: DieVariant,
/// Initial angular velocity, random if not set.
pub angular_velocity: Option<Vec3>,
+ /// Initial position, `Vec3::ZERO` if not set.
+ pub position: Option<Vec3>,
/// Initial rotation, random if not set.
pub rotation: Option<Quat>,
}
@@ 157,7 159,7 @@ fn throw_die(
},
)],
Transform {
- translation: Vec3::new(0.0, 4.0, 0.0),
+ translation: trigger.position.unwrap_or(Vec3::ZERO),
rotation: trigger
.rotation
.unwrap_or_else(|| Quat::from_rng(rng.as_mut())),
@@ 194,6 194,7 @@ fn ui(mut commands: Commands, mut contexts: EguiContexts, mut r_ui_state: ResMut
id: r_ui_state.die_id,
variant: r_ui_state.selected_variant,
angular_velocity: None,
+ position: Some(Vec3::new(0.0, 4.0, 0.0)),
rotation: None,
});
r_ui_state.die_id += 1;