Exemplo n.º 1
0
    private void Update()
    {
        positions.Clear();

        for (int i = 0; i < targets.Length; i++)
        {
            positions.Add(targets[i].position);
        }

        heatmap.UpdatePosition(positions);
    }
Exemplo n.º 2
0
    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);
    }