diff --git a/FModel/ViewModels/AnimGraphViewModel.cs b/FModel/ViewModels/AnimGraphViewModel.cs index f1e4061e..5785b3d6 100644 --- a/FModel/ViewModels/AnimGraphViewModel.cs +++ b/FModel/ViewModels/AnimGraphViewModel.cs @@ -215,9 +215,11 @@ public class AnimGraphViewModel /// private static string GetLayerName(List nodes, int index) { - // The final output pose layer contains an AnimGraphNode_Root with Name="AnimGraph" + // The final output pose layer contains an AnimGraphNode_Root whose + // "Name" property (in AdditionalProperties) is set to "AnimGraph" var rootNode = nodes.FirstOrDefault(n => - n.Name.Equals("AnimGraph", StringComparison.OrdinalIgnoreCase)); + n.AdditionalProperties.TryGetValue("Name", out var name) && + name.Equals("AnimGraph", StringComparison.OrdinalIgnoreCase)); if (rootNode != null) return "AnimGraph"; diff --git a/FModel/Views/AnimGraphViewer.xaml.cs b/FModel/Views/AnimGraphViewer.xaml.cs index 773b0044..c6eb207d 100644 --- a/FModel/Views/AnimGraphViewer.xaml.cs +++ b/FModel/Views/AnimGraphViewer.xaml.cs @@ -68,9 +68,11 @@ public partial class AnimGraphViewer return; // Show only the final output pose layer (AnimGraph) initially. - // The root node of the output layer is an AnimGraphNode_Root with Name="AnimGraph". + // The root node of the output layer has a "Name" property set to "AnimGraph" + // in its AdditionalProperties (from the AnimGraphNode_Root struct). var outputLayer = _viewModel.Layers.FirstOrDefault(l => - l.Nodes.Any(n => n.Name.Equals("AnimGraph", StringComparison.OrdinalIgnoreCase))) + l.Nodes.Any(n => n.AdditionalProperties.TryGetValue("Name", out var name) && + name.Equals("AnimGraph", StringComparison.OrdinalIgnoreCase))) ?? _viewModel.Layers[0]; var layersToShow = new[] { outputLayer };