public void TextureTransformTest() { var tex0 = new Texture2D(128, 128) { wrapMode = TextureWrapMode.Repeat, filterMode = FilterMode.Bilinear, }; var textureManager = new TextureExportManager(new Texture[] { tex0 }); var srcMaterial = new Material(Shader.Find("Standard")); var offset = new Vector2(0.3f, 0.2f); var scale = new Vector2(0.5f, 0.6f); srcMaterial.mainTexture = tex0; srcMaterial.mainTextureOffset = offset; srcMaterial.mainTextureScale = scale; var materialExporter = new MaterialExporter(); var gltfMaterial = materialExporter.ExportMaterial(srcMaterial, textureManager); var shaderStore = new ShaderStore(null); var materialImporter = new MaterialImporter(shaderStore, (int index) => { return(null); }); var dstMaterial = materialImporter.CreateMaterial(0, gltfMaterial, false); Assert.AreEqual(dstMaterial.mainTextureOffset.x, offset.x, 0.001f); Assert.AreEqual(dstMaterial.mainTextureOffset.y, offset.y, 0.001f); Assert.AreEqual(dstMaterial.mainTextureScale.x, scale.x, 0.001f); Assert.AreEqual(dstMaterial.mainTextureScale.y, scale.y, 0.001f); }
public void MaterialExportTest() { var material = new Material(Shader.Find("Standard")); material.SetColor("_EmissionColor", new Color(0, 1, 2, 1)); material.EnableKeyword("_EMISSION"); var materialExporter = new MaterialExporter(); var textureExportManager = new TextureExportManager(new Texture[] { }); var gltfMaterial = materialExporter.ExportMaterial(material, textureExportManager); Assert.AreEqual(gltfMaterial.emissiveFactor, new float[] { 0, 0.5f, 1 }); }