# @dgreenheck/ez-tree 中文文档

规范地址：https://npmcn.com/package/%40dgreenheck/ez-tree/

版本：1\.1\.0
npm 元数据更新时间：2026-01-15T05:22:52.195Z
中文译文更新时间：2026-11-12T05:52:03.438Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40dgreenheck/ez-tree
原文对照：https://npmcn.com/package/%40dgreenheck/ez-tree/?lang=original
项目主页：https://dgreenheck.github.io/ez-tree/
源码仓库：https://github.com/dgreenheck/ez-tree

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：23.9 MB，93 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：three \>=0\.167
- 首次发布：2024-09-30T14:26:08.122Z
- 最新版本发布：2026-01-15T05:22:51.882Z
- 近 30 天下载量：118605（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：7（近 12 个月 2 个）

## 中文简介

![NPM Version](https://img.shields.io/npm/v/%40dgreenheck%2Fez-tree) ![NPM Downloads](https://img.shields.io/npm/dw/%40dgreenheck%2Fez-tree) ![GitHub Repo stars](https://img.shields.io/github/stars/dgreenheck/ez-tree) ! \[X (原Twitter) follow\] (https:

## 安装

```sh
npm install @dgreenheck/ez-tree
```

也可以使用：`pnpm add @dgreenheck/ez-tree`、`yarn add @dgreenheck/ez-tree`、`bun add @dgreenheck/ez-tree`

## README

# EZ - Tree 设备

![NPM Version](https://img.shields.io/npm/v/%40dgreenheck%2Fez-tree) ![NPM Downloads](https://img.shields.io/npm/dw/%40dgreenheck%2Fez-tree) ![GitHub Repo stars](https://img.shields.io/github/stars/dgreenheck/ez-tree) ![X (formerly Twitter) Follow](https://img.shields.io/twitter/follow/dangreenheck) ![YouTube Channel Subscribers](https://img.shields.io/youtube/channel/subscribers/UCrdx_EU_Wx8_uBfqO0cI-9Q)

![](https://github.com/user-attachments/assets/cb5f5edd-3e1b-453d-925f-734965126b17)

# 关于

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

# 应用

[https://eztree.dev (英语)](https://eztree.dev/)

# 安装

```js
npm i @dgreenheck/ez-tree
```

# 使用量

```js
// 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 库.

```bash
npm install
npm run app
```

# 与 Docker 一起运行 App

```bash
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 是什么？

\! \[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 和提交记录判断。

