Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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 });
        }