@@ -192,7 +192,7 @@ fn spawn_barriers(
192
192
} ) ;
193
193
let mut spawn_with_offset = |offset : f32 | {
194
194
for i in 0 ..N_CONES {
195
- let pos = race_track_shape (
195
+ let pos = race_track_pos (
196
196
offset,
197
197
( i as f32 ) / ( N_CONES as f32 ) * std:: f32:: consts:: PI * 2.0 ,
198
198
) ;
@@ -221,21 +221,21 @@ fn spawn_trees(
221
221
222
222
let mut spawn_with_offset = |offset : f32 | {
223
223
for i in 0 ..N_TREES {
224
- let pos = race_track_shape (
224
+ let pos = race_track_pos (
225
225
offset,
226
226
( i as f32 ) / ( N_TREES as f32 ) * std:: f32:: consts:: PI * 2.0 ,
227
227
) ;
228
228
let [ x, z] = pos. into ( ) ;
229
229
commands. spawn ( PbrBundle {
230
230
mesh : sphere. clone ( ) ,
231
231
material : leaves. clone ( ) ,
232
- transform : Transform :: from_xyz ( x, 0.0 , z) . with_scale ( Vec3 :: splat ( 0.4 ) ) ,
232
+ transform : Transform :: from_xyz ( x, - 0.3 , z) . with_scale ( Vec3 :: splat ( 0.3 ) ) ,
233
233
..default ( )
234
234
} ) ;
235
235
commands. spawn ( PbrBundle {
236
236
mesh : capsule. clone ( ) ,
237
237
material : trunk. clone ( ) ,
238
- transform : Transform :: from_xyz ( x, -0.4 , z) . with_scale ( Vec3 :: new ( 0.05 , 0.5 , 0.05 ) ) ,
238
+ transform : Transform :: from_xyz ( x, -0.5 , z) . with_scale ( Vec3 :: new ( 0.05 , 0.3 , 0.05 ) ) ,
239
239
..default ( )
240
240
} ) ;
241
241
}
@@ -294,8 +294,9 @@ fn keyboard_inputs(
294
294
text. sections [ 1 ] . value = format ! ( "Samples: {:.5}\n " , settings. samples) ;
295
295
}
296
296
297
- // Parametric function for a looping race track. `offset` will return the point offset normal to the center of the race course.
298
- fn race_track_shape ( offset : f32 , t : f32 ) -> Vec2 {
297
+ /// Parametric function for a looping race track. `offset` will return the point offset
298
+ /// perpendicular to the track at the given point.
299
+ fn race_track_pos ( offset : f32 , t : f32 ) -> Vec2 {
299
300
let x_tweak = 2.0 ;
300
301
let y_tweak = 3.0 ;
301
302
let scale = 8.0 ;
@@ -321,8 +322,8 @@ fn move_cars(
321
322
let speed_variation = ( dx * dx + dz * dz) . sqrt ( ) * 0.15 ;
322
323
let t = t + speed_variation;
323
324
let prev = transform. translation ;
324
- transform. translation . x = race_track_shape ( 0.0 , t) . x ;
325
- transform. translation . z = race_track_shape ( 0.0 , t) . y ;
325
+ transform. translation . x = race_track_pos ( 0.0 , t) . x ;
326
+ transform. translation . z = race_track_pos ( 0.0 , t) . y ;
326
327
transform. translation . y = -0.59 ;
327
328
let delta = transform. translation - prev;
328
329
transform. look_to ( delta, Vec3 :: Y ) ;
@@ -348,7 +349,7 @@ fn move_camera(
348
349
match * mode {
349
350
CameraMode :: Track => {
350
351
transform. look_at ( tracked. translation , Vec3 :: Y ) ;
351
- transform. translation = Vec3 :: new ( 15.0 , 1.0 , 0.0 ) ;
352
+ transform. translation = Vec3 :: new ( 15.0 , - 0.5 , 0.0 ) ;
352
353
if let Projection :: Perspective ( perspective) = & mut * projection {
353
354
perspective. fov = 0.05 ;
354
355
}
@@ -365,7 +366,7 @@ fn move_camera(
365
366
}
366
367
367
368
fn uv_debug_texture ( ) -> Image {
368
- use bevy:: render:: texture :: { ImageAddressMode , ImageSampler , ImageSamplerDescriptor } ;
369
+ use bevy:: render:: { render_asset :: RenderAssetUsages , render_resource :: * , texture :: * } ;
369
370
const TEXTURE_SIZE : usize = 7 ;
370
371
371
372
let mut palette = [
@@ -381,20 +382,20 @@ fn uv_debug_texture() -> Image {
381
382
}
382
383
383
384
let mut img = Image :: new_fill (
384
- bevy :: render :: render_resource :: Extent3d {
385
+ Extent3d {
385
386
width : TEXTURE_SIZE as u32 ,
386
387
height : TEXTURE_SIZE as u32 ,
387
388
depth_or_array_layers : 1 ,
388
389
} ,
389
- bevy :: render :: render_resource :: TextureDimension :: D2 ,
390
+ TextureDimension :: D2 ,
390
391
& texture_data,
391
- bevy :: render :: render_resource :: TextureFormat :: Rgba8UnormSrgb ,
392
- bevy :: render :: render_asset :: RenderAssetUsages :: RENDER_WORLD ,
392
+ TextureFormat :: Rgba8UnormSrgb ,
393
+ RenderAssetUsages :: RENDER_WORLD ,
393
394
) ;
394
395
img. sampler = ImageSampler :: Descriptor ( ImageSamplerDescriptor {
395
396
address_mode_u : ImageAddressMode :: Repeat ,
396
397
address_mode_v : ImageAddressMode :: MirrorRepeat ,
397
- mag_filter : bevy :: render :: texture :: ImageFilterMode :: Nearest ,
398
+ mag_filter : ImageFilterMode :: Nearest ,
398
399
..ImageSamplerDescriptor :: linear ( )
399
400
} ) ;
400
401
img
0 commit comments