[ODE] ODE and geom scales

Megan Fox shalinor at gmail.com
Thu Dec 16 15:32:53 MST 2004


The trouble I had with the stairs-as-ramps approach was that then,
boxes and ragdolls falling down the stairs were terribly inconsistent,
and even spheres looked a little strange.


Thus, I use "real" stairs and the hovering CCylinder.  However, do be
aware that this creates a very specific point of contact below the
feet - one minute you're standing on a ledge, the next you're sliding
off of it.

I'm not yet decided on whether or not this is "ok", though a possible
solution would be to simply cast a few more rays in addition to the
central ray.  You could still, technically, have geometry that could
slip between the rays, but most games aren't going to have geometry
that small anyways.

-Megan Fox

> Most games turn stairs that look stair-stepped visually into
> sliding ramps for the collision geometry -- because you typically
> need 10x the density of polygons for visuals as you do for
> collision.
> 
> Another option is to use a ccylinder that hovers some distance
> over the ground using a forward-looking force and a ray cast to
> the ground at the "feet". Each step, you'd cast a ray, and add a
> force that's dependent on your current distance to ground, as well
> as your current velocity in the up/down direction.
> 
> Cheers,
> 
>                        / h+
> 
> 
> -----Original Message-----
> From: ode-bounces at q12.org [mailto:ode-bounces at q12.org]On Behalf Of
> Flavien Brebion
> Sent: Thursday, December 16, 2004 7:38 AM
> To: ode at q12.org
> Subject: [ODE] ODE and geom scales
> 
> Hey,
> 
> I'm trying to simulate a human body by using a capped cylinder. This
> works well except
> for staircases vs small corridors. Let me explain:
> 
> A capped cylinder is composed of 3 parts: a cylinder, with a given
> radius and height,
> and two half-spheres at the top and the bottom, with the same radius. My
> cylinder's
> orientation is always set to vertical.
> 
> In order to be able to slide along the stairs of a staircase, the radius
> must be high
> enough. Unfortunately this value is then too high for the character to
> pass in small
> corridors or between close objects.
> 
> If i decrease the radius of the cylinder, the character can then walk
> between close
> objects, but can no longer walk upstairs, because the height difference
> between two
> steps is too high - it can no longer slide.
> 
> The obvious solution is to use a non-uniformly scaled ccylinder, but i
> didn't see any
> function to do this in ODE. Does anybody have a solution ?
> 
> F. Brebion
> 
> _______________________________________________
> ODE mailing list
> ODE at q12.org
> http://q12.org/mailman/listinfo/ode
> 
> _______________________________________________
> ODE mailing list
> ODE at q12.org
> http://q12.org/mailman/listinfo/ode
>


More information about the ODE mailing list