원클릭으로
lens-studio-volumetric-drawing
Render smooth 3D tube geometry and splines dynamically for visual effects and drawing apps.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Render smooth 3D tube geometry and splines dynamically for visual effects and drawing apps.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | lens-studio-volumetric-drawing |
| description | Render smooth 3D tube geometry and splines dynamically for visual effects and drawing apps. |
Lens Studio's VolumetricLine package allows you to create high-quality 3D tubes by extruding circular cross-sections along a path. Unlike simple 2D lines, these have actual volumetric geometry that responds to lighting, can be capped, and uses spline interpolation for perfect smoothness.
To define a path, you provide an array of SceneObject points.
const line = this.sceneObject.getComponent("Component.VolumetricLine");
// Define the control points in the room
line.pathPoints = [pointStart, pointMid, pointEnd];
// Configure quality
line.radius = 2.0; // Thickness in cm
line.circleSegments = 16; // Hoop detail
line.interpolationSteps = 10; // Spline smoothness
line.smoothness = 0.5; // Tension
// Color and Material
line.material = myNeonMaterial;
line._color = new vec3(0, 1, 1); // Cyan
The package utilizes Catmull-Rom splines to ensure that the line passes smoothly through every control point without sharp corners.
// Internal math pattern for spline calculation
function catmullRom(p0: vec3, p1: vec3, p2: vec3, p3: vec3, t: number) {
// Spline tension math...
return resultPos;
}
For visualizing spatial relationships without committing to full geometry, you can use the Line gizmo, which provides a performant 2D line that renders in 3D space with gradient support.
const gizmo = this.sceneObject.getComponent("Component.Line");
gizmo.startPointObject = userHand;
gizmo.endPointObject = targetObject;
gizmo.beginColor = new vec3(1, 0, 0); // Red
gizmo.endColor = new vec3(0, 0, 1); // Blue
continuousUpdate to save CPU and GPU cycles.RenderMeshVisual to tint and shade.The code logic below is extracted from the official VolumetricLine.lspkg and RuntimeGizmos.lspkg packages.
See the reference guides:
Reference guide for 2D UI and screen-space interaction in Lens Studio — covering ScreenTransform anchors/offsets/size/pivot and coordinate conversions (localPointToScreenPoint, screenPointToLocalPoint, localPointToWorldPoint), ScreenImage (texture, stretch mode, color tint), Text component (content, font, alignment, color, size), ScreenRegionComponent for defining tap/touch areas, TouchComponent with TouchStartEvent/TouchMoveEvent/TouchEndEvent, tap input for phone lenses, LSTween UI animations (colorTo, moveTo on screen elements), multi-swatch color picker pattern, undo stack pattern, and common gotchas. Use this skill whenever a lens needs a 2D UI panel, tap interaction, on-screen buttons, text labels, color pickers, swipeable menus, or undo/redo — covering Drawing, Quiz, TappableQuestion, MemeSticker, MusicVideo, and HighScore examples.
Learn how to programmatically request and manage raw camera textures and crops.
Reference guide for face and body AR tracking in Lens Studio — covering FaceTrackingComponent setup (multi-face, faceIndex), FaceInset and FaceMask effects, 2D and 3D Face Attachments (hat/mouth/left_eye/right_eye anchors), Face Mesh UV texturing, Face Landmarks (68 keypoints), Face Expression weights for mouth-open/eye-blink detection, Eye Tracking component (left/right eye direction), Upper Body Tracking 3D asset (hips/spine/shoulder attachment points), Upper Body Mesh for seamless selfie occlusion, and Face Retouch/Eye Color/Face Liquify/Face Stretch effects. Use this skill for any phone or front-camera lens involving faces, selfie effects, makeup, face masks, 3D head ornaments, body tracking, or expression-driven animations — covering the vast majority of Snapchat lens content.
Learn how to dynamically instantiate prefabs algorithmically in grid or spherical patterns.
Implement proximity-based triggers and smooth tethering behaviors for interactive objects.
Learn how to track image markers and detach the tracked content into World Space in AR.