/// <summary> /// Try to add recorded face data to a Timeline and create a face recording object that references this recorded data /// </summary> /// <param name="timeline">The Timeline that holds recorded data</param> /// <param name="newAssets">List to be filled out with newly created Assets other than the Data Recording. /// This method adds none.</param> /// <returns>The face recording object, or null if creation fails</returns> public override DataRecording TryCreateDataRecording(TimelineAsset timeline, List <Object> newAssets) { if (!m_HasProvider) { Debug.LogWarning("Failed to create face tracking recording. No face tracking provider available."); return(null); } var signalTrack = timeline.CreateTrack <SignalTrack>(null, "Face Tracking Events"); foreach (var faceEvent in m_FaceEvents) { var marker = signalTrack.CreateMarker <FaceEventMarker>(faceEvent.Time); marker.SetData(faceEvent); } var recording = FaceTrackingRecording.Create(signalTrack, this.GetCurrentMaximumFaceCount(), m_LandmarkEnumValues, m_ExpressionEnumValues); recording.hideFlags = HideFlags.NotEditable; return(recording); }
public void SetupFromRecording(FaceTrackingRecording recording) { m_MaxFaceCount = recording.MaxFaceCount; m_LandmarkEnumValues = recording.LandmarkEnumValues; m_ExpressionEnumValues = recording.ExpressionEnumValues; }