mcpField
T
threejs-geometry

threejs-geometry

github.com/cesartevisual开发11348 次安装7 周前更新
代码仓库

关于 threejs-geometry

面向 Three.js 项目几何体与实例化工作的编码技能,指导开发者选择几何方案、管理动态更新并验证结果,同时遵循项目现有版本和架构。

主要功能

  1. 01选择内置、自定义或实例化几何体
  2. 02管理索引几何体与顶点属性
  3. 03更新动态缓冲区和边界
  4. 04维护实例 ID、变换与颜色
  5. 05验证光照、剔除、接缝和拾取

适用场景

  1. 01构建自定义或重复的 3D 形状
  2. 02在渲染期间更新几何体
  3. 03实现实例级选择与拾取

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/cesartevisual/threejs-skills --skill threejs-geometry

安装后在 Claude Code 中输入/threejs-geometry确认已加载。

详细介绍

几何体与实例化

使用项目已安装的版本和现有架构。这些说明是对用户任务的补充,不授权进行无关更改或外部操作。

简单形状使用内置几何体,自定义拓扑使用 BufferGeometry,重复的几何体/材质组合使用实例化。拓扑密度应根据轮廓和变形需求确定,不要随意设置过高的分段数。

有意选择索引式或非索引式数据。属性的顶点数必须一致;三角形绕序决定正面朝向。UV 接缝和硬法线可能需要复制顶点。在适当情况下,拓扑更改后应重新计算法线;法线本身不会生成缺失的 UV 或切线。

对于动态属性,预先分配容量,在首次渲染前选择用法,修改类型化数组,并设置 needsUpdate 标志。使用受支持的更新范围进行局部写入。更改导致剔除或拾取失效时,刷新包围体。包围盒不一定是精确的碰撞形状。

使用 InstancedMesh 时,保持实例 ID 与应用程序 ID 之间的映射稳定。更新实例矩阵/颜色及其 needsUpdate 标志;实例变换更改后重新计算包围体。如果一个过大的包围体会影响剔除效果,应按空间拆分大型实例集合。规划好选择/高亮方案,避免为每个实例克隆材质。

明确管理生成的几何体的所有权,复用不可变资源,并且仅在最后一个使用者释放几何体后才将其销毁。在定向光照下检查法线,在棋盘格纹理下检查接缝,在摄像机边缘检查剔除效果,并在更新后检查逐实例拾取。

API 参考

请参阅官方文档,了解准确的签名和特定版本的行为。如果无法访问文档,请检查已安装的类型/源码,并说明任何尚存的不确定之处。

评论

支持 Markdown