Awfull collision bug
Awfull collision bug
Ive made a map in Radiant.
It looks good in Irrlicht.
Usually collision works fine.
But when camera can go through some vertically thin brushes!(the height is small)
If the brush is gorisontally small there are know collision problems.
How can i make CollisionResponceAnimator to work good with vertically small brushes ?
It looks good in Irrlicht.
Usually collision works fine.
But when camera can go through some vertically thin brushes!(the height is small)
If the brush is gorisontally small there are know collision problems.
How can i make CollisionResponceAnimator to work good with vertically small brushes ?
So, the problem is this?
Or are you coming from above?
Code: Select all
1.
-----
-------------- | |
| brush | |cam|
-------------- | |
| |
---------------------------------
2.
-----
-----| |----
| br|cam| |
-----| |----
| |
---------------------------------
Well, judging by the description, it is a brush that has very low height, not width, so I think my pictures would be correct - but that's why I asked.
Obviously, if you move an object in big steps, it's quite possible that your bounding box in the first frame does not intercept the brush, and also not in the second frame. That's the problem with "is there a collision at point 2" as opposed to "is there at any point between point 1 and point 2 a collision".
Usually you'll get problems like this when you move horizontally and you should have hit a thin wall but simply passed through it.
The same could happen vertically, resulting in falling through a floor.
But you always have to be moving quickly for this to happen - or you have to suffer from a really slow physics rate (possibly the result from a low fram rate, but that depends on whether the pysics updates are performed in the same loop or asynchronously).
Obviously, if you move an object in big steps, it's quite possible that your bounding box in the first frame does not intercept the brush, and also not in the second frame. That's the problem with "is there a collision at point 2" as opposed to "is there at any point between point 1 and point 2 a collision".
Usually you'll get problems like this when you move horizontally and you should have hit a thin wall but simply passed through it.
The same could happen vertically, resulting in falling through a floor.
But you always have to be moving quickly for this to happen - or you have to suffer from a really slow physics rate (possibly the result from a low fram rate, but that depends on whether the pysics updates are performed in the same loop or asynchronously).
OK. That's what I was afraid of...
My guess is it's the BSP tree that ignores it - but I don't know how Irr uses the BSP (or if it does at all).
You might be able to play around with some of the BSP settings when you generate it.
If that won't help, I suspect it's a limitation of Irr's octtree method (which means it's difficult to fix).
My guess is it's the BSP tree that ignores it - but I don't know how Irr uses the BSP (or if it does at all).
You might be able to play around with some of the BSP settings when you generate it.
If that won't help, I suspect it's a limitation of Irr's octtree method (which means it's difficult to fix).
After all, i know it's name-it's an UNFIXABLE BUG.
But still,there is a solution(not the best one).
Create 2 maps in Radiant:Visual map(what you see)
and Collision map(what you collide with)
And make 2nd unvisible!
Also,it would help to increase collision calculation speed,if dont want to
calculate it for each poligon.
But still,there is a solution(not the best one).
Create 2 maps in Radiant:Visual map(what you see)
and Collision map(what you collide with)
And make 2nd unvisible!
Also,it would help to increase collision calculation speed,if dont want to
calculate it for each poligon.