@dgreenheck/ez-tree

中文文档
1.1.0发布于 2026/01/15MITTypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 11.9万

NPM Version NPM Downloads GitHub Repo stars ! [X (原Twitter) follow] (https:

中文使用文档
文档目录4 节
  1. 一般属性
  2. 桶参数
  3. 分支参数
  4. 叶参数

EZ - Tree 设备

NPM Version NPM Downloads GitHub Repo stars X (formerly Twitter) Follow YouTube Channel Subscribers

关于

EZ-Tree是一个程序树生成器,具有数十个可捕金枪鱼参数. 独立树生成代码作为库来发布,可以被导入到您自己的应用程序中,用于按需要动态生成树. 此外,还有一个独立的网络应用程序允许您在浏览器内创建树并导出为.PNG或.GLB文件.

应用

https://eztree.dev (英语)

安装

npm i @dgreenheck/ez-tree

使用量

// Create new instance
const tree = new Tree();

// Set parameters
tree.options.seed = 12345;
tree.options.trunk.length = 20;
tree.options.branch.levels = 3;

// Generate tree and add to your Three.js scene
tree.generate();
scene.add(tree);

每当树的参数被改变,你必须呼叫 generate() 以再生几何.

本地运行独立应用程序

要在本地运行独立应用程序,您首先需要在运行该应用程序之前建立 EZ-Tree 库.

npm install
npm run app

与 Docker 一起运行 App

docker compose build
docker compose up -d

树参数

这个 TreeOptions 类定义了控制程序生成树的各种参数的选项对象。 这个物体的每个属性都允许定制树的外观,包括树皮,树枝和树叶. 以下详细解释 TreeOptions 对象.

一般属性

  • seed:设置随机生成的初始值,在使用同种种子时确保树生成的一致性.
  • type: 定义树的种类, 它可以设置为从 TreeType 列举(例如, TreeType.Deciduous) (中文(简体) ).

桶参数

这个 bark 对象控制树干外观和属性.

  • type:指定要使用的树皮纹理类型,从 BarkType 列举(例如, BarkType.Oak) (中文(简体) ).
  • tint:确定适用于树皮的颜色锡,定义为十六进制颜色值(例如, 0xffffff 白纸黑字.
  • flatShading:布尔属性表示是否使用平面阴影(true)或平滑阴影(false为了树皮.
  • textured:指向树皮的纹理的布尔值(true 或者说 false) (中文(简体) ).
  • textureScale: 控制树皮纹理在两侧的大小 x 财务报告和审定财务报表 y 斧头. 它是一个有属性的对象 x 财务报告和审定财务报表 y 以定义缩放系数.

分支参数

这个 branch 对象定义树干和分支级的参数.

  • levels: 递归分行级数. 设为 0 只创建树干,而更高的值会增加更多的分支.
  • angle:定义取角,以度为单位,儿童分支相对于父母分支生长. 这对每一级别都作了单独规定.
  • children:指定每个级别上的儿童分支的数目,并附索引(0, (中文(简体) ), 1, (中文(简体) ), 2)代表级别.
  • force: 代表鼓励树木生长的外部定向力量,定义如下: direction (矢量对象) { x, y, z }和 strength (数字值).
  • gnarliness: 定义每个分支级别应如何扭曲或卷曲,为每个级别指定.
  • length: 各级分行长度. 这是一个带有每个关卡的密钥的对象 .
  • radius:每等分枝的半径(或厚度).
  • sections: 沿每个分支级别长度的段数,控制分支网格的分辨率.
  • segments: 构成每个分支的光圈片段数,值较高后产生更平滑的圆柱.
  • start: 指定父分支(作为从 0 改为 1儿童分支应开始形成.
  • taper:控制每个级别分行的磁带. 值之间 0 财务报告和审定财务报表 1 定义从基到尖的半径减少.
  • twist: 定义每个分支级别应用的扭矩量.

叶参数

这个 leaves 对象定义了控制叶子外观和位置的属性.

  • type: 指定从 LeafType 列举(例如, LeafType.Oak) (中文(简体) ).
  • billboard: 定义叶子的渲染方式. 这个 Billboard 可设置为 Single 或者说 Double 以表示单一或垂直双面叶.
  • angle: 定义叶子相对于母分支的角度,以度为单位.
  • count:要生成的叶数.
  • start: 指定树枝长度的行间位置(作为值) 0 财务报告和审定财务报表 1)叶子应该开始生长.
  • size:叶的大小,以数值表示.
  • sizeVariance:指定每个叶子实例的大小应有多大差异,使叶子看起来更自然.
  • tint:适用于叶片的丁色,被定义为十六进制颜色值(例如, 0xffffff 白纸黑字.
  • alphaTest:设置叶子透明性的α阈值,控制叶子纹理的透明度.

版本与发布记录

@dgreenheck/ez-tree 共发布 7 个版本,首次发布于 2024/09/30;过去 12 个月发布了 2 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.1.0latest2026/01/159 个月前
1.0.12026/01/149 个月前
1.0.02024/10/182 年前
0.1.42024/10/022 年前
0.1.32024/10/022 年前
0.1.22024/10/022 年前

关于 @dgreenheck/ez-tree 的常见问题

@dgreenheck/ez-tree 是什么?

! [X (原Twitter) follow] (https:

如何安装 @dgreenheck/ez-tree?

在项目目录运行 npm install @dgreenheck/ez-tree,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:three(>=0.167)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@dgreenheck/ez-tree 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@dgreenheck/ez-tree 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@dgreenheck/ez-tree 可以商用吗?

@dgreenheck/ez-tree 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@dgreenheck/ez-tree 的下载量有多少?

根据 npm 官方下载统计,@dgreenheck/ez-tree 在 2026/10/12 – 2026/11/10 这 30 天内被下载 118,605 次,日均约 3,954 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@dgreenheck/ez-tree 还在维护吗?

最新版本 1.1.0 发布于 2026/01/15(9 个月前);至今共发布 7 个版本,其中过去 12 个月发布了 2 个;首次发布于 2024/09/30。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。