Thursday, April 22, 2010
More Accurate Tile Connection
I just fixed (R162) an old and forgotten bug in tile connection. When I was working on the tiles, there were a lot of things to do, and one thing that was left to do was more accurate overlap test.
At the time of writing the code, I took a little shortcut and make the edge overlap test to use axis aligned rectangles instead of something more accurate. While most of the time this is ok, it fails when a tilted surface is on top (or under) of another surface. In that case the edge check test becomes too liberal.
I fixed this now so that the edge connection test uses tilted rectangle, instead of axis-aligned bounding box. If you get tile border connection error, let me know.
This comment has been removed by a blog administrator.
ReplyDeleteStunning work!
ReplyDeleteDoes recast have methods to recompute only portions of space, for instance when an object is added
You can generate one tile at a time. Like in above picture the tile size is quite small (something like 4x4m). So if something changes within a tile, you can recalc that tile only. With the above tile size, depending on your data, it may take something between 5 to 50ms. Yakov has done some nice stuff with it: http://yak32.blogspot.com/
ReplyDeleteYakov's approach is interesting but isn't it better to handle dynamic obstacles at the steer level ?
ReplyDeleteSteering will get stuck on local minima, think about U shaped obstacle. That is better handled using navmesh.
ReplyDelete