File size: 4,217 Bytes
e0da6dd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
---
title: "智能MC建筑生成器"
emoji: "🏗️"
colorFrom: "blue"
colorTo: "purple"
sdk: "streamlit" # 或 gradio 取决于你的 web 界面
app_file: "main.py"
pinned: false
---
# 智能MC建筑生成器
## 项目介绍
智能MC建筑生成器是一个基于人工智能的工具,能够根据用户输入的提示词(如“平顶”、“深色橡木墙”)自动生成《我的世界》(Minecraft)中的建筑。项目结合了数据增强、3D生成模型和Minecraft数据格式转换技术,支持从单张图像或文本提示词生成10x10x10大小的建筑,并导出为 `.schem` 文件。
---
[🇨🇳 简体中文](./README.zh.md) | [🇬🇧 English](./README.en.md)
---
## 主要功能
1. **数据加载与解析**:支持加载 `.schem` 文件,解析其中的方块数据。
2. **数据增强**:通过旋转和镜像操作,生成多样化的建筑变体。
3. **可视化**:支持点云、切片和彩色立方体等多种方式预览建筑。
4. **提示词生成**:根据用户输入的提示词生成建筑。
5. **导出功能**:将生成的建筑保存为 `.schem` 文件,供Minecraft使用。
---
## 依赖项
• **Python 3.8+**
• **主要库**:
• `numpy`
• `pyvista`
• `nbtlib`
• `torch`(用于模型训练)
• `flask`(用于Web界面)
**安装依赖项**:
```bash
pip install numpy pyvista nbtlib torch flask
```
---
## 使用方法
### 1. 数据加载与解析
将 `.schem` 文件放入项目目录,运行以下代码加载和解析数据:
```python
from main import process_block_data
process_block_data("WoodHouse_3.schem")
```
### 2. 数据增强
对现有建筑数据进行旋转和镜像增强:
```python
from main import generate_rotated_and_mirrored_data
generate_rotated_and_mirrored_data()
```
### 3. 可视化
使用以下命令预览建筑:
```python
from main import preview_point_cloud, preview_cubes_with_colors, preview_slices
preview_point_cloud(output_data) # 点云预览
preview_cubes_with_colors(output_data) # 彩色立方体预览
preview_slices(output_data) # 切片预览
```
### 4. 提示词生成
根据提示词生成建筑:
```python
from main import generate_from_prompt
generate_from_prompt("A small house with a flat roof and dark oak walls")
```
### 5. 导出为 `.schem` 文件
将生成的建筑保存为 `.schem` 文件:
```python
from main import save_as_schem
save_as_schem(house_data, "generated_house.schem")
```
### 6. Web界面
启动Web服务器,提供用户交互界面:
```bash
python main.py
```
访问 `http://Not_created_yet`,输入提示词生成建筑。
---
## 文件结构
```
MC_Building_Generator/
├── schem/ # 存放 .schem 文件
│ └── WoodHouse_3.schem
├── npy/ # 存放 .npy 文件
│ └── block_data_0.npy
├── main.py # 主程序
├── block_data.txt # 解析后的数据
├── metadata.txt # 元数据
└── README.md # 项目说明
```
---
## 示例
1. **加载 `.schem` 文件**:
```bash
python main.py
```
2. **输入提示词生成建筑**:
• **提示词**:`A small house with a flat roof and dark oak walls`
• **生成文件**:`generated_house.schem`
---
## 注意事项
1. 确保 `.schem` 文件符合Minecraft的格式要求。
2. 提示词应尽量简洁明确,避免歧义。
3. 生成的建筑数据会保存在 `block_data_*.npy` 文件中。
---
## 未来计划
1. 支持更多建筑类型和尺寸。
2. 优化生成模型,提高生成速度和精度。
3. 开发更友好的用户界面,支持实时预览。
---
## 联系信息
如有任何问题或建议,请联系:
• **邮箱**:[email protected]
• **GitHub**:[https://github.com/fallingstars123/MC-AI-BuildingGenerate](https://github.com/fallingstars123/MC-AI-BuildingGenerate)
• **Discord**: thomasw2004
--- |