Exemplo n.º 1
0
        private static void ExportTextureTransform(glTFTextureInfo textureInfo, Vector2 unityScale, Vector2 unityOffset)
        {
            var scale  = unityScale;
            var offset = new Vector2(unityOffset.x, 1.0f - unityOffset.y - unityScale.y);

            glTF_KHR_texture_transform.Serialize(textureInfo, (offset.x, offset.y), (scale.x, scale.y));
        }
Exemplo n.º 2
0
 private static void SetTextureOffsetAndScale(Material material, glTFTextureInfo textureInfo, string propertyName)
 {
     if (textureInfo.extensions != null && textureInfo.extensions.KHR_texture_transform != null)
     {
         glTF_KHR_texture_transform khr_texture_transform = textureInfo.extensions.KHR_texture_transform;
         Vector2 vector  = new Vector2(0f, 0f);
         Vector2 vector2 = new Vector2(1f, 1f);
         if (khr_texture_transform.offset != null && khr_texture_transform.offset.Length == 2)
         {
             vector = new Vector2(khr_texture_transform.offset[0], khr_texture_transform.offset[1]);
         }
         if (khr_texture_transform.scale != null && khr_texture_transform.scale.Length == 2)
         {
             vector2 = new Vector2(khr_texture_transform.scale[0], khr_texture_transform.scale[1]);
         }
         vector.y = (vector.y + vector2.y - 1f) * -1f;
         material.SetTextureOffset(propertyName, vector);
         material.SetTextureScale(propertyName, vector2);
     }
 }