[ODE] Pushing through collisions
Colin Bonstead
colin at cyan.com
Wed Aug 18 08:29:13 MST 2004
Basically what I do is redirect the velocity of the avatar along the
wall before he collides with it. I've got an extra ccylinder that's a
little bigger than the avatars collision shape that just records
contacts, it doesn't get contact joints. I look at the contact normals
coming off that and redirect the velocity along the planes formed by
those contacts until there aren't any conflicts. If all of the contact
planes cause a conflict, I just cut off the velocity.
I also had to modify ODE so that there's a new flag to force it to only
return contacts that are perpendicular to the surface. I turn that on
for the detector ccylinder, otherwise I can get edge contacts off
trimeshes that are misinterpreted as walls. There may be a more elegant
way around that, but this way works fine for me.
-----Original Message-----
From: Wong Kong Yew <kong_yew at phoenix-gamestudios.com>
Sent: Wed, 18 Aug 2004 14:35:24 +0800
To: <colin at cyan.com>
Subject: Re: [ODE] Pushing through collisions
Hi,
I been reading your post on the ode mailling list archive. I am having
the
same problem as you in making the avatar move as I am using the same
technique as you are by setting the velocity directly. Since I am new to
ODE
I am not sure how I can solve the problem. I been trying to fixed it for
a
couple of days and managed to reduce it a bit but it still shake quite
badly. I am wondering if you managed to solve the problem? I will be
grateful for any help you can give me.
Thanks,
Wong Kong Yew
Phoenix Games Studio
More information about the ODE
mailing list