using System.Collections.Generic;
using UnityEngine;
public class RuntimeAnimationRecorder : MonoBehaviour
{
public string savePath;
public int frameRate = 30;
private bool isRecording = false;
private float timeSinceStart = 0f;
private List<Transform> bones;
private List<Quaternion> rotations;
private List<Vector3> positions;
void Start()
{
bones = new List<Transform>();
foreach(Transform child in transform)
{
bones.Add(child);
}
rotations = new List<Quaternion>();
positions = new List<Vector3>();
}
public void StartRecording()
{
isRecording = true;
timeSinceStart = 0f;
rotations.Clear();
positions.Clear();
}
public void StopRecording()
{
isRecording = false;
SaveAnimationData();
}
void Update()
{
if (!isRecording) return;
timeSinceStart += Time.deltaTime;
foreach(var bone in bones)
{
rotations.Add(bone.localRotation);
positions.Add(bone.localPosition);
}
}
private void SaveAnimationData()
{
}
}