Glb model is not surpport MeshPhongMaterial?


i use threejs editor for i check modelingfile
when i was make glb file and import for check change material standard to meshPhongmaterial
but export glb and import change glb file material is meshstandardmaterial not meshphongmaterial
so if i want shininess, do i have standardmaterial Roughness and Matalness?
glb model cant use meshPhongMaterial?

In general three.js can handle any material you’ll find in a glTF file1. The reverse is not true: many three.js materials and properties don’t map cleanly to standard file formats. In general, specific software usually supports many features, and standards like glTF must work out common ground across many pieces of software in the ecosystem, and so have limitations.

The three.js materials you can export to glTF include:

  • MeshBasicMaterial
  • MeshStandardMaterial
  • MeshPhysicalMaterial

Many, but not all, properties on these materials will export. The most common workflow is to use MeshStandardMaterial. Here’s a subset of the properties you can export:

  • .color
  • .opacity
  • .map
  • .roughness
  • .roughnessMap
  • .metalness
  • .metalnessMap
  • .normalMap
  • .aoMap
  • .emissive
  • .emissiveMap

There are more properties, especially on MeshPhysicalMaterial, but if you need a 100% complete list I would recommend just reading through the source code of GLTFLoader and/or GLTFExporter.

1 One exception is spec/gloss PBR materials using glTF’s KHR_materials_pbrSpecularGlossiness, but that’s basically deprecated and can mostly be ignored.

1 Like

It was very helpful. thank you so much
have a nice day~!

1 Like