private void Update() { positions.Clear(); for (int i = 0; i < targets.Length; i++) { positions.Add(targets[i].position); } heatmap.UpdatePosition(positions); }
private void UpdateGazePositions() { for (int v = 0; v < analyticsData.views.Count; v++) { ViewData viewData = analyticsData.views[v]; int lastPosition = 0; int nextPosition = 0; for (int p = 0; p < viewData.positions.Count; p++) { if ((float)player.time > viewData.positions[p].t) { lastPosition = p; } else { nextPosition = p; break; } } if (viewData.positions.Count == 0) { continue; } float lerp = ((float)player.time - viewData.positions[lastPosition].t) / (viewData.positions[nextPosition].t - viewData.positions[lastPosition].t); Vector3 currentPosition = Vector3.Lerp(viewData.positions[lastPosition].GetPosition(), viewData.positions[nextPosition].GetPosition(), lerp); positions[v] = currentPosition; } heatmap.UpdatePosition(positions); }