Skip to content

Commit

Permalink
added missing if statement for recordBlendShapes
Browse files Browse the repository at this point in the history
  • Loading branch information
pfcDorn committed May 24, 2023
1 parent 50c460a commit e1bb4b4
Showing 1 changed file with 21 additions and 13 deletions.
34 changes: 21 additions & 13 deletions UnityGLTF/Assets/UnityGLTF/Runtime/Scripts/Timeline/GLTFRecorder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -102,20 +102,25 @@ public AnimationData(Transform tr, double time, bool zeroScale = false, bool rec
}));
exportPlans.Add(new ExportPlan("scale", typeof(Vector3), x => x, (tr0, _, options) => options.inWorldSpace ? tr0.lossyScale : tr0.localScale));

exportPlans.Add(new ExportPlan("weights", typeof(float[]), x => x.GetComponent<SkinnedMeshRenderer>(), (tr0, x, options) =>
if (recordBlendShapes)
{
if (x is SkinnedMeshRenderer skinnedMesh && skinnedMesh.sharedMesh)
{
var mesh = skinnedMesh.sharedMesh;
var blendShapeCount = mesh.blendShapeCount;
if (blendShapeCount == 0) return null;
var weights = new float[blendShapeCount];
for (var i = 0; i < blendShapeCount; i++)
weights[i] = skinnedMesh.GetBlendShapeWeight(i);
return weights;
}
return null;
}));
exportPlans.Add(new ExportPlan("weights", typeof(float[]),
x => x.GetComponent<SkinnedMeshRenderer>(), (tr0, x, options) =>
{
if (x is SkinnedMeshRenderer skinnedMesh && skinnedMesh.sharedMesh)
{
var mesh = skinnedMesh.sharedMesh;
var blendShapeCount = mesh.blendShapeCount;
if (blendShapeCount == 0) return null;
var weights = new float[blendShapeCount];
for (var i = 0; i < blendShapeCount; i++)
weights[i] = skinnedMesh.GetBlendShapeWeight(i);
return weights;
}
return null;
}));
}

if (recordAnimationPointer)
{
Expand Down Expand Up @@ -288,6 +293,9 @@ public void EndRecording(Stream stream, string sceneName = "scene", GLTFSettings
settings = adjustedSettings;
}

if (!recordBlendShapes)
settings.BlendShapeExportProperties = GLTFSettings.BlendShapeExportPropertyFlags.None;

var logHandler = new StringBuilderLogHandler();

var exporter = new GLTFSceneExporter(new Transform[] { root }, new ExportOptions(settings)
Expand Down

0 comments on commit e1bb4b4

Please sign in to comment.