feat: add a capsule collider constructor from endpoints.
This commit is contained in:
committed by
Sébastien Crozet
parent
f58b4f7c19
commit
33dd38016c
@@ -19,16 +19,20 @@ pub fn init_world(testbed: &mut Testbed) {
|
|||||||
* Ground
|
* Ground
|
||||||
*/
|
*/
|
||||||
let collider =
|
let collider =
|
||||||
ColliderBuilder::capsule(point![-10.5, 0.0], point![10.5, 0.0], radius).friction(friction);
|
ColliderBuilder::capsule_from_endpoints(point![-10.5, 0.0], point![10.5, 0.0], radius)
|
||||||
colliders.insert(collider);
|
.friction(friction);
|
||||||
let collider = ColliderBuilder::capsule(point![-10.5, 0.0], point![-10.5, 20.5], radius)
|
|
||||||
.friction(friction);
|
|
||||||
colliders.insert(collider);
|
colliders.insert(collider);
|
||||||
let collider =
|
let collider =
|
||||||
ColliderBuilder::capsule(point![10.5, 0.0], point![10.5, 20.5], radius).friction(friction);
|
ColliderBuilder::capsule_from_endpoints(point![-10.5, 0.0], point![-10.5, 20.5], radius)
|
||||||
|
.friction(friction);
|
||||||
colliders.insert(collider);
|
colliders.insert(collider);
|
||||||
let collider = ColliderBuilder::capsule(point![-10.5, 20.5], point![10.5, 20.5], radius)
|
let collider =
|
||||||
.friction(friction);
|
ColliderBuilder::capsule_from_endpoints(point![10.5, 0.0], point![10.5, 20.5], radius)
|
||||||
|
.friction(friction);
|
||||||
|
colliders.insert(collider);
|
||||||
|
let collider =
|
||||||
|
ColliderBuilder::capsule_from_endpoints(point![-10.5, 20.5], point![10.5, 20.5], radius)
|
||||||
|
.friction(friction);
|
||||||
colliders.insert(collider);
|
colliders.insert(collider);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -583,6 +583,15 @@ impl ColliderBuilder {
|
|||||||
Self::new(SharedShape::round_cuboid(hx, hy, border_radius))
|
Self::new(SharedShape::round_cuboid(hx, hy, border_radius))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Initialize a new collider builder with a capsule defined from its endpoints.
|
||||||
|
///
|
||||||
|
/// See also [`ColliderBuilder::capsule_x`], [`ColliderBuilder::capsule_y`], and
|
||||||
|
/// [`ColliderBuilder::capsule_z`], for a simpler way to build capsules with common
|
||||||
|
/// orientations.
|
||||||
|
pub fn capsule_from_endpoints(a: Point<Real>, b: Point<Real>, radius: Real) -> Self {
|
||||||
|
Self::new(SharedShape::capsule(a, b, radius))
|
||||||
|
}
|
||||||
|
|
||||||
/// Initialize a new collider builder with a capsule shape aligned with the `x` axis.
|
/// Initialize a new collider builder with a capsule shape aligned with the `x` axis.
|
||||||
pub fn capsule_x(half_height: Real, radius: Real) -> Self {
|
pub fn capsule_x(half_height: Real, radius: Real) -> Self {
|
||||||
Self::new(SharedShape::capsule_x(half_height, radius))
|
Self::new(SharedShape::capsule_x(half_height, radius))
|
||||||
@@ -781,7 +790,7 @@ impl ColliderBuilder {
|
|||||||
|
|
||||||
/// The default density used by the collider builder.
|
/// The default density used by the collider builder.
|
||||||
pub fn default_density() -> Real {
|
pub fn default_density() -> Real {
|
||||||
1.0
|
100.0
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Sets an arbitrary user-defined 128-bit integer associated to the colliders built by this builder.
|
/// Sets an arbitrary user-defined 128-bit integer associated to the colliders built by this builder.
|
||||||
|
|||||||
Reference in New Issue
Block a user