thanx
but i cant push above the surface
it has to stay just barely touching or gravity will try to push back down and create a nasty bouncing effect
ur right about getting the exact distance to push back out tho
that might just be the answer since it only starts to glitch when the numbers dont add up exactly right
i.e. push out too far and glitch
other than that its friken money
---
also
rouncer i want to include your thoughts but i cant quite understand what you mean since u messed up some of your words
---
this seems to work fabulously
note 10 is the length of the collision probe
which is also the radius of the bounding sphere
9 - is to bring it back to 0.9 w out pushing totally out
//push up the final amount
if (g_tracer.outputFraction < 0.9f) {
scale = 9 - (10 * g_tracer.outputFraction);
VectorScale(camera.up, scale, push);
VectorAdd(player.n_vel, push, player.n_vel);
}
---
this doesnt work so nicely on the wall trace at all
---
ok do u guys know why my collision fraction keeps growing
meaning im being slowly pushed out from the wall while sliding
i now limited it to just this code
//keep going or
if (trace.outputFraction == 1) return;
//slide along wall
PM_ClipVelocity(player.n_vel, trace.outputNormal, player.n_vel, OVERCLIP);
---
ok i managed to hack it with this code
and now there is no bouncing
i guess no one can escape ugly code
//keep going or
if (trace.outputFraction == 1) return;
//slide along wall
PM_ClipVelocity(player.n_vel, trace.outputNormal, player.n_vel, OVERCLIP);
//bull back
if (trace.outputFraction > 0.98) {
scale = 10 - (10 * trace.outputFraction);
VectorScale(trace.outputNormal, scale, pull);
VectorSubtract(player.n_vel, pull, player.n_vel);
}
return;