Wheel Visualizer

Wheel Visualizer operator properties for Script Engine. Overlays a 3D wheel model (with textured slices) onto the live video, rotated to follow a Wheel Tracker operator in the same scene. Useful for casino game shows, prize wheels, and broadcast graphics where slice numbers, sponsor logos, or highlight overlays need to stay locked to the spinning wheel. Place this operator on a layer after the Wheel Tracker; the visualizer automatically picks up the tracker's detected angle and renders the wheel using the configured camera and slice texture layer.

Property Type Access Description
TrackerRotationAngleDeg double get Wheel angle (degrees) the visualizer is rendering at this frame. Updates every frame. Useful from scripts for triggering on specific positions or for diagnostics.
TrackerTimeOffset int get/set Frame-time offset applied when reading the tracker angle, as a percentage. [min=-200, max=0, default=0]. 0 uses the most recent tracker angle. Negative values interpolate further back in the angle history; use this to match the visual delay between the tracker frame and the output frame so the overlay stays glued to the wheel.
TextureSourceLayer LayerRenderInfo get/set Layer whose rendered image is sampled and applied across the wheel slices. Build the slice graphics on this layer in the order matching Wheel slice ids so each slice gets its intended artwork.
DrawPoints bool get/set When enabled, draws projected mesh vertex points instead of textured triangles. Useful for verifying that the wheel mesh aligns with the real wheel before applying graphics.
WheelOuterRadius int get/set Outer radius of the wheel, in millimetres. [min=0, max=4000, default=800]. Set to the physical edge of the wheel; pair with Wheel inner radius, mm (slices inner) to define the flat slice band that gets textured.
WheelInnerRadius int get/set Inner radius of the textured slice band, in millimetres. [min=0, max=4000, default=0]. Pixels inside this radius are not painted; raise it to leave the hub uncovered.
WheelStaticRotationOffset double get/set Constant rotation offset applied on top of the tracker angle, in degrees. [min=-180, max=180, default=0]. Use this to align the rendered slice graphics with the real wheel artwork; tweak by small steps until the overlay sits correctly on a known reference frame.
WheelSliceIds string get/set Comma-separated list of slice identifiers, one per slice on the wheel. Their order defines the sampling order around the wheel; pair this with the layout of the Source layer for texture so each slice receives the intended artwork.
NumRadialMeshSegments int get/set Number of radial mesh segments per slice. [min=1, max=128, default=8]. Higher values give smoother curvature on the slice surface at the cost of slightly more rendering work.
NumArcMeshSegments int get/set Number of arc mesh segments per slice. [min=2, max=128, default=8]. Higher values give smoother circular curvature at the slice edges.
NumSlicesUsed int get/set Number of slices from Wheel slice ids to actually render. [min=1, max=100, default=4]. Useful when the source texture only covers part of the wheel, or to limit rendering during setup.
CameraFocalLength float get/set Virtual camera focal length, in millimetres. [min=11, max=100, default=35]. Set to match the focal length of the real broadcast camera so the rendered wheel keeps the same perspective.
CameraPositionX float get/set Virtual camera X position, in millimetres. [min=-10000, max=10000, default=20]. Offsets the camera horizontally relative to the wheel centre.
CameraPositionY float get/set Virtual camera Y position (height), in millimetres. [min=-10000, max=10000, default=1420].
CameraPositionZ float get/set Virtual camera Z position (distance back from wheel), in millimetres. [min=-10000, max=10000, default=-5000].
CameraTargetPositionX float get/set X coordinate of the point the virtual camera is aimed at, in millimetres. [min=-10000, max=10000, default=0].
CameraTargetPositionY float get/set Y coordinate of the point the virtual camera is aimed at, in millimetres. [min=-10000, max=10000, default=-238].
CameraTargetPositionZ float get/set Z coordinate of the point the virtual camera is aimed at, in millimetres. [min=-10000, max=10000, default=0].
CameraRoll float get/set Virtual camera roll, in degrees. [min=-10, max=10, default=0]. Rotates the camera around its forward axis to compensate for a tilted real camera.
FrameCounter int get Frame counter that increments once per rendered output frame. Updates every frame.

Inherits from: AbstractOperator, AbstractAudioMetering.

See also: Wheel Visualizer in Operators — user-facing introduction, screenshots, and section summaries.