public void MaterialTest()
        {
            var model = new glTFMaterial()
            {
                name           = "a",
                emissiveFactor = new float[] { 0.5f, 0.5f, 0.5f },
            };

            var json = model.ToJson();

            Assert.AreEqual(@"{""name"":""a"",""pbrMetallicRoughness"":{""baseColorFactor"":[1,1,1,1],""metallicFactor"":1,""roughnessFactor"":1},""emissiveFactor"":[0.5,0.5,0.5],""doubleSided"":false}", json);
            Debug.Log(json);
        }
Exemple #2
0
        public void MaterialEmissiveStrengthTest()
        {
            // serialize
            var material = new glTFMaterial();

            glTF_KHR_materials_emissive_strength.Serialize(ref material.extensions, 5.0f);
            var json   = material.ToJson();
            var parsed = json.ParseAsJson();

            Assert.AreEqual(parsed["extensions"]["KHR_materials_emissive_strength"]["emissiveStrength"].GetSingle(), 5.0f);

            // deserialize
            var imported = GltfDeserializer.Deserialize_gltf_materials_ITEM(parsed);

            Assert.True(glTF_KHR_materials_emissive_strength.TryGet(imported.extensions, out glTF_KHR_materials_emissive_strength extension));
            Assert.AreEqual(extension.emissiveStrength, 5.0f);
        }
Exemple #3
0
        public void MaterialTest()
        {
            var model = new glTFMaterial()
            {
                name           = "a",
                emissiveFactor = new float[] { 0.5f, 0.5f, 0.5f },
            };

            var json = model.ToJson();

            Assert.AreEqual(@"{""name"":""a"",""emissiveFactor"":[0.5,0.5,0.5],""doubleSided"":false}", json);
            Debug.Log(json);

            var c = new JsonSchemaValidationContext("")
            {
                EnableDiagnosisForNotRequiredFields = true,
            };
            var json2 = JsonSchema.FromType <glTFMaterial>().Serialize(model, c);

            Assert.AreEqual(@"{""name"":""a"",""emissiveFactor"":[0.5,0.5,0.5],""doubleSided"":false}", json2);
        }