3
$\begingroup$

I have two 3D laser scanned files of a complex object I want to model. One has a "medium resolution" and I used it as a reference to create the model with Blender. Everything's fine. Now I have to attach the textures, however I would like to use the pictures at full resolution.

For the high resolution, they gave me a .obj, .mtl and several .jpg files. The problem is that this .obj file is over 5 GB, and there's no way to import it into Blender as 32 GB of RAM is insufficient. I've already tried all the suggestions from previous similar questions (like this) with no results. I tried to convert it to ABC but still doesn't import it. I also tried other programs like Open3D, but again no 32 GB of memory is insufficient.

However, I only want the textures to paste them into my model, not the full obj model (because I used the smaller one as a reference). Is there a way to extract (in a decent understandable format) the textures from the obj/mtl? Because the current .jpg files contains random parts of the object and it looks very difficult manually pick them (example of a texture follows).

Example of a texture

Manually extracting the textures of the object from there looks very difficult...

$\endgroup$
3
  • $\begingroup$ You may have better luck with MeshLab instead of working directly in Blender. While not a complete answer and hence a comment, I would recommend to decimate the original mesh down to a reasonable vertex density so that you can import it into Blender and then create a low(er) poly mesh with a proper UV to bake the texture from the scan onto. If the model cannot be reduce enough, then you may have to split it into separate parts to work on. $\endgroup$ Commented Jun 28, 2022 at 21:04
  • $\begingroup$ You might also consider running Blender in headless mode to conserve RAM as well. $\endgroup$
    – RPaladin
    Commented Jun 28, 2022 at 23:19
  • $\begingroup$ @RPaladin yes, forgot to mention, tried also in headless mode but didn't work $\endgroup$
    – ocirocir
    Commented Jun 29, 2022 at 22:33

1 Answer 1

2
$\begingroup$

Ok, here's the solution I found:

  1. Convert the textual .obj to the binary format .ply. This is achievable with a dedicated tool, I used ctmconv because it is available on Linux. It took around 2 minutes to perform the conversion.
  2. Install MeshLab and open the ply file (the original obj file was too large also for MeshLab, while the ply worked).
  3. Simplify the object if necessary with MeshLab tools
  4. Load the original texture files and then export the baked image (as explained here)
  5. You have now a decent texture file to load into Blender.
$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .