vrm-1.0 の import/export で TextureTransformBind の変換を追加

This commit is contained in:
ousttrue
2021-09-17 20:47:09 +09:00
parent f371932eea
commit 407d205f56
2 changed files with 7 additions and 4 deletions

View File

@@ -50,13 +50,15 @@ namespace UniVRM10
var binding = default(UniVRM10.MaterialUVBinding?);
if (material != null)
{
var (scale, offset) = UniGLTF.TextureTransform.VerticalFlipScaleOffset(new Vector2(bind.Scale[0], bind.Scale[1]), new Vector2(bind.Offset[0], bind.Offset[1]));
try
{
binding = new UniVRM10.MaterialUVBinding
{
MaterialName = material.name, // 名前で持つべき
Scaling = new Vector2(bind.Scale[0], bind.Scale[1]),
Offset = new Vector2(bind.Offset[0], bind.Offset[1]),
Scaling = scale,
Offset = offset,
};
}
catch (Exception)

View File

@@ -550,11 +550,12 @@ namespace UniVRM10
UniGLTF.Extensions.VRMC_vrm.TextureTransformBind ExportTextureTransformBinding(MaterialUVBinding binding, Func<string, int> getIndex)
{
var (scale, offset) = TextureTransform.VerticalFlipScaleOffset(binding.Scaling, binding.Offset);
return new UniGLTF.Extensions.VRMC_vrm.TextureTransformBind
{
Material = getIndex(binding.MaterialName),
Offset = new float[] { binding.Offset.x, binding.Offset.y },
Scale = new float[] { binding.Scaling.x, binding.Scaling.y },
Offset = new float[] { offset.x, offset.y },
Scale = new float[] { scale.x, scale.y },
};
}