Octree – update specific triangles of object instead of re-adding everything again

Is your feature request related to a problem? Please describe.

The only way to update collision within the Octree class of Three.js is to use the method ‘fromGraphNode()’. However, this re-adds all triangles instead of giving the option to only update one object. This can heavily impact performance.

Describe the solution you’d like

Calling fromGraphNode() with an already passed object should update its triangles instead of adding everything double.

Describe alternatives you’ve considered

As a workaround I removed all subtrees, triangles and box and used fromGraphNode() to readd everything. This affects performance a lot.

Additional context

We are developing a 3D-building editor where the building can be walked through and edited realtime.

1 possible answer(s) on “Octree – update specific triangles of object instead of re-adding everything again

  1. I’m unsure why you need to regenerate a single octree class for everything. You can have multiple octrees; so if you have an environment with objects being added/removed you can just create a list of octrees and check for collisions with each.