InstancedMeshes option in threejs

Hi there,

We are working on exterior views of villas, it has more than 100 building, size we optimised in blender, by instancing it out, size is not the problem, but problem is with the triangles which affects memory, making it slow in mobile devices, so since you guys are using threejs, instead of loading the meshes as buffer geometry, can we load through instancedBufferAttribute or instancedMeshes in threejs, so it will save draw cells count, saves memory right, by running in single draw cell.

Is there any possibilities for that feature??

Actually we do support instancing, and it should work on all supported devices. If it doesn’t then maybe there is a problem somewhere. If you could share a link to your scene or send it to us in a .zip file, it would be very helpful.

Thanks for the quick reply!!!

Crazy, By default it will support or do we have check any settings?? Because right now i’m seeing in shapespark extension, my model is around 39M triangles, which is ofcourse hangs in mobile devices,

It should work by default. Even if you have 39M triangles in the editor, it doesn’t mean that some of those triangles aren’t instanced and they don’t necessarily take a lot of space.
It’s possible though, that even with instancing, your scene has too much geometry for mobile devices to handle.
Have you tried using simplification on the objects tab?

Yes, as you mentioned space is not problem, size is less only, problem is with the memory only, i thought its from the triangles, Yeah we even did using simplifcation, but it reduces 1000 values from the millions values
, My one building model is around 0.2M, so 100s of building + amenities are coming around triangles as 39M, we are even trying now to reduce the building size even further in blender from 0.2M to 0.05M range,

My question if we import only one building in shapespark extension, and do the instanced mesh to 100 building, it won’t increase the triangle size much right, like the way its mentioned in this threejs forum section

If you could share your scene, we could then check if instancing works properly or not. You can send it in a private message, if you like.

I have verified, that instancing works properly on your scene. Geometry data takes only about 35MB, without instancing it would take at least half a gigabyte.

But also your scene is really quite large. Even with instancing, displaying it on mobile devices will be hard.

We are working on improving support for large scenes, but it’s not ready yet.