irg/README.md

140 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
```