Open clbarnes opened 3 years ago
Related: a method to check whether points are inside meshes, see https://github.com/dimforge/ncollide/issues/317
Hi! The solid
flags indicates that the projection will be the point itself if it lies on the interior of the shape. But in 3D, our TriMesh
has no interior by definition, therefore the solid
flag is meaningless. It does have a meaning in 2D though (because in 2D triangles have an interior).
The ray-cast based alternative you suggested in dimforge/ncollide#317 remains the best way of doing this. Maybe we could provide it as an inherent method of TriMesh
?
That would certainly be useful to me, although my use case may be atypical (generic mesh queries rather than game engine specific). It's made a bit harder by this bug https://github.com/dimforge/ncollide/issues/335 ; it's safest to fire a number of rays in different directions and find the consensus. I also haven't found any references to backfaces in the codebase, although I haven't been able to search too deeply yet.
This issue is potentially resolved by oriented trimeshes now doing an actual containment check for contains{_local}_point
, which is great news! Will do a bit more testing on my end before closing.
The same was true in ncollide.