0
$\begingroup$

I am very new to Blender and I am trying to export a model as a glTF file. The model is available on Microsoft 3D Viewer. What I am doing is as follows:

  1. Save the model as .glb from Microsoft 3D Viewer
  2. Import the file into Blender (v 2.92)
  3. Scale up the model
  4. Export it as a glTF file

But when I am doing this, the resulting model has no texture. What are the exact steps to replicate the original model (with textures) scaled up and export it as a glTF file?

Original Model (The way I want it): Reaper with texture

Actual Output: Reaper without textures

The Model is a Reaper and constitutes 2 parts; the scythe and body

Material Node Graphs: Body Graph 1 Body Graph 2

$\endgroup$
4
  • $\begingroup$ From your description, it should work fine. Can you add a screenshot of the material node graph after import? $\endgroup$
    – emackey
    May 23 at 13:28
  • $\begingroup$ Hey @emackey, I have uploaded those, could you please check, thanks! $\endgroup$ May 23 at 13:40
  • 1
    $\begingroup$ It's using KHR_materials_pbrSpecularGlossiness, which can be imported but not exported. What does Image_5 look like? $\endgroup$
    – scurest
    May 23 at 13:45
  • $\begingroup$ I think it has the structure of the scythe. Here is the link: link $\endgroup$ May 23 at 14:00

1 Answer 1

0
$\begingroup$

As discussed in this issue, Blender's glTF importer/exporter works best with metal/rough PBR materials — not spec/gloss PBR materials. Because glTF's metal/rough workflow does include control of the specular parameter (extension: KHR_materials_specular), this is just as flexible and generally recommended when using glTF anyway.

Options —

  1. Scale the model in a tool that fully supports spec/gloss, like Gestaltor, or the https://gltf.report/ script tab —
const scene = document.getRoot().listScenes()[0];

// Scales the direct children of the scene, ignoring any descendants.
// Overwrites any previous scale on these nodes.
for (const child of scene.listChildren()) {
    child.setScale([50, 50, 50]);
}
  1. Convert from metal/rough to spec/gloss before editing in Blender, requires Node.js:
npm install --global @gltf-transform/cli
gltf-transform metalRough input.glb output.glb
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.