Compare commits
2 commits
0592ae588a
...
cacb322fac
Author | SHA1 | Date | |
---|---|---|---|
|
cacb322fac | ||
|
180070c5af |
5 changed files with 1383 additions and 766 deletions
2109
Cargo.lock
generated
2109
Cargo.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -1,13 +1,13 @@
|
|||
[package]
|
||||
name = "cyber_rider"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
edition = "2024"
|
||||
|
||||
[dependencies]
|
||||
rand = "0.8"
|
||||
# bevy_polyline = "0.4"
|
||||
noise = "0.9"
|
||||
hexasphere = "14"
|
||||
hexasphere = "15"
|
||||
#wgpu = "0.20"
|
||||
# bevy-inspector-egui = "0.18"
|
||||
|
||||
|
@ -15,13 +15,13 @@ hexasphere = "14"
|
|||
inspector = []
|
||||
|
||||
[dependencies.bevy]
|
||||
version = "0.14"
|
||||
version = "0.15"
|
||||
default-features = true
|
||||
features = ["bevy_dev_tools"]
|
||||
|
||||
[dependencies.avian3d]
|
||||
default-features = false
|
||||
version = "0.1"
|
||||
version = "0.2"
|
||||
features = ["3d", "f32", "parry-f32", "debug-plugin", "default-collider", "collider-from-mesh"]
|
||||
|
||||
# Maybe also enable only a small amount of optimization for our code:
|
||||
|
|
|
@ -100,7 +100,7 @@ pub(super) fn apply_inputs(
|
|||
// steering
|
||||
let mut steering = steering.single_mut();
|
||||
let angle = yaw_to_angle(input.yaw);
|
||||
let angle = if angle.is_normal() { angle } else { 0.0 };
|
||||
let angle = if angle.is_normal() { -angle } else { 0.0 };
|
||||
let limit = AngleLimit::new(angle - 0.01, angle + 0.01);
|
||||
steering.angle_limit = Some(limit);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
use avian3d::prelude::*;
|
||||
use avian3d::prelude::{
|
||||
AngularDamping, AngularVelocity, CoefficientCombine, Collider, ColliderDensity,
|
||||
CollisionLayers, ExternalTorque, Friction, LinearDamping, LinearVelocity, Restitution,
|
||||
RigidBody, SleepingDisabled,
|
||||
};
|
||||
use bevy::{
|
||||
core::Name,
|
||||
prelude::{AssetServer, BuildChildren, Commands, Quat, Res, SpatialBundle, Transform, Vec3},
|
||||
|
|
|
@ -1,5 +1,14 @@
|
|||
use avian3d::{math::FRAC_PI_2, prelude::*};
|
||||
use bevy::prelude::*;
|
||||
use avian3d::{
|
||||
math::FRAC_PI_2,
|
||||
prelude::{
|
||||
Collider, ColliderDensity, CollisionLayers, CollisionMargin, ExternalTorque, FixedJoint,
|
||||
Friction, Joint, MassPropertiesBundle, Restitution, RevoluteJoint, RigidBody, SweptCcd,
|
||||
},
|
||||
};
|
||||
use bevy::prelude::{
|
||||
AlphaMode, Assets, Color, Commands, Entity, Mesh, Name, PbrBundle, Quat, ResMut, Sphere,
|
||||
StandardMaterial, Torus, Transform, Vec3,
|
||||
};
|
||||
|
||||
use super::{CyberSteering, CyberWheel, Meshterial, WheelConfig};
|
||||
use crate::ColliderGroups;
|
||||
|
@ -50,6 +59,7 @@ pub fn spawn_wheels(
|
|||
mesh.clone(),
|
||||
collider.clone(),
|
||||
conf,
|
||||
steering.is_some(),
|
||||
);
|
||||
|
||||
if let Some(steering) = steering {
|
||||
|
@ -75,6 +85,7 @@ fn wheels_helper(
|
|||
tire_mesh: Mesh,
|
||||
collider: Collider,
|
||||
conf: &WheelConfig,
|
||||
is_front: bool,
|
||||
) -> Entity {
|
||||
let wheel_material = &StandardMaterial {
|
||||
base_color: Color::srgb(0.01, 0.01, 0.01),
|
||||
|
@ -83,14 +94,17 @@ fn wheels_helper(
|
|||
..Default::default()
|
||||
};
|
||||
|
||||
let pos_name = if is_front { "front" } else { "rear" };
|
||||
|
||||
let xform = Transform::from_translation(position);
|
||||
let hub_mesh: Mesh = Sphere::new(0.1).into();
|
||||
|
||||
let hub = commands
|
||||
.spawn((
|
||||
Name::new("hub"),
|
||||
Name::new(format!("{pos_name} hub")),
|
||||
RigidBody::Dynamic,
|
||||
MassPropertiesBundle::new_computed(&Collider::sphere(0.1), 200.0),
|
||||
MassPropertiesBundle::new_computed(&Collider::sphere(0.1), 1000.0),
|
||||
CollisionLayers::NONE,
|
||||
PbrBundle {
|
||||
mesh: meshes.add(hub_mesh),
|
||||
material: materials.add(wheel_material.clone()),
|
||||
|
@ -102,7 +116,7 @@ fn wheels_helper(
|
|||
|
||||
let tire = commands
|
||||
.spawn((
|
||||
Name::new("tire"),
|
||||
Name::new(format!("{pos_name} tire")),
|
||||
PbrBundle {
|
||||
mesh: meshes.add(tire_mesh),
|
||||
material: materials.add(wheel_material.clone()),
|
||||
|
|
Loading…
Reference in a new issue