This commit is contained in:
ousttrue
2021-05-19 16:01:26 +09:00
parent 5212cf6ce7
commit 3f7fa08f0a

View File

@@ -31,7 +31,7 @@ namespace VRM
var go = loader.Root;
var fp = go.GetComponent<VRMFirstPerson>();
GameObject.DestroyImmediate(go.GetComponent<VRMLookAtBoneApplyer>());
go.AddComponent<VRMLookAtBlendShapeApplyer>();
var lookAt = go.AddComponent<VRMLookAtBlendShapeApplyer>();
bytes = VRMEditorExporter.Export(go, null, new VRMExportSettings
{
PoseFreeze = true,
@@ -40,9 +40,80 @@ namespace VRM
var parser2 = new GltfParser();
parser2.Parse(AliciaPath, bytes);
var loader2 = new VRMImporterContext(parser2);
using (var loader2 = new VRMImporterContext(parser2))
{
Assert.AreEqual(LookAtType.BlendShape, loader2.VRM.firstPerson.lookAtType);
}
}
Assert.AreEqual(LookAtType.BlendShape, loader2.VRM.firstPerson.lookAtType);
[Test]
public void VRMLookAtCurveMapWithFreezeTest()
{
var parser = new GltfParser();
parser.ParsePath(AliciaPath);
byte[] bytes = default;
CurveMapper horizontalInner = default;
using (var loader = new VRMImporterContext(parser))
{
loader.Load();
loader.ShowMeshes();
var go = loader.Root;
var fp = go.GetComponent<VRMFirstPerson>();
var lookAt = go.GetComponent<VRMLookAtBoneApplyer>();
horizontalInner = lookAt.HorizontalInner;
bytes = VRMEditorExporter.Export(go, null, new VRMExportSettings
{
PoseFreeze = true,
});
}
var parser2 = new GltfParser();
parser2.Parse(AliciaPath, bytes);
using (var loader = new VRMImporterContext(parser2))
{
loader.Load();
loader.ShowMeshes();
var lookAt = loader.Root.GetComponent<VRMLookAtBoneApplyer>();
Assert.AreEqual(horizontalInner.CurveXRangeDegree, lookAt.HorizontalInner.CurveXRangeDegree);
Assert.AreEqual(horizontalInner.CurveYRangeDegree, lookAt.HorizontalInner.CurveYRangeDegree);
}
}
[Test]
public void VRMLookAtCurveMapTest()
{
var parser = new GltfParser();
parser.ParsePath(AliciaPath);
byte[] bytes = default;
CurveMapper horizontalInner = default;
using (var loader = new VRMImporterContext(parser))
{
loader.Load();
loader.ShowMeshes();
var go = loader.Root;
var fp = go.GetComponent<VRMFirstPerson>();
var lookAt = go.GetComponent<VRMLookAtBoneApplyer>();
horizontalInner = lookAt.HorizontalInner;
bytes = VRMEditorExporter.Export(go, null, new VRMExportSettings
{
PoseFreeze = false,
});
}
var parser2 = new GltfParser();
parser2.Parse(AliciaPath, bytes);
using (var loader = new VRMImporterContext(parser2))
{
loader.Load();
loader.ShowMeshes();
var lookAt = loader.Root.GetComponent<VRMLookAtBoneApplyer>();
Assert.AreEqual(horizontalInner.CurveXRangeDegree, lookAt.HorizontalInner.CurveXRangeDegree);
Assert.AreEqual(horizontalInner.CurveYRangeDegree, lookAt.HorizontalInner.CurveYRangeDegree);
}
}
}
}