threejs-geometry

Create Three.js geometries from primitives, paths, and custom BufferGeometry.

Updated May 6, 2026
One-click install
npx skills add https://github.com/Uniquecrete/ThinkFasterv1 --skill threejs-geometry-uniquecrete
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: threejs-geometry
Source: https://github.com/Uniquecrete/ThinkFasterv1/tree/main/Skills/threejs-geometry
Command: npx skills add https://github.com/Uniquecrete/ThinkFasterv1 --skill threejs-geometry-uniquecrete

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Threejs-geometry helps you quickly create correct, GPU-efficient 3D geometry for meshes, custom shapes, and scalable instanced scenes without manually wrestling with low-level BufferGeometry setup.

Core Features & Use Cases

  • Built-in geometry creation: Use BoxGeometry, SphereGeometry, PlaneGeometry, and more for common shapes in real-time scenes (e.g., interactive product mockups).
  • Custom geometry with BufferGeometry: Define vertex positions, indices, normals, UVs, and colors using typed arrays for rendering and lighting (e.g., a procedural terrain patch).
  • Advanced rendering patterns: Use InstancedMesh and InstancedBufferGeometry to efficiently render thousands of identical objects with per-instance transforms, colors, and attributes (e.g., particle-like crowds, voxel clouds).

Quick Start

Use the threejs-geometry skill to generate a BoxGeometry or SphereGeometry mesh and add it to your Three.js scene using an appropriate MeshStandardMaterial for immediate visualization.

Frequently Asked Questions about threejs-geometry

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create custom Three.js BufferGeometry with typed arrays?

To create custom Three.js BufferGeometry, define vertex position, normal, uv, and color attributes using typed arrays, then set indices to structure the mesh data for GPU-efficient rendering and lighting.

What is InstancedBufferGeometry used for in Three.js?

InstancedBufferGeometry in Three.js is used for performance-critical rendering, allowing thousands of identical objects to be drawn efficiently with per-instance transforms and attributes via InstancedMesh.

Can I use Three.js built-in primitives for procedural modeling?

Yes, you can use built-in Three.js primitives like BoxGeometry and SphereGeometry for procedural modeling, and merge them using geometry utilities to build complex scenes.

What's the best way to render thousands of identical meshes in Three.js?

The best way to render thousands of identical meshes in Three.js is using InstancedMesh, which applies per-instance transforms and attributes to avoid CPU bottlenecks in scalable scenes.

Do I need to set normals and UVs for a custom Three.js geometry?

Yes, you need to set normals and UVs for custom Three.js geometry to ensure correct lighting calculations and texture mapping when rendering the mesh in a real-time scene.

Why does my custom BufferGeometry render with broken lighting?

Custom BufferGeometry renders with broken lighting when normal attributes are missing or incorrectly defined, requiring correct typed-array setup to ensure proper shading and rendering.