Original Post

lucky6969b

May 20, 2017 at 10:12 AM

Which statement is true?

  1. If an agent is travelling from point A to point C via point B, and if the subpath is walkable, I delete point B

  2. If an agent is travelling from point A to point C via point B, and if the subpath is not walkable, I delete point B....

OK, I think I got it...

First, I test for Point A to C, if it is walkable, delete B

Then test for A to D, if it is walkable, delete C

If Not,

Start from C, and test C to E etc

Thanks

Jack

samoth

May 20, 2017 at 10:29 AM

Neither, I believe. String pulling as I understand it is more like:

  1. If an agent is travelling from A to C via B, and there is a direct route from A to C, then scratch B.

It doesn't matter whether or not A-B;B-C is walkable if there exists A-C.

IADaveMark

May 21, 2017 at 4:22 PM

Worth noting, before I begin... we generally frown on doing people's homework on here. That said...

Unfortunately, there are a couple of different uses of the term "string-pulling". In one, you delete intermediate nodes if a straight line exists between 2 nodes. In that case, #1 is correct. Here's an image to support.

This one is good for use on nav graphs where there is a lot of redundancy.

In nav mesh environments where there is less redundancy (but still possible), there is another application of string pulling -- cutting corners. Rather than moving to the middle of a poly or the middle of an edge segment, you actually tighten it towards the nearest point. Image...

That one is a bit more complicated -- especially for non-0 radius bodies since you have to do the math to find out your new destination along that edge.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.