您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

54 行
1.8 KiB

using UniGLTF;
using UniGLTF.Extensions.VRMC_materials_mtoon;
using UnityEngine;
namespace UniVRM10
{
public static class Vrm10MaterialExportUtils
{
public static void ExportTextureTransform(glTFTextureInfo textureInfo, Vector2 unityScale, Vector2 unityOffset)
{
if (textureInfo == null)
{
return;
}
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));
}
public static void ExportTextureTransform(TextureInfo textureInfo, Vector2 unityScale, Vector2 unityOffset)
{
if (textureInfo == null)
{
return;
}
// Generate extension to empty holder.
var gltfTextureInfo = new EmptyGltfTextureInfo();
ExportTextureTransform(gltfTextureInfo, unityScale, unityOffset);
// Copy extension from empty holder.
textureInfo.Extensions = gltfTextureInfo.extensions;
}
public static void ExportTextureTransform(ShadingShiftTextureInfo textureInfo, Vector2 unityScale, Vector2 unityOffset)
{
if (textureInfo == null)
{
return;
}
// Generate extension to empty holder.
var gltfTextureInfo = new EmptyGltfTextureInfo();
ExportTextureTransform(gltfTextureInfo, unityScale, unityOffset);
// Copy extension from empty holder.
textureInfo.Extensions = gltfTextureInfo.extensions;
}
private sealed class EmptyGltfTextureInfo : glTFTextureInfo
{
}
}
}