This is really unfortunate because there are use cases where you still want a basic lighting model so unlit can't really work for you, but you can't afford a PBR material, for example when targeting WebXR on Oculus Quest.
When building our Jumpy Balls demo, using PBR (= THREE.MeshStandardMaterial) was definitely a no-go because of the performance difference of ~30% when comparing it to a Phong or Lambert model.
So it would be great to provide an alternative to these use cases.
There was a proposal (2yo now) to include material attributes for models other than PBR or unlit: https://github.com/KhronosGroup/glTF/tree/master/extensions/1.0/Khronos/KHR_materials_common
It seems to be deprecated and even in three.js it was previously supported somehow but it was removed https://github.com/mrdoob/three.js/pull/13169
This is really unfortunate because there are use cases where you still want a basic lighting model so unlit can't really work for you, but you can't afford a PBR material, for example when targeting WebXR on Oculus Quest.
When building our Jumpy Balls demo, using PBR (=
THREE.MeshStandardMaterial
) was definitely a no-go because of the performance difference of ~30% when comparing it to aPhong
orLambert
model.So it would be great to provide an alternative to these use cases.