fix positions of asteroids
This commit is contained in:
parent
5889aed6fa
commit
71d926ec0f
25
src/world.rs
25
src/world.rs
|
@ -77,13 +77,17 @@ pub fn setup(
|
||||||
) {
|
) {
|
||||||
// Generate a bunch of asteriods
|
// Generate a bunch of asteriods
|
||||||
let maxdist = 4;
|
let maxdist = 4;
|
||||||
|
let pi = PI as f64;
|
||||||
|
let player_x: f64 = -300000.0;
|
||||||
|
let player_y: f64 = 0.0;
|
||||||
|
let player_z: f64 = -500000.0;
|
||||||
for i in -maxdist..maxdist {
|
for i in -maxdist..maxdist {
|
||||||
for j in -maxdist..maxdist {
|
for j in -maxdist..maxdist {
|
||||||
for k in -maxdist..maxdist {
|
for k in -maxdist..maxdist {
|
||||||
let offset = 500.0;
|
let offset: f64 = 500.0;
|
||||||
let dist = 8e3;
|
let dist: f64 = 8e3;
|
||||||
let wobble = dist/2.0;
|
let wobble: f64 = dist/2.0;
|
||||||
let (i, j, k) = (i as f32, j as f32, k as f32);
|
let (i, j, k) = (i as f64, j as f64, k as f64);
|
||||||
let asset = match ((i+j+k) as i32) % 2 {
|
let asset = match ((i+j+k) as i32) % 2 {
|
||||||
0 => ASSET_ASTEROID1,
|
0 => ASSET_ASTEROID1,
|
||||||
_ => ASSET_ASTEROID2,
|
_ => ASSET_ASTEROID2,
|
||||||
|
@ -96,17 +100,18 @@ pub fn setup(
|
||||||
Collider::sphere(1.0),
|
Collider::sphere(1.0),
|
||||||
SceneBundle {
|
SceneBundle {
|
||||||
transform: Transform {
|
transform: Transform {
|
||||||
translation: Vec3::new(
|
|
||||||
offset + dist * i + wobble * (j+k/PI).sin() * (k+j/PI).cos(),
|
|
||||||
offset + dist * j + wobble * (k+i/PI).sin() * (i+k/PI).cos(),
|
|
||||||
offset + dist * k + wobble * (i+j/PI).sin() * (j+i/PI).cos(),
|
|
||||||
),
|
|
||||||
rotation: Quat::from_rotation_y(-PI / 3.),
|
|
||||||
scale: Vec3::splat(ASTEROID_SIZE),
|
scale: Vec3::splat(ASTEROID_SIZE),
|
||||||
|
..default()
|
||||||
},
|
},
|
||||||
scene: asset_server.load(asset),
|
scene: asset_server.load(asset),
|
||||||
..default()
|
..default()
|
||||||
},
|
},
|
||||||
|
Rotation::from(Quat::from_rotation_y(-PI / 3.)),
|
||||||
|
Position::from_xyz(
|
||||||
|
player_x + offset + dist * i + wobble * (j+k/pi).sin() * (k+j/pi).cos(),
|
||||||
|
player_y + offset + dist * j + wobble * (k+i/pi).sin() * (i+k/pi).cos(),
|
||||||
|
player_z + offset + dist * k + wobble * (i+j/pi).sin() * (j+i/pi).cos(),
|
||||||
|
),
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue