Awfull collision bug

You are an experienced programmer and have a problem with the engine, shaders, or advanced effects? Here you'll get answers.
No questions about C++ programming or topics which are answered in the tutorials!
Post Reply
MessiaH
Posts: 55
Joined: Tue Jul 06, 2004 6:37 pm
Location: RUSSIA

Awfull collision bug

Post by MessiaH »

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 ?
MessiaH
Posts: 55
Joined: Tue Jul 06, 2004 6:37 pm
Location: RUSSIA

Post by MessiaH »

That looks really impossible.
With big brushe evth is OK,but with the small ones!
bal
Posts: 829
Joined: Fri Jun 18, 2004 5:19 pm
Location: Geluwe, Belgium

Post by bal »

MessiaH wrote:That looks really impossible.
With big brushe evth is OK,but with the small ones!
Make you're "collision box" around the camera bigger?
General Tools List
General FAQ
System: AMD Barton 2600+, 512MB, 9600XT 256MB, WinXP + FC3
Guest

Post by Guest »

So, the problem is this?

Code: Select all

1.
                          -----
     --------------       |   |
     |  brush     |       |cam|
     --------------       |   |
                          |   |
---------------------------------
2.
          -----
     -----|   |----
     |  br|cam|   |
     -----|   |----
          |   |
---------------------------------

Or are you coming from above?
Twisterr

Post by Twisterr »

I think he means somehting like this

______
| | __
| Cam| -> | | ->
|_____| |_|


P.S sorry, I'm out of touch with the ol' ASCII illustrations
Guest

Post by Guest »

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).
MessiaH
Posts: 55
Joined: Tue Jul 06, 2004 6:37 pm
Location: RUSSIA

Post by MessiaH »

This way:

----------
|camera|
|******|-> ----------
|******|
=================================
MessiaH
Posts: 55
Joined: Tue Jul 06, 2004 6:37 pm
Location: RUSSIA

Post by MessiaH »

Making bigger box doesnt help-only making bigger brush helps!
But i need small ones!
Guest

Post by Guest »

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).
MessiaH
Posts: 55
Joined: Tue Jul 06, 2004 6:37 pm
Location: RUSSIA

Post by MessiaH »

And is there such bugs with another entities(not BSP?)
Not sure,i'll check it out,but looks like this bug affects ALL SMALL ENTITIES.
In this case,NIKO WHERE IS THE PATCH! :roll:
MessiaH
Posts: 55
Joined: Tue Jul 06, 2004 6:37 pm
Location: RUSSIA

Post by MessiaH »

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.
Post Reply