The above definition maps the movement of a tracked object onto a surface through a two dimensional array of points and their corresponding Z value being driven by the distance to the tracked object.
1. The first thing we will do is set up the array of points. You could do this with a grid component, but since we want to create a surface which will be a loft of curves. We will start with a single curve and then array that. Once we have an array of curves we can use the Divide Curve Component to get a set of points arrayed along the curves.
2. Me can measure the distance between each of the arrayed points and the centroid of the object being tracked. We then separate the points form that array that are within the distance threshold. Take those points and recreate them using the distance as the Z value. Then remerge the edited points with the points outside of the distance threshold.
3. Be sure to keep the branch structure of the new points. This will allow you to make a set of curves with the points. Then you can loft those curves to create a surface.
4. To map a gradient based on height of the surface we need to create a mesh and then rebuild it. Once we convert the surface to a mesh we can deconstruct the mesh and then recreate it with its vertices and faces. We can give each vertices a color based on its Z value mapped to a gradient.
You can download the above definition here: Surface_Tracking



