Exported material with UnityGLTF has no Specular

Repro project (same as linked in https://discord.com/channels/717429793926283276/1065997314457604147):
https://drive.google.com/file/d/1TkCZBlOvLA65qiDawqynX-HFrSFCnqfy/view?usp=share_link

**repro glb model attached
**

See images attached - in Blender the nodes on material look fine, in a Needle build using DropListener, at runtime the loaded glb file has correct specular.

In Unity, imported with UnityGLTF, the specular value of 1 doesn’t propagate. I exported with Blender 3.4.1, using Unity 2022.2.1f1, Needle Exporter 2.59.1-pre

In the exported file in Local Server/Production, the model is completely black, no specular or reflections




Glass.glb

Original Post on Discord

by user 103054507105067008

The project has droplistener in the scene so you can test the model there to compare vs the exported model from Needle + UnityGLTF

by user 103054507105067008

by user 103054507105067008

Changed the channel name: Exported material with UnityGLTF has no Specular

by user 103054507105067008

Here is a very minimal repro, @herbst🌵 have you seen this issue before?
ReproGlass.unitypackage

by user 103054507105067008

by user 103054507105067008

Hey @ROBYER1 I think I told you before, some of your Blender export materials use specular extensions that aren’t well supported across systems. I’ll have to take a look if that’s the same issue here.

Just trying to educate the art team on it as I am using a scene with DropListener in it for previewing the models in a scene for fast art workflows but when they give me the model and I run it through Unity + Needle I get some issues like this where the behaviour isn’t consistent. I’ll encourage the artist to not use specular values and instead roughness + metallic

by user 103054507105067008

I’ll update the internal artist doc to point to here for GLTF workflows from Blender to avoid using specular values in future, still an interesting issue here though, thanks for reminding me https://docs.blender.org/manual/en/2.80/addons/io_scene_gltf2.html

by user 103054507105067008

I’ll take a look nonetheless

Can you clarify what you tested with the above? Not sure I get all the steps

  • looks right in Blender
  • looks wrong in Unity (specular value missing, most likely UnityGltf issue)
  • have you tested in other glTF viewers?

-Looks right in Blender
-Looks okay in Unity, not as reflective but still reflects environment
-Needle Export the material is just black, non reflective
-Tested and source model looks correct with gltf.report, using Needle export with DropListener for the Three.js GLTF Loader and https://gltf-viewer.donmccurdy.com/

by user 103054507105067008