Creates a torus (donut) mesh primitive with configurable radii and detail.
Takes textureSlots, uvMode, unique, rings (major circle subdivision, clamped 3-128), sides (minor circle subdivision, clamped 3-128), majorRadius (distance from center to tube center), minorRadius (tube thickness radius).
Returns mesh entity handle or 0 on failure.
3D Graphics
Parameters & Returns
Parameters
textureSlotsInt
uvModeInt
uniqueInt
ringsInt
sidesInt
majorRadiusDouble
minorRadiusDouble
Returns
Int
Quick Summary
Creates a torus (donut) mesh primitive with configurable radii and detail.
Takes textureSlots, uvMode, unique, rings (major circle subdivision, clamped 3-128), sides (minor circle subdivision, clamped 3-128), majorRadius (distance from center to tube center), minorRadius (tube thickness radius).
Returns mesh entity handle or 0 on failure.
Technical Exegesis...
Creates a torus (donut) mesh primitive with configurable radii and detail. Takes textureSlots, uvMode, unique, rings (major circle subdivision, clamped 3-128), sides (minor circle subdivision, clamped 3-128), majorRadius (distance from center to tube center), minorRadius (tube thickness radius). Returns mesh entity handle or 0 on failure.
Creates a torus (donut) mesh primitive with configurable radii and detail. Takes textureSlots, uvMode, unique, rings (major circle subdivision, clamped 3-128), sides (minor circle subdivision, clamped 3-128), majorRadius (distance from center to tube center), minorRadius (tube thickness radius). Returns mesh entity handle or 0 on failure. Creates surface-based mesh, generates vertices along major circle (rings), for each position generates minor circle (sides), connects with quads (2 triangles each), sets normals, unlocks. Torus centered at origin, lies in XZ plane. Returns mesh entity handle.
This function creates donut shape for rings, tubes, and circular extrusions. Torus = circle (minor radius) swept around circle (major radius). rings parameter: subdivisions around major circle (donut's main ring), clamped 3-128. sides parameter: subdivisions around minor circle (tube's circumference), clamped 3-128. majorRadius: distance from origin to tube center (donut size). minorRadius: tube thickness (half of tube diameter). Use cases: (1) Rings (jewelry, Saturn's rings), (2) Tires (wheels), (3) Lifesavers/buoys, (4) Circular molding/trim, (5) Magnetic field visualization. Common pattern: torus=b3dCreateTorus(BBR_ONE_SLOT, BBR_TEXTURE_UV, 0, 48, 12, 1.0, 0.25), creates smooth torus with major radius 1.0, minor radius 0.25. Vertex count: rings x sides (each ring-side intersection = 1 vertex). Triangle count: 2 x rings x sides (each quad = 2 triangles). rings=48, sides=12: 576 vertices, 1152 triangles. Quality: higher rings = smoother main circle, higher sides = rounder tube. Typical values: rings=32-64 for smooth outer circle, sides=12-24 for round tube. Normals: point perpendicular to torus surface (outward from local tube center). UV mapping: wraps around both circles (U around major, V around minor). Alternative: b3dCreateCylinder bent into circle for simpler torus, custom swept mesh for non-circular profiles. Radius relationship: majorRadius should be > minorRadius for typical donut (if equal, creates sphere-like shape; if minorRadius > majorRadius, self-intersecting). Modification: surface-based, editable. Orientation: torus lies flat in XZ plane, rotate 90 degrees for vertical orientation.