2025-12-30 11:13:26 +08:00
|
|
|
|
# ESEngine 编辑器
|
|
|
|
|
|
|
|
|
|
|
|
基于 Tauri 2.x + React 18 构建的跨平台桌面可视化编辑器。
|
|
|
|
|
|
|
|
|
|
|
|
## 环境要求
|
|
|
|
|
|
|
|
|
|
|
|
运行编辑器前,请确保已安装以下环境:
|
|
|
|
|
|
|
|
|
|
|
|
- **Node.js** >= 18.x
|
|
|
|
|
|
- **pnpm** >= 10.x
|
2025-12-30 22:33:06 +08:00
|
|
|
|
- **Rust** >= 1.70 (Tauri 和 WASM 构建需要)
|
|
|
|
|
|
- **wasm-pack** (构建 Rapier2D 物理引擎需要)
|
2025-12-30 11:13:26 +08:00
|
|
|
|
- **平台相关依赖**:
|
|
|
|
|
|
- **Windows**: Microsoft Visual Studio C++ Build Tools
|
|
|
|
|
|
- **macOS**: Xcode Command Line Tools (`xcode-select --install`)
|
|
|
|
|
|
- **Linux**: 参考 [Tauri 环境配置](https://tauri.app/v1/guides/getting-started/prerequisites)
|
|
|
|
|
|
|
2025-12-30 22:33:06 +08:00
|
|
|
|
### 安装 wasm-pack
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 使用 cargo 安装
|
|
|
|
|
|
cargo install wasm-pack
|
|
|
|
|
|
|
|
|
|
|
|
# 或使用官方安装脚本 (Linux/macOS)
|
|
|
|
|
|
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2025-12-30 11:13:26 +08:00
|
|
|
|
## 快速开始
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 克隆并安装
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
git clone https://github.com/esengine/esengine.git
|
|
|
|
|
|
cd esengine
|
|
|
|
|
|
pnpm install
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2025-12-30 22:33:06 +08:00
|
|
|
|
### 2. 构建 Rapier2D WASM
|
|
|
|
|
|
|
|
|
|
|
|
编辑器依赖 Rapier2D 物理引擎的 WASM 产物。首次构建只需执行一条命令:
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
pnpm build:rapier2d
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
该命令会自动完成以下步骤:
|
|
|
|
|
|
1. 准备 Rust 项目
|
|
|
|
|
|
2. 构建 WASM
|
|
|
|
|
|
3. 复制产物到 `packages/physics/rapier2d/pkg`
|
|
|
|
|
|
4. 生成 TypeScript 源码
|
|
|
|
|
|
|
|
|
|
|
|
> **注意**:需要已安装 Rust 和 wasm-pack。
|
|
|
|
|
|
|
|
|
|
|
|
### 3. 构建编辑器
|
2025-12-30 11:13:26 +08:00
|
|
|
|
|
|
|
|
|
|
在项目根目录执行:
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
pnpm build:editor
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2025-12-30 22:33:06 +08:00
|
|
|
|
### 4. 启动编辑器
|
2025-12-30 11:13:26 +08:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
cd packages/editor/editor-app
|
|
|
|
|
|
pnpm tauri:dev
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 可用脚本
|
|
|
|
|
|
|
|
|
|
|
|
| 脚本 | 说明 |
|
|
|
|
|
|
|------|------|
|
2025-12-30 22:33:06 +08:00
|
|
|
|
| `pnpm build:rapier2d` | 构建 Rapier2D WASM(首次构建必须执行)|
|
|
|
|
|
|
| `pnpm build:editor` | 构建编辑器及所有依赖 |
|
2025-12-30 11:13:26 +08:00
|
|
|
|
| `pnpm tauri:dev` | 开发模式运行编辑器(支持热重载)|
|
|
|
|
|
|
| `pnpm tauri:build` | 构建生产版本应用 |
|
|
|
|
|
|
| `pnpm build:sdk` | 构建 editor-runtime SDK |
|
|
|
|
|
|
|
|
|
|
|
|
## 项目结构
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
editor-app/
|
|
|
|
|
|
├── src/ # React 应用源码
|
|
|
|
|
|
│ ├── components/ # UI 组件
|
|
|
|
|
|
│ ├── panels/ # 编辑器面板
|
|
|
|
|
|
│ └── services/ # 核心服务
|
|
|
|
|
|
├── src-tauri/ # Tauri (Rust) 后端
|
|
|
|
|
|
├── public/ # 静态资源
|
|
|
|
|
|
└── scripts/ # 构建脚本
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 常见问题
|
|
|
|
|
|
|
2025-12-30 22:33:06 +08:00
|
|
|
|
### Rapier2D WASM 构建失败
|
|
|
|
|
|
|
|
|
|
|
|
**错误**: `Could not resolve "../pkg/rapier_wasm2d"`
|
|
|
|
|
|
|
|
|
|
|
|
**原因**: 缺少 Rapier2D 的 WASM 产物。
|
|
|
|
|
|
|
|
|
|
|
|
**解决方案**:
|
|
|
|
|
|
1. 确保已安装 `wasm-pack`:`cargo install wasm-pack`
|
|
|
|
|
|
2. 执行 `pnpm build:rapier2d`
|
|
|
|
|
|
3. 确认 `packages/physics/rapier2d/pkg/` 目录存在且包含 `rapier_wasm2d_bg.wasm` 文件
|
|
|
|
|
|
|
2025-12-30 11:13:26 +08:00
|
|
|
|
### 构建错误
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
pnpm clean
|
|
|
|
|
|
pnpm install
|
|
|
|
|
|
pnpm build:editor
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### Rust/Tauri 错误
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
rustup update
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2025-12-30 22:33:06 +08:00
|
|
|
|
### Windows 用户构建 WASM
|
|
|
|
|
|
|
|
|
|
|
|
`pnpm build:rapier2d` 脚本在 Windows 上可以直接运行。如果遇到问题:
|
|
|
|
|
|
1. 使用 Git Bash 或 WSL
|
|
|
|
|
|
2. 或从 [Releases](https://github.com/esengine/esengine/releases) 下载预编译的 WASM 产物
|
|
|
|
|
|
|
2025-12-30 11:13:26 +08:00
|
|
|
|
## 文档
|
|
|
|
|
|
|
|
|
|
|
|
- [ESEngine 文档](https://esengine.cn/)
|
|
|
|
|
|
- [Tauri 文档](https://tauri.app/)
|
|
|
|
|
|
|
|
|
|
|
|
## 许可证
|
|
|
|
|
|
|
|
|
|
|
|
MIT License
|