threejs-objects
/threejs-objects
three.js scene graph objects: Object3D transforms and hierarchy, Group, Mesh, InstancedMesh, SkinnedMesh, BatchedMesh, LOD, Line/LineLoop/LineSegments, Points, Sprite, Bone, Skeleton, ClippingGroup; interaction via Raycaster, Layers masks, and EventDispatcher patterns. Merges the former interaction scope—use for picking and layers; for pure vector math without scene graph use threejs-math; for playing skeletal clips use threejs-animation; for frustum culling internals see camera docs.
- Author
- full-stack-skills ↗
- Repository
- threejs-skills ↗
- Licence
- Apache-2.0
- Last repository change
- 04.10.2026
Assessment and security
- Files in this package
- 3
- Scripts
- 0
- HTML comments
- 0
- URLs in SKILL.md
- 11
No signals detected. Repository changed on 04.10.2026, without references to retired models or APIs.
Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.
What it does and when to use it
three.js scene graph objects: Object3D transforms and hierarchy, Group, Mesh, InstancedMesh, SkinnedMesh, BatchedMesh, LOD, Line/LineLoop/LineSegments, Points, Sprite, Bone, Skeleton, ClippingGroup; interaction via Raycaster, Layers masks, and EventDispatcher patterns. Merges the former interaction scope—use for picking and layers; for pure vector math without scene graph use threejs-math; for playing skeletal clips use threejs-animation; for frustum culling internals see camera docs.
Original author description
three.js scene graph objects: Object3D transforms and hierarchy, Group, Mesh, InstancedMesh, SkinnedMesh, BatchedMesh, LOD, Line/LineLoop/LineSegments, Points, Sprite, Bone, Skeleton, ClippingGroup; interaction via Raycaster, Layers masks, and EventDispatcher patterns. Merges the former interaction scope—use for picking and layers; for pure vector math without scene graph use threejs-math; for playing skeletal clips use threejs-animation; for frustum culling internals see camera docs.
How it works
- When to use this skill
- How to use this skill
- Doc map (official)
- Scope
- Common pitfalls and best practices
- Documentation and version
- Agent response checklist
- References
- Keywords
SKILL.md preview
--- name: threejs-objects license: Apache-2.0 description: "three.js scene graph objects: Object3D transforms and hierarchy, Group, Mesh, InstancedMesh, SkinnedMesh, BatchedMesh, LOD, Line/LineLoop/LineSegments, Points, Sprite, Bone, Skeleton, ClippingGroup; interaction via Raycaster, Layers masks, and EventDispatcher patterns. Merges the former interaction scope—use for picking and layers; for pure vector math without scene graph use threejs-math; for playing skeletal clips use threejs-animation; for frustum culling internals see camera docs." --- ## When to use this skill **ALWAYS use this skill when the user mentions:** - Parent/child relationships, `position/rotation/scale`, `matrixAutoUpdate`, `updateMatrixWorld` - Choosing mesh types: static vs instanced vs skinned vs batched LOD - **Picking**: `Raycaster.setFromCamera`, `intersectObjects`, recursive flag, face/uv results - **Layers**: selective visibility for cameras/lights/objects **IMPORTANT: objects vs math** | Need | Skill | |------|--------| | Scene graph + picking | **threejs-objects** | | Box/ray math only | **threejs-math** | **Trigger phrases include:** - "Object3D", "InstancedMesh", "SkinnedMesh", "Raycaster", "layers" - "父子节点", "射线拾取", "图层" ## How to use this skill 1. **Compose** scenes with `Group` and transforms; minimize deep hierarchies where possible. 2. **Instancing**: set per-instance matrices; understand `count` and frustum culling behavior. 3. **SkinnedMesh**: bind skeleton; clips in **threejs-animation**; skinning material flags in **threejs-materials**. 4. **Picking**: normalize device coords, set ray from camera, filter by layers, sort intersections. 5. **Events**: `EventDispatcher` on custom objects—patterns only, not DOM frameworks. 6. **Clipping**: `ClippingGroup` usage per docs when user needs sectional cuts. 7. **Dispose**: geometries/materials/textures when removing objects permanently. See [examples/workflow-raycaster-pick.md](examples/workflow-raycaster-pick.md). ## Doc map (official) | Docs section | Representative links | |--------------|----------------------| | Core | https://threejs.org/docs/Object3D.html | | Objects | https://threejs.org/docs/Mesh.html | | Objects | https://threejs.org/docs/InstancedMesh.html | | Core | https://threejs.org/docs/Raycaster.html | ## Scope - **In scope:** Object3D graph, renderable object types, raycasting, layers, dispatcher basics. - **Out of scope:** Physics engines; XR input mapping (**threejs-webxr**). ## Common pitfalls and best practices - Forgetting `updateMatrixWorld` before world-space ray tests on moved objects. - Raycaster without `layers` set picks unintended objects—set masks consistently on camera and objects. - InstancedMesh raycast hits need per-instance handling—check docs for your version. ## Documentation and version `Object3D`, mesh types, `Raycaster`, and `Layers` are documented under [Objects](https://threejs.org/docs/#Objects) and [Core](https://threejs.org/docs/Raycaster.html) in [three.js docs](https://threejs.org/docs/). Behavior of picking and layers can shift slightly—link the exact page for the user’s three.js line. ## Agent response checklist When answering under this skill, prefer responses that: 1. Link `Object3D`, `Mesh`, `InstancedMesh`, `Raycaster`, or `Layers` as needed. 2. Pair skeletal animation with **threejs-animation** and skinned mesh setup. 3. Route pure linear-algebra questions without a scene graph to **threejs-math**. 4. Route XR input to **threejs-webxr** when sessions/controllers are involved. 5. Mention `dispose()` for geometries/materials when removing objects permanently. ## References - https://threejs.org/docs/Object3D.html - https://threejs.org/docs/Raycaster.html - https://threejs.org/docs/Layers.html - https://threejs.org/docs/InstancedMesh.html ## Keywords **English:** object3d, mesh, instancedmesh, skinnedmesh, raycaster, layers, scene graph, three.js **中文:** 场景图、Object3D、Mesh、实例化、骨骼网格、射线拾取、图层、three.js
Files in this package (3)
- SKILL.md 4 KB
- agents/openai.yaml 1 KB
- examples/workflow-raycaster-pick.md 1 KB
Versions
The database has no other skills named threejs-objects.
Database snapshot: 13.11.2026 · package version 0486287984a6 (SHA-256 digest of the entire package)
Downloads in the last 30 days: 0 · ranking
Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.
Similar skills
- 100threejs-core-scene-graph
Use when creating Three.js scenes, adding objects, managing parent-child hierarchies, or organizing 3D content. Prevents the common mistake of using add() instead of attach() for reparenting, forgetting matrixAutoUpdate, or missing dispose() calls. Covers Object3D, Scene, Group,… - 100threejs-math
three.js math library: Vector2/3/4, Matrix3/4, Quaternion, Euler, Color, Box2/Box3, Sphere, Plane, Ray, Line3, Triangle, Frustum, Cylindrical/Spherical coords, MathUtils, and Interpolant base classes; addon math utilities such as OBB, Octree, Capsule, ConvexHull,… - 100threejs-interaction
Implement and debug Three.js interaction with Raycaster, pointer and touch coordinate conversion, hover/selection state, camera controls, dragging, keyboard input, and world-to-screen projection. Use when picking objects, adding OrbitControls or PointerLockControls, handling… - 100threejs-core-raycaster
Use when implementing mouse picking, hover detection, object selection, or line-of-sight checks in Three.js. Prevents the common mistake of raycasting every mousemove frame, not using layers for filtering, or missing recursive flag. Covers Raycaster, setFromCamera, intersection… - 100threejs-fundamentals
Three.js scene setup: scenes and fog, cameras, the renderer and tone mapping, the animation loop, object hierarchies, transforms, core math and cleanup, on WebGL or with WebGPU and TSL. Use when creating a scene from scratch, configuring a camera or renderer, handling resize, or arranging objects. - 95threejs-animation
Three.js animation - keyframe animation, skeletal animation, morph targets, animation mixing. Use when animating objects, playing GLTF animations, creating procedural motion, or blending animations.