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()); } }
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(); } }