mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-05-07 22:04:50 -05:00
64 lines
2.3 KiB
C#
64 lines
2.3 KiB
C#
using System;
|
|
using VrmLib;
|
|
|
|
namespace UniVRM10
|
|
{
|
|
public static class LookAtAdapter
|
|
{
|
|
public static LookAtRangeMap FromGltf(this UniGLTF.Extensions.VRMC_vrm.LookAtRangeMap map)
|
|
{
|
|
return new LookAtRangeMap
|
|
{
|
|
InputMaxValue = map.InputMaxValue.Value,
|
|
OutputScaling = map.OutputScale.Value,
|
|
};
|
|
}
|
|
|
|
public static LookAtType FromGltf(this UniGLTF.Extensions.VRMC_vrm.LookAtType src)
|
|
{
|
|
switch (src)
|
|
{
|
|
case UniGLTF.Extensions.VRMC_vrm.LookAtType.bone: return LookAtType.Bone;
|
|
case UniGLTF.Extensions.VRMC_vrm.LookAtType.expression: return LookAtType.Expression;
|
|
}
|
|
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public static LookAt FromGltf(this UniGLTF.Extensions.VRMC_vrm.LookAt src)
|
|
{
|
|
return new LookAt
|
|
{
|
|
OffsetFromHeadBone = src.OffsetFromHeadBone.ToVector3(),
|
|
LookAtType = src.LookAtType.FromGltf(),
|
|
HorizontalInner = src.LookAtHorizontalInner.FromGltf(),
|
|
HorizontalOuter = src.LookAtHorizontalOuter.FromGltf(),
|
|
VerticalUp = src.LookAtVerticalUp.FromGltf(),
|
|
VerticalDown = src.LookAtVerticalDown.FromGltf(),
|
|
};
|
|
}
|
|
|
|
public static UniGLTF.Extensions.VRMC_vrm.LookAtRangeMap ToGltf(this LookAtRangeMap map)
|
|
{
|
|
return new UniGLTF.Extensions.VRMC_vrm.LookAtRangeMap
|
|
{
|
|
InputMaxValue = map.InputMaxValue,
|
|
OutputScale = map.OutputScaling,
|
|
};
|
|
}
|
|
|
|
public static UniGLTF.Extensions.VRMC_vrm.LookAt ToGltf(this LookAt lookAt)
|
|
{
|
|
var dst = new UniGLTF.Extensions.VRMC_vrm.LookAt
|
|
{
|
|
LookAtType = (UniGLTF.Extensions.VRMC_vrm.LookAtType)lookAt.LookAtType,
|
|
LookAtHorizontalInner = lookAt.HorizontalInner.ToGltf(),
|
|
LookAtHorizontalOuter = lookAt.HorizontalOuter.ToGltf(),
|
|
LookAtVerticalUp = lookAt.VerticalUp.ToGltf(),
|
|
LookAtVerticalDown = lookAt.VerticalDown.ToGltf(),
|
|
OffsetFromHeadBone = lookAt.OffsetFromHeadBone.ToFloat3(),
|
|
};
|
|
return dst;
|
|
}
|
|
}
|
|
} |