How to load 3D models with big size?



hello guys i came up with new idea…

i facing major problem when i want to load 300Mb > object file so i thought

first of all we divide our object into several parts like :

  • mashes.buf
  • transforms.buf
  • bounds.buf
  • faces.buf
  • faces16.buf
  • vertices.buf
  • normals.buf
  • uvs0.buf
  • uva1.buf

then we create queueAjaxGet for calling this small chunks one by one and load into scene…

it would be very useful and mobile device also may not crashes anymore…

any suggestion where to start ?@mrdoob @Mugen87 @prisoner849 @looeee

i want to create bufferLoader in three.js

thanx in advance :slight_smile:


Before you start writing a custom loader I’d suggest doing some tests to isolate what causes the mobile device to crash. Browsers automatically manage requests quite well, so I don’t necessarily think that 10x 30mb requests will give you better results than 1x 300mb request. Better options might be something like Gzip or Draco compression, which can reduce the size of the mesh by quite a lot.

Even once you’ve downloaded the data, loading it into the GPU and rendering could still be the source of the crash. However you load it, 300mb is really quite huge for a mobile device.

There’s a good post by Play Canvas folks here, that might answer some questions. See this SO answer as well, which advises staying under ~20mb on mobile.


i’m already using Gzip compression. it will compress my json data into 65Mb but in mobile devices it will crash

what should i do ?


Use smaller models.


Try to simplify the geometry in order to achieve a lower LOD. Some content creation tools provide automatic simplification like the Decimate Modifier in Blender. Maybe these tools can help you in your case…