140 lines
3.5 KiB
Markdown
140 lines
3.5 KiB
Markdown
# 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
|
||
```
|