Token导航 LogoToken导航TokenDH.com
效率权限需确认clawhub未标认证来源可访问clear审计通过

threejsThree.js 3D 开发

Agent Skill

threejs 用于辅助前端页面、组件、样式和交互逻辑开发,适合在 OpenClaw 中需要维护前端项目、生成组件或检查界面实现时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

62,767

周安装

2,564

GitHub Stars

6

下载量

20,102
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:threejs(Three.js 3D 开发)
来源仓库:https://github.com/ivangdavila/threejs
安装命令:
openclaw skills install threejs
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install threejs

简介

用于辅助前端页面和组件的开发与维护。

  • 适合维护前端项目或生成 Three.js 相关组件。
  • 可结合来源仓库继续核验具体用法。threejs 属于效率类 Skill,可作为该场景下的辅助能力补充。
  • 安装前建议确认权限范围和维护状态。适用宿主包括 OpenClaw,接入前应确认版本、权限和运行环境要求。
  • 注意是否会触发联网或命令执行操作。

SKILL.md

name
Three.js
description
Build 3D web experiences with proper resource management and performance patterns.
metadata
{"clawdbot":{"emoji":"🎮","requires":{"bins":["node"]},"os":["linux","darwin","win32"]}}

Three.js Production Patterns

Resource Cleanup

  • Call .dispose() on geometries, materials, and textures before removing objects — Three.js never garbage collects GPU resources automatically
  • When removing a mesh: mesh.geometry.dispose(); mesh.material.dispose(); scene.remove(mesh) — missing any step causes memory leaks
  • Textures loaded via TextureLoader stay in GPU memory forever unless explicitly disposed — track and clean up on scene transitions

Render Loop

  • Always use renderer.setAnimationLoop(animate) instead of manual requestAnimationFrame — it handles VR, pauses when tab is hidden, and provides proper timing
  • For animations, use clock.getDelta() for frame-independent movement — raw frame counting breaks on different refresh rates

Responsive Canvas

  • On window resize, update both camera aspect AND renderer size: camera.aspect = width/height; camera.updateProjectionMatrix(); renderer.setSize(width, height)
  • Missing updateProjectionMatrix() after aspect change causes stretched/squished rendering
  • Use renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2)) — values above 2 kill performance with minimal visual benefit

Imports and Setup

  • OrbitControls and other addons: import { OrbitControls } from 'three/addons/controls/OrbitControls.js' — the path varies by bundler, check your setup
  • Always set controls.enableDamping = true with OrbitControls and call controls.update() in render loop — without this, damping silently fails

Lighting

  • MeshBasicMaterial ignores all lights — use MeshStandardMaterial or MeshPhongMaterial for lit scenes
  • Add ambient light (new THREE.AmbientLight(0xffffff, 0.5)) as baseline — scenes with only directional lights have pitch-black shadows
  • HDR environment maps via PMREMGenerator give far better reflections than point lights on metallic materials

Loading Assets

  • GLTFLoader is the standard for 3D models — use Draco compression for large meshes (add DRACOLoader)
  • Texture loading is async — models may render black until textures load; use LoadingManager for loading screens
  • CORS blocks textures from other domains — host assets on same origin or configure proper CORS headers

Camera Issues

  • Default near/far planes (0.1 to 1000) cause z-fighting on large scenes — adjust to smallest range that fits your scene
  • Camera inside an object renders nothing — check position after loading external models (they may have unexpected transforms)
  • PerspectiveCamera FOV is vertical, not horizontal — 75 degrees is a common default

Performance

  • Merge static geometries with BufferGeometryUtils.mergeBufferGeometries() — each mesh is a draw call, fewer meshes = faster
  • Use InstancedMesh for many identical objects — hundreds of draw calls become one
  • Set object.frustumCulled = true (default) but verify large objects aren't disappearing at edges — bounding sphere may be wrong
  • Call renderer.info to debug draw calls, triangles, and textures in memory

Animation

  • AnimationMixer requires mixer.update(delta) every frame with actual delta time — passing 0 or skipping frames breaks animations
  • Skinned meshes (characters) need SkeletonHelper during development to debug bone issues

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

98.99%
按下载量换算19,899

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

未展示

权限和风险

权限需确认

当前来源未能明确判断权限范围,默认进入异常复核队列。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills