mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-05-09 12:11:35 -05:00
fix MaterialTests
This commit is contained in:
parent
4ceafe62a4
commit
405253e6f7
|
|
@ -1,7 +1,8 @@
|
|||
using System.Collections.Generic;
|
||||
using NUnit.Framework;
|
||||
using UnityEngine;
|
||||
|
||||
using UniJSON;
|
||||
using System.Linq;
|
||||
|
||||
namespace UniGLTF
|
||||
{
|
||||
|
|
@ -29,7 +30,7 @@ namespace UniGLTF
|
|||
|
||||
var materialExporter = new MaterialExporter();
|
||||
var gltfMaterial = materialExporter.ExportMaterial(srcMaterial, textureManager);
|
||||
gltfMaterial.pbrMetallicRoughness.baseColorTexture.extensions.Parse();
|
||||
gltfMaterial.pbrMetallicRoughness.baseColorTexture.extensions = gltfMaterial.pbrMetallicRoughness.baseColorTexture.extensions.Parse();
|
||||
|
||||
var shaderStore = new ShaderStore(null);
|
||||
var materialImporter = new MaterialImporter(shaderStore, (int index) => { return null; });
|
||||
|
|
@ -41,6 +42,52 @@ namespace UniGLTF
|
|||
Assert.AreEqual(dstMaterial.mainTextureScale.y, scale.y, 0.001f);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void glTF_KHR_materials_unlit_Test()
|
||||
{
|
||||
{
|
||||
var value = "{}".ParseAsJson();
|
||||
Assert.AreEqual(value.Value.ValueType, ValueNodeType.Object);
|
||||
Assert.AreEqual(0, value.GetObjectCount());
|
||||
var list = value.ObjectItems().ToArray();
|
||||
Assert.AreEqual(0, list.Length);
|
||||
}
|
||||
|
||||
{
|
||||
var value = "{\"unlit\":{}}".ParseAsJson();
|
||||
Assert.AreEqual(value.Value.ValueType, ValueNodeType.Object);
|
||||
Assert.AreEqual(1, value.GetObjectCount());
|
||||
var list = value.ObjectItems().ToArray();
|
||||
Assert.AreEqual(1, list.Length);
|
||||
Assert.AreEqual("unlit", list[0].Key.GetString());
|
||||
Assert.AreEqual(0, list[0].Value.GetObjectCount());
|
||||
}
|
||||
|
||||
{
|
||||
var extension = glTF_KHR_materials_unlit.Serialize().Parse();
|
||||
var list = extension.ObjectItems().ToArray();
|
||||
Assert.AreEqual(1, list.Length);
|
||||
Assert.AreEqual(glTF_KHR_materials_unlit.ExtensionNameUtf8, list[0].Key.GetUtf8String());
|
||||
Assert.AreEqual(0, list[0].Value.GetObjectCount());
|
||||
|
||||
var material = new glTFMaterial
|
||||
{
|
||||
alphaMode = "OPAQUE",
|
||||
pbrMetallicRoughness = new glTFPbrMetallicRoughness
|
||||
{
|
||||
baseColorFactor = new float[] { 1, 0, 0, 1 },
|
||||
},
|
||||
extensions = extension,
|
||||
};
|
||||
|
||||
Assert.IsTrue(glTF_KHR_materials_unlit.IsEnable(material));
|
||||
|
||||
var shaderStore = new ShaderStore(null);
|
||||
var shader = shaderStore.GetShader(material);
|
||||
Assert.AreEqual("UniGLTF/UniUnlit", shader.name);
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void UnlitShaderImportTest()
|
||||
{
|
||||
|
|
@ -55,7 +102,7 @@ namespace UniGLTF
|
|||
{
|
||||
baseColorFactor = new float[] { 1, 0, 0, 1 },
|
||||
},
|
||||
extensions = glTF_KHR_materials_unlit.Serialize(),
|
||||
extensions = glTF_KHR_materials_unlit.Serialize().Parse(),
|
||||
});
|
||||
Assert.AreEqual("UniGLTF/UniUnlit", shader.name);
|
||||
}
|
||||
|
|
@ -69,7 +116,7 @@ namespace UniGLTF
|
|||
{
|
||||
baseColorTexture = new glTFMaterialBaseColorTextureInfo(),
|
||||
},
|
||||
extensions = glTF_KHR_materials_unlit.Serialize(),
|
||||
extensions = glTF_KHR_materials_unlit.Serialize().Parse(),
|
||||
});
|
||||
Assert.AreEqual("UniGLTF/UniUnlit", shader.name);
|
||||
}
|
||||
|
|
@ -84,7 +131,7 @@ namespace UniGLTF
|
|||
baseColorFactor = new float[] { 1, 0, 0, 1 },
|
||||
baseColorTexture = new glTFMaterialBaseColorTextureInfo(),
|
||||
},
|
||||
extensions = glTF_KHR_materials_unlit.Serialize(),
|
||||
extensions = glTF_KHR_materials_unlit.Serialize().Parse(),
|
||||
});
|
||||
Assert.AreEqual("UniGLTF/UniUnlit", shader.name);
|
||||
}
|
||||
|
|
@ -98,7 +145,7 @@ namespace UniGLTF
|
|||
{
|
||||
baseColorFactor = new float[] { 1, 0, 0, 1 },
|
||||
},
|
||||
extensions = glTF_KHR_materials_unlit.Serialize(),
|
||||
extensions = glTF_KHR_materials_unlit.Serialize().Parse(),
|
||||
});
|
||||
Assert.AreEqual("UniGLTF/UniUnlit", shader.name);
|
||||
}
|
||||
|
|
@ -112,7 +159,7 @@ namespace UniGLTF
|
|||
{
|
||||
baseColorTexture = new glTFMaterialBaseColorTextureInfo(),
|
||||
},
|
||||
extensions = glTF_KHR_materials_unlit.Serialize(),
|
||||
extensions = glTF_KHR_materials_unlit.Serialize().Parse(),
|
||||
});
|
||||
Assert.AreEqual("UniGLTF/UniUnlit", shader.name);
|
||||
}
|
||||
|
|
@ -127,7 +174,7 @@ namespace UniGLTF
|
|||
baseColorFactor = new float[] { 1, 0, 0, 1 },
|
||||
baseColorTexture = new glTFMaterialBaseColorTextureInfo(),
|
||||
},
|
||||
extensions = glTF_KHR_materials_unlit.Serialize(),
|
||||
extensions = glTF_KHR_materials_unlit.Serialize().Parse(),
|
||||
});
|
||||
Assert.AreEqual("UniGLTF/UniUnlit", shader.name);
|
||||
}
|
||||
|
|
@ -141,7 +188,7 @@ namespace UniGLTF
|
|||
{
|
||||
baseColorTexture = new glTFMaterialBaseColorTextureInfo(),
|
||||
},
|
||||
extensions = glTF_KHR_materials_unlit.Serialize(),
|
||||
extensions = glTF_KHR_materials_unlit.Serialize().Parse(),
|
||||
});
|
||||
Assert.AreEqual("UniGLTF/UniUnlit", shader.name);
|
||||
}
|
||||
|
|
@ -156,7 +203,7 @@ namespace UniGLTF
|
|||
baseColorFactor = new float[] { 1, 0, 0, 1 },
|
||||
baseColorTexture = new glTFMaterialBaseColorTextureInfo(),
|
||||
},
|
||||
extensions = glTF_KHR_materials_unlit.Serialize(),
|
||||
extensions = glTF_KHR_materials_unlit.Serialize().Parse(),
|
||||
});
|
||||
Assert.AreEqual("UniGLTF/UniUnlit", shader.name);
|
||||
}
|
||||
|
|
@ -165,7 +212,7 @@ namespace UniGLTF
|
|||
// default
|
||||
var shader = shaderStore.GetShader(new glTFMaterial
|
||||
{
|
||||
extensions = glTF_KHR_materials_unlit.Serialize(),
|
||||
extensions = glTF_KHR_materials_unlit.Serialize().Parse(),
|
||||
});
|
||||
Assert.AreEqual("UniGLTF/UniUnlit", shader.name);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ namespace UniGLTF
|
|||
#endregion
|
||||
|
||||
#region for Import
|
||||
ListTreeNode<JsonValue> m_json;
|
||||
readonly ListTreeNode<JsonValue> m_json;
|
||||
public glTFExtension(ListTreeNode<JsonValue> json)
|
||||
{
|
||||
m_json = json;
|
||||
|
|
@ -51,7 +51,7 @@ namespace UniGLTF
|
|||
///
|
||||
/// parse exported value
|
||||
/// </summary>
|
||||
public void Parse()
|
||||
public glTFExtension Parse()
|
||||
{
|
||||
var f = new JsonFormatter();
|
||||
f.BeginMap();
|
||||
|
|
@ -64,7 +64,7 @@ namespace UniGLTF
|
|||
|
||||
var b = f.GetStoreBytes();
|
||||
var json = Encoding.UTF8.GetString(b.Array, b.Offset, b.Count);
|
||||
m_json = json.ParseAsJson();
|
||||
return new glTFExtension(json.ParseAsJson());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,9 +11,6 @@ namespace VRM
|
|||
{
|
||||
public class VRMImporterContext : ImporterContext
|
||||
{
|
||||
const string HUMANOID_KEY = "humanoid";
|
||||
const string MATERIAL_KEY = "materialProperties";
|
||||
|
||||
public VRM.glTF_VRM_extensions VRM { get; private set; }
|
||||
|
||||
public VRMImporterContext()
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user