[Bf-committers] Recast & Detour

Benoit Bolsee benoit.bolsee at online.be
Sun Sep 11 11:41:00 CEST 2011


[...]

> Saw this when baking edits to the files, looks like Recast.h
> could be made C compatible if the initializers and distructors
> were removed from the structs but not sure if this end up
> being a hassle to add alloc/free calls all over just so we
> can rename the files  to *.c.

I would really not go that route, just for the purpose of not having cpp
file in a blender core directory. This will in addition modify an
external library that was meant to be C++. 

[...]

> Still I'm a bit worried about this feature, I thought this
> was BGE only but it adds a modifier thats only purpose seems
> to be to add its own drawing calls into the derived mesh also
> adds own customdata layer - but the modifier its self stores
> no data.
> 
> Were less intrusive methods of storing this data investigated?
> - Curve, GreastPencil, ID-Properties?

"Recast" is the blender part of the project : it is the set of tools to
create the navigation mesh. The BGE part is "Detour" : automatic
navigation in the game engine. In Recast we need to  display the cell
(convex area made of several triangles), we also need to create a
navigation mesh from an existing without distroying the original mesh. I
read back my correspondance with Nick about that. I told him to seek
advise at Blender experts about the best way to do that but in the end
it seems that we decided the architecture between ourselves.  

The workflow is as follow: select the mesh from which you want to create
the navigation mesh, tune the operator settings and run it: it will
create a new mesh that has the modifier added automatically so that you
can see the cells. If you are not happy with the result, CTL-Z, change
the settings and re-run. If the result is almost ok, you can edit the
mesh instead.

The workflow is definately efficient and for the implementation we only
used existing interfaces: modifier to change rendering, custom data
layer to store cell id. I did not realize that adding a custom data
layer was intrusive and had no idea of the other methods you give. Is it
really a serious drawback to use a custom data layer?

/benoit




More information about the Bf-committers mailing list