strange one-way collision

Posted By: JazzDude

strange one-way collision - 08/27/14 18:34

I have an invisible collision barrier that allows the player to walk thru in one direction but not return. I can't find any reason for it in the level. There is nothing hidden or obvious that is in the area. Hitting F11 doesn't show any collision boundaries. I have tried countless things rebuilding the level but have had no results. Any ideas?


PROBLEM SOLVED
Posted By: rayp

Re: strange one-way collision - 08/27/14 19:05

What happens if u use the POLYGON flag? just wondering.
Posted By: JazzDude

Re: strange one-way collision - 08/27/14 20:27

That doesn't change anything.
Posted By: alibaba

Re: strange one-way collision - 08/27/14 20:31

Screenshot?
Posted By: Ch40zzC0d3r

Re: strange one-way collision - 08/27/14 21:04

You need to make a video I guess, also tell us how you achieve the movement (c_ functions or physX and so on)
Posted By: JazzDude

Re: strange one-way collision - 08/27/14 21:10

I found the problem. There was an unnecessary block of terrain hidden inside another block. Removing that cured the anomaly.

Of course I still don't understand "why". confused
Posted By: rayp

Re: strange one-way collision - 08/27/14 21:23

Quote:
There is nothing hidden
grin
Anyway, glad u could fix/find this bug. a bad one, might take some hours to find ^^

maybe this could be intresting (?):
Quote:

...
If IGNORE_CONTENT is not set, a precise collision is done with all nearby passable map and terrain entities, no matter whether IGNORE_MAPS, IGNORE_PASSENT or IGNORE_WORLD is set. At this point in_passable, on_passable and passable_ent are updated to point to the current entity if the trace starting point lies within the entity's axis-aligned bounding box. For terrains the bounding box is assumed to extend all the way down to the bottom of the level. If there is no passable entity at the starting point, but one can be found along the trace line, then passable_ent will be set to this one instead and on_passable gets set as well.

Once all entities have been processed in this way the level blocks get checked. To disable this check IGNORE_WORLD needs to be set.

When this is done a thorough (i.e. slow) test is performed between the requested bounding shapes (ray, polygons, OBB, or ellipsoid). All intersections are stored and sorted by distance from the trace origin. At this point contacts with pushable and passable entities are discarded. The closest hit (if any) is returned.


edit: moved 2 "Starting with Gamestudio" ( collision - problem in general )

Greets
© 2024 lite-C Forums