public static void ProcessVector3Modifications(IAnimationRecordingState state, ref Dictionary <object, AnimationRecording.Vector3Modification> vector3Modifications) { AnimationClip activeAnimationClip = state.activeAnimationClip; GameObject activeRootGameObject = state.activeRootGameObject; foreach (KeyValuePair <object, AnimationRecording.Vector3Modification> current in vector3Modifications) { AnimationRecording.Vector3Modification value = current.Value; Transform transform = current.Key as Transform; if (!(transform == null)) { EditorCurveBinding baseBinding = default(EditorCurveBinding); if (AnimationUtility.PropertyModificationToEditorCurveBinding(value.last.currentValue, state.activeRootGameObject, out baseBinding) != null) { AnimationRecording.ProcessVector3Modification(state, baseBinding, value.x, transform, "x"); AnimationRecording.ProcessVector3Modification(state, baseBinding, value.y, transform, "y"); AnimationRecording.ProcessVector3Modification(state, baseBinding, value.z, transform, "z"); } } } }