static void FillMissingTransformCurves(List <EditorCurveBinding> bindings) { if (!AnimationWindowUtility.IsActualTransformCurve(bindings[0]) || bindings.Count >= 3) { return; } var binding = bindings[0]; var prefixPropertyName = binding.propertyName.Split('.').First(); binding.isPhantom = true; if (!bindings.Any(p => p.propertyName.EndsWith(".x"))) { binding.propertyName = prefixPropertyName + ".x"; bindings.Insert(0, binding); } if (!bindings.Any(p => p.propertyName.EndsWith(".y"))) { binding.propertyName = prefixPropertyName + ".y"; bindings.Insert(1, binding); } if (!bindings.Any(p => p.propertyName.EndsWith(".z"))) { binding.propertyName = prefixPropertyName + ".z"; bindings.Insert(2, binding); } }