SgLathe
Creates a mesh by revolving a 2D profile around an axis.
Inherits from
Usage
Reference
create
Create a new lathe object in the scenegraph.
Parameters
selfoptions(table): A table of options to fill the parametersparent(SceneObject): The parent scene object to add this to
Returns
Promise: promise which will resolve to the created object
Example
-- Options can be omitted. This example shows the defaults,
-- only specify the ones you want different.
SgLathe.create({
active = true,
name = "",
transform = Transform.new(),
layers = {0},
tags = {},
receiveShadow = false,
castShadow = false,
material = nil,
profilePoints = '[{"x":0,"y":-0.5},{"x":0.5,"y":0},{"x":0,"y":0.5}]',
segments = 12,
phiStart = 0,
phiLength = 360,
uvScale = Vector2.new(1, 1)
})
Properties
You can access these properties directly on the object or through :get("propertyName") or :set("propertyName", value) methods.
| Property | Type | Default | Description |
|---|---|---|---|
| active | Boolean | true | Indicates if the 3D object is currently active or inactive. When set to true, the object is active. |
| static | Boolean | false | Marks the object as immovable during play. Static objects ignore transform changes at runtime and use a fixed physics collider with zero mass. |
| transform | Transform | Transform.new() | Describes the object's transformation attributes including its position, rotation, and scale in the 3D space. |
| layers | Layers | [0] | Defines the layers that the 3D object is part of. Layers are used for managing object interactions and visibility in the scene. |
| tags | Tags | [] | Lists tags associated with the 3D object. Tags are useful for categorizing and searching objects in the scene. |
| receiveShadow | Boolean | false | Determines whether the object can receive shadows from other objects. Set to true if the object should display shadows cast upon it. |
| castShadow | Boolean | false | Controls whether the object casts shadows in the presence of light sources. Set to true to enable shadow casting from this object. |
| rendered | Boolean | true | When disabled, the object and its descendants are not drawn, but may still simulate physics or run scripts. |
| profilePoints | String | [{"x":0,"y":-0.5},{"x":0.5,"y":0},{"x":0,"y":0.5}] | JSON array of {x,y} points defining the lathe profile. |
| segments | Integer | 12 | Number of steps along the profile curve. |
| phiStart | Float | 0 | Starting angle for the lathe revolution. |
| phiLength | Float | 360 | Angular span of the lathed surface. |
| uVScale | Vector2d | Vector2.new(1, 1) | Multiplier for texture coordinates. |
| physicsEnabled | Boolean | false | Turns physics simulation on or off for this object. When disabled, the object keeps its visual transform but does not participate in collisions or forces. |