irg/README.md

140 lines
3.5 KiB
Markdown
Raw Normal View History

2025-07-18 16:48:39 +08:00
# Isometric Room Generator (IRG) - Blender插件
一个用于Blender的等轴测房间生成插件支持快速创建各种类型的房间场景包括窗户、拱门、门等道具。
## 🎯 功能特性
### 核心功能
- **等轴测房间生成** - 快速创建等轴测视角的房间
- **多种道具支持** - 窗户、拱门、门等建筑元素
- **灵活尺寸设置** - 自定义房间长、宽、高
- **智能相机定位** - 自动计算最佳相机位置和角度
- **高质量渲染** - 支持EEVEE渲染引擎
### 道具类型
- **无道具** - 纯净的房间空间
- **落地窗** - 使用archimesh插件创建的大型窗户
- **拱门** - 内置拱门生成功能
- **门** - 使用archimesh插件创建的门
### 视图模式
- **正视图** - 正面观察房间
- **侧视图** - 侧面观察房间,支持角度调整
## 🎮 安装方法
### 方法一:手动安装
1. 下载插件文件
2. 打开Blender进入 `Edit > Preferences > Add-ons`
3. 点击 `Install...` 选择插件文件
4. 启用插件
### 方法二:自动安装
```bash
# 复制插件到Blender插件目录
cp -r isometric_room_gen ~/.config/blender/4.2/scripts/addons/
```
## 🎮 使用方法
### 基本操作
1. 在Blender中启用插件
2. 在3D视图中按 `N` 打开侧边栏
3. 找到 `Isometric Room Generator` 面板
4. 设置房间参数
5. 点击 `Generate Room` 按钮
### 参数说明
#### 房间设置
- **Room Width** - 房间宽度X轴
- **Room Depth** - 房间深度Y轴
- **Room Height** - 房间高度Z轴
- **Wall Thickness** - 墙体厚度
#### 窗户设置
- **Windows** - 窗户类型选择
- `NONE` - 无窗户
- `BACK` - 后墙窗户
- `SIDE` - 侧墙窗户
- `BOTH` - 两面墙都有窗户
#### 拱门设置
- **Arch Settings** - 启用拱门设置
- **Arch Placement** - 拱门位置
- `NONE` - 无拱门
- `BACK` - 后墙拱门
- **Arch Width** - 拱门宽度
- **Arch Height** - 拱门高度
- **Arch Thickness** - 拱门厚度
#### 房间样式
- **Style** - 房间样式
- `Square` - 方形房间
- `L-Shape` - L形房间
- `U-Shape` - U形房间
## 🔧 API服务
插件还提供了REST API服务支持远程调用
### 启动API服务
```bash
cd Isometquick-server
./irg.sh start
```
### API端点
- `POST /render` - 创建渲染任务
- `GET /render/{task_id}` - 获取任务状态
- `GET /render/{task_id}/download` - 下载渲染结果
- `GET /health` - 健康检查
### API示例
```python
import requests
# 创建渲染任务
request_data = {
"room": {
"length": 7.0, # 房间长度
"width": 4.0, # 房间宽度
"height": 3.0, # 房间高度
"prop_type": 1 # 道具类型1=落地窗
},
"camera": {
"height": 1.3, # 相机高度
"view_type": 2, # 视图类型2=侧视图
"rotation_angle": 45.0
},
"render": {
"resolution_x": 1080,
"resolution_y": 2400,
"engine": "eevee"
}
}
response = requests.post("http://localhost:8003/render", json=request_data)
print(response.json())
```
## 🎨 渲染设置
### 渲染引擎
- **EEVEE** - 实时渲染引擎,速度快
- 支持透明背景
- 启用屏幕空间反射
- 启用环境光遮蔽
### 照明设置
- **环境光** - 柔和的环境照明
- **阴影** - 启用柔和阴影
- **材质** - 优化的材质设置
## 📁 文件结构
```
isometric_room_gen/
├── __init__.py
```