vJSONPathFrame
Builds a tangent, normal and binormal frame at every point of a path.

vJSONPathFrame takes a path and outputs a packet with the path and three vectors for each point. Up Mode picks the reference direction that keeps the frames from turning around the path.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| Up Mode | Dropdown | World Y | World Y (default), World Z or Custom. The reference direction for the normal. |
| Custom Up X | Float | 0 | X of the custom up vector. Default 0. Shown for Custom. |
| Custom Up Y | Float | 1 | Y of the custom up vector. Default 1. Shown for Custom. |
| Custom Up Z | Float | 0 | Z of the custom up vector. Default 0. Shown for Custom. |
| Flip Tangent | Integer | 0 | Reverses the tangent vectors when on. Default off. |
+2 more parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| Closed Path | Integer | 0 | Treats the path as a closed loop when on. Default off. A closed flag in the input packet also closes it. |
| Path/Packet | DATATYPE | — | A point array, or a packet with a path. |
Read the full description
The tangent at each point is the direction from the previous to the next point, so the end points use their one neighbor. With Closed Path on, the path wraps around. The normal comes from the cross product of the up vector and the tangent, the binormal from the tangent and the normal, and the normal is then recomputed from the binormal and the tangent.
Up Mode is World Y (default), World Z or Custom with Custom Up X, Y and Z (default 0, 1, 0, shown for Custom). A zero up vector becomes 0, 1, 0. Flip Tangent reverses the tangent vectors. The output packet holds the path, tangent, normal, binormal and the closed flag, for nodes such as vJSONPathTwist.
The input is a point array or a packet with a path.
Example Connections
- Frames for a path, then twist
- Frames to a sweep
vJSONPointsOnArc.Output -> vJSONPathFrame.PathPacket
vJSONPathFrame.Output -> vJSONPathTwist.PathFramePacket
vJSONPathTwist.Output -> vJSONRenderSweepProfile.PathPacket
vJSONPointsOnCircle.Output -> vJSONPathFrame.PathPacket
vJSONPathFrame.Output -> vJSONRenderSweepProfile.PathPacket