I want to convert some models from their native .blend representation to gltf in order to render them in Three.js.

I know that the material system is completely different and that this will lead to problems.

For example, I have tried to export this native blend model (Corvette Stingray) and then render it. However, the results were disapppointing. For comparison, I used this model (Porsche 911), which was designed to work well with web technologies.

These were both cars when opened/imported in Blender and rendered:

enter image description here

Exporting as GLTF and reimporting into Blender led to this:

enter image description here

Then, I used this VSCode extension to quickly preview the models within different WEBGL rendering engines.

The GLTF in BabylonJS:

enter image description here

The GLTF in ThreeJS:

enter image description here

Some notable issues include the the transparency of the lights and wind shields/windows, and the overall lack of color on the Corvette.

Being a beginner in Blender, I thought I could copy-paste the paint-color shader (which is a Principled BSDF node) from the Porsche to the Corvette. Or the transparency shaders for the glass. But none of that really worked. I'm probably missing a different layer completely. Maybe Mesh, or Texture?

I'm actually surprised that the Corvette renders so badly, might this be because it's from the CGMasters Master Car Creation course and uses techniques that are too Blender-specific?

  • $\begingroup$ I don't have a CGTrader account to download this model, but if you're exporting to glTF then it is necessary to make the model's materials follow the guidelines in the Blender glTF exporter docs you linked to. Could you share a screenshot of the material node graph in the question, perhaps? $\endgroup$ – Don McCurdy Jan 4 at 19:05

Your Answer

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

Browse other questions tagged or ask your own question.