Пример #1
0
        protected virtual void ApplyTextureTransform(GLTF.Schema.TextureInfo def, UnityEngine.Material mat, string texName)
        {
            GLTF.Schema.Extension extension;
            if (_root.ExtensionsUsed != null &&
                _root.ExtensionsUsed.Contains(ExtTextureTransformExtensionFactory.EXTENSION_NAME) &&
                def.Extensions != null &&
                def.Extensions.TryGetValue(ExtTextureTransformExtensionFactory.EXTENSION_NAME, out extension))
            {
                ExtTextureTransformExtension ext = (ExtTextureTransformExtension)extension;

                Vector2 temp = ext.Offset.ToUnityVector2();
                temp = new Vector2(temp.x, -temp.y);
                mat.SetTextureOffset(texName, temp);

                mat.SetTextureScale(texName, ext.Scale.ToUnityVector2());
            }
        }
Пример #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("GLTFSerialization CLI");
            if (args.Length == 0)
            {
                Console.WriteLine("Usage:");
                Console.WriteLine("  GLTFSerializationCLI [gltf_file]");

                goto exit;
            }

            Stream stream;

            try
            {
                stream = System.IO.File.OpenRead(args[0]);
            }
            catch (DirectoryNotFoundException)
            {
                Console.WriteLine("Directory not found");
                goto exit;
            }
            catch (FileNotFoundException)
            {
                Console.WriteLine("File not found");
                goto exit;
            }

            GLTFRoot root;

            GLTFParser.ParseJson(stream, out root);
            ExtTextureTransformExtension ext = (ExtTextureTransformExtension)
                                               root.Materials[1].PbrMetallicRoughness.BaseColorTexture.Extensions["EXT_texture_transform"];

            root.Serialize(Console.Out);
            Console.WriteLine();

exit:
            if (System.Diagnostics.Debugger.IsAttached)
            {
                Console.WriteLine("Press Enter to exit...");
                Console.ReadLine();
            }
        }