From 3ee3183b90fc185963b3e29c977cde8a14656f3a Mon Sep 17 00:00:00 2001 From: libtxixi <991670424@qq.com> Date: Fri, 18 Jul 2025 16:48:39 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=B4=E6=98=8E=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 143 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) diff --git a/README.md b/README.md index e69de29..7622c55 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,143 @@ +# 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** - 实时渲染引擎,速度快 +- 支持透明背景 +- 启用屏幕空间反射 +- 启用环境光遮蔽 + +### 相机设置 +- **透视投影** - 35mm焦距 +- **自动定位** - 根据房间尺寸自动计算位置 +- **智能旋转** - 根据视图类型自动设置角度 + +### 照明设置 +- **环境光** - 柔和的环境照明 +- **阴影** - 启用柔和阴影 +- **材质** - 优化的材质设置 + +## 📁 文件结构 +``` +isometric_room_gen/ +├── __init__.py +```