Jump to content

OBD:AKVA: Difference between revisions

203 bytes added ,  31 December 2009
no edit summary
No edit summary
No edit summary
Line 39: Line 39:
:0x'''01''' 00 00 00 - sloped floor  
:0x'''01''' 00 00 00 - sloped floor  
:0x'''04''' 00 00 00 - BNV used
:0x'''04''' 00 00 00 - BNV used
:0x'''10''' 00 00 00 - no grid }}
:0x'''10''' 00 00 00 - no grid, appears to be ignored }}
{{OBDtr| 0x60 | float    |FF00C8| 00 00 00 00 | 0.000000  | if "sloped", x-component of floor/ceiling normal }}
{{OBDtr| 0x60 | float    |FF00C8| 00 00 00 00 | 0.000000  | if "sloped", x-component of floor/ceiling normal }}
{{OBDtr| 0x64 | float    |FF00C8| 00 00 00 00 | 0.000000  | if "sloped", y-component of floor/ceiling normal }}
{{OBDtr| 0x64 | float    |FF00C8| 00 00 00 00 | 0.000000  | if "sloped", y-component of floor/ceiling normal }}
Line 50: Line 50:
;General
;General
:BNVs are volumes that have a [[OBD:AKVA/0x24|pathfinding grid]] assigned to them. The grid itself is in the RAW, while its overall parameters are in the DAT.
:BNVs are volumes that have a [[OBD:AKVA/0x24|pathfinding grid]] assigned to them. The grid itself is in the RAW, while its overall parameters are in the DAT.
:The usual volume is a right prism (or an oblique prism if the foor is sloped) but there are a few BNVs that are a bit more complex. There's not limit to the number of faces a volume can have but it's probably better to keep this number low.
:The usual volume is a right prism (or an oblique prism if the foor is sloped) but there are a few BNVs that are a bit more complex. There's not limit to the number of faces a volume can have but it's probably better to keep this number low. Most BNVs are convex but concave BNVs work too (level2 has some).




;0x00 - [[OBD:AKBP|AKBP]] tree
;0x00 - [[OBD:AKBP|AKBP]] tree
:This binary space partition (BSP) tree is used to check if a point is inside the BNV. A list of BNVs that can potentially contain a point is found using the environment octree (2nd [[OBD:IDXA_AKOT_2|IDXA]] of the [[OBD:AKOT|AKOT]] + [[OBD:OTLF|OTLF]]). It should be noted that the BSP tree includes not only the "walls" of the BNV but the floor and ceilings too.
:This binary space partition (BSP) tree is used to check if a point is inside the BNV. A list of BNVs that can potentially contain a point is found using the environment octree (2nd [[OBD:IDXA_AKOT_2|IDXA]] of the [[OBD:AKOT|AKOT]] + [[OBD:OTLF|OTLF]]). It should be noted that the BSP tree includes not only the "walls" of the BNV but the floor and ceilings too. Also, many of these "trees" are degenerate (they're lists). Actual trees occur only if the volume is not convex.  




708

edits