fix default glTF metallic & roughness factor values

The glTF 2.0 spec says that these pbrMetallicRoughness material
properties should be set as 1.0 by default.
In fact, KhronosGroup's official Blender Exporter does not even write
down those parameters if they are set as 1.0.

However, Godot import them as 0.0.

https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#pbrmetallicroughness

Fixes: #19613 https://github.com/godotengine/godot/issues/19613
(cherry picked from commit 01b01209a3)
This commit is contained in:
Rodolfo Ribeiro Gomes 2018-06-20 23:44:08 -03:00 committed by Hein-Pieter van Braam
parent b5338b640f
commit 4fcb0d036c
1 changed files with 5 additions and 2 deletions

View File

@ -1253,12 +1253,15 @@ Error EditorSceneImporterGLTF::_parse_materials(GLTFState &state) {
} }
if (mr.has("metallicFactor")) { if (mr.has("metallicFactor")) {
material->set_metallic(mr["metallicFactor"]); material->set_metallic(mr["metallicFactor"]);
} else {
material->set_metallic(1.0);
} }
if (mr.has("roughnessFactor")) {
if (mr.has("roughnessFactor")) {
material->set_roughness(mr["roughnessFactor"]); material->set_roughness(mr["roughnessFactor"]);
} else {
material->set_roughness(1.0);
} }
if (mr.has("metallicRoughnessTexture")) { if (mr.has("metallicRoughnessTexture")) {