FloorplanToBlender3d: Chuyển sơ đồ mặt bằng thành mô hình 3D Blender

ByNgọc Trai MKT03/07/2026in GitHub Tools 0
floorplan-to-blender3d

Bạn đang tìm cách biến ảnh sơ đồ mặt bằng thành mô hình 3D trong Blender mà không cần vẽ tay từng chi tiết? FloorplanToBlender3d là thư viện Python mã nguồn mở giải quyết chính xác vấn đề đó: tự động phát hiện tường, cửa, cửa sổ từ ảnh floorplan và xuất ra file Blender, sẵn sàng cho game, AR hay CAD. Dành cho lập trình viên, kiến trúc sư, nhà phát triển game indie – miễn là bạn sẵn sàng thử nghiệm với phiên bản phần mềm cụ thể.

Thank you for reading this post, don't forget to subscribe!

Những điểm chính

  • Biến ảnh sơ đồ thành mô hình 3D Blender hoàn chỉnh với tường, cửa, cửa sổ – chạy trên phần cứng thấp nhờ thuật toán nhẹ.
  • Hỗ trợ Docker (script, server Swagger API, Jupyter notebook) giúp triển khai sạch, tránh lỗi phiên bản.
  • Tính năng Stacking cho phép tạo thế giới nhiều tầng từ nhiều floorplan cùng lúc bằng ngôn ngữ cấu hình riêng.
  • Mã nguồn mở (GPL v3) – cộng đồng có thể đóng góp, nhưng vẫn tồn tại hạn chế: ảnh đầu vào phải nhỏ, phiên bản Blender và Python phải khớp với Dockerfile.

FloorplanToBlender3d là gì và giải quyết vấn đề gì?

FloorplanToBlender3d là gì và giải quyết vấn đề gì?
FloorplanToBlender3d là gì và giải quyết vấn đề gì?

FloorplanToBlender3d là thư viện Python đi kèm script ví dụ và server, cho phép bạn đưa một ảnh sơ đồ mặt bằng (ví dụ file PNG) vào và nhận lại file .blender đã dựng sẵn tường, cửa, cửa sổ. Thay vì mất hàng giờ dựng thủ công trong Blender, thư viện làm việc này tự động dựa trên xử lý ảnh cơ bản. Dự án được tạo ra từ ý tưởng cá nhân của tác giả khi học Blender, và nó thực sự hiệu quả cho các floorplan đơn giản, kích thước vừa phải. Bạn có thể xem chi tiết tại repository gốc trên GitHub.

Những tính năng nổi bật của FloorplanToBlender3d

Những tính năng nổi bật của FloorplanToBlender3d
Những tính năng nổi bật của FloorplanToBlender3d

Chạy đa chế độ: Docker, local, server, Jupyter

Dự án cung cấp bốn cách dùng: (1) chạy script đơn giản bằng docker-compose run ftb, (2) cài đặt trực tiếp trên OS với Python 3.8+ và Blender 2.93+, (3) chạy server có Swagger API và Weavescope monitor, (4) mở Jupyter notebook để tương tác từng bước. Docker được khuyến nghị vì đảm bảo đúng phiên bản dependencies, tránh đau đầu.

Stacking – tạo nhiều tầng floorplan cùng lúc

Tính năng Stacking cho phép bạn định nghĩa nhiều floorplan trong một file cấu hình, mỗi tầng có thể đặt ở vị trí khác nhau, tạo thành toà nhà nhiều tầng. Cú pháp dạng ngôn ngữ parse đơn giản, bạn xem file mẫu trong thư mục Stacking.

Tự động cấu hình màu sắc và biến đổi

File Config cho phép thay đổi màu tường, cửa, hệ số scale, xoay… Mặc định màu random, nhưng bạn có thể tạo file default.ini riêng. Hệ thống có file system.ini để tinh chỉnh toàn cục.

AR Foundation và MediaPipe hands – demo mở rộng

Tác giả còn cung cấp demo tích hợp AR Foundation (Unity): đặt floorplan 3D ngoài đời thực, thay đổi nội thất, tương tác tay bằng MediaPipe. Code các demo này nằm ở repo riêng, không có trong repo chính – nhưng cho thấy tiềm năng.

Hướng dẫn cài đặt & sử dụng FloorplanToBlender3d

Hướng dẫn cài đặt & sử dụng FloorplanToBlender3d
Hướng dẫn cài đặt & sử dụng FloorplanToBlender3d

Có hai cách chính: dùng Docker hoặc cài local. Vì lý do tương thích, tác giả khuyên dùng Docker. Dưới đây là các bước nhanh.

  1. Cài Docker trên máy (Linux container).
  2. Pull image sẵn có: docker pull grebtsew/floorplan-to-blender.
  3. Chạy script mode: docker-compose run ftb. Nếu muốn server: docker-compose -f docker-compose.server.yml up. Jupyter: vào ./Docs rồi docker-compose up.
  4. Chuẩn bị ảnh floorplan – ảnh nhỏ (khuyến nghị resize nếu lớn) và đặt đúng đường dẫn.
  5. Khi chạy script lần đầu sẽ sinh file cấu hình mặc định. Trả lời các câu hỏi dẫn dắt, kết quả file .blender xuất ra thư mục ./target.

Nếu cài local: clone repo, cài dependencies pip install -r requirements.txt, chạy python create_blender_project_from_floorplan.py. Lưu ý: chỉ hoạt động ổn định với Blender 2.93+ và Python 3.8.0+.

Ai nên dùng – ai không nên dùng FloorplanToBlender3d?

Ai nên dùng – ai không nên dùng FloorplanToBlender3d?
Ai nên dùng – ai không nên dùng FloorplanToBlender3d?

Nên dùng nếu: bạn là lập trình viên muốn prototype nhanh mô hình 3D từ sơ đồ; bạn làm game indie, AR/VR cần tạo nhiều floorplan nhanh; bạn thích Docker và muốn ứng dụng chạy ổn định không cấu hình rườm rà; bạn muốn học cách xử lý ảnh floorplan và Blender Python API qua Jupyter notebook.

Không nên dùng nếu: bạn cần floorplan độ phân giải cao (ảnh lớn không được hỗ trợ tốt); bạn muốn mô hình chi tiết nội thất, vật dụng, kết cấu phức tạp – thư viện chỉ dựng khung tường, cửa, cửa sổ; bạn không muốn gò bó vào phiên bản Blender/Python cụ thể; bạn hy vọng sản phẩm out-of-the-box không cần code – thực tế vẫn cần làm quen với cấu hình.

Câu hỏi thường gặp

Tôi có thể dùng ảnh PDF làm đầu vào không?

Có, tài liệu hướng dẫn gợi ý bạn có thể nhận floorplan từ PDF hoặc từ Paint. Thư viện chấp nhận ảnh định dạng phổ biến, không giới hạn nhưng cần chuyển PDF sang ảnh trước bằng công cụ khác.

Làm sao để thay đổi màu sắc mô hình?

Tạo file Config trong thư mục Configs, đặt các giá trị transform và màu sắc. Nếu không có file, mặc định màu random, bạn có thể sửa file default.ini được sinh ra sau lần chạy đầu.

Tôi gặp lỗi khi chạy local vì phiên bản Blender không khớp, phải làm sao?

Dùng Docker là giải pháp an toàn nhất – image đã được build với đúng phiên bản. Nếu nhất định chạy local, bạn phải cài đúng Blender 2.93+ và Python 3.8.0+, đồng thời kiểm tra dependencies trong requirements.txt.

Có hỗ trợ nhiều tầng (stacking) không?

Có, tính năng Stacking được tích hợp sẵn. Tạo file .txt trong thư mục Stacking theo cú pháp hướng dẫn, sau đó chạy script với tùy chọn stacking để sinh ra cả toà nhà nhiều tầng.

Tôi có thể đóng góp mã nguồn không?

Có, dự án khuyến khích đóng góp. Hãy tạo issue hoặc pull request trên GitHub. Giấy phép GPL v3 cho phép bạn fork, sửa và chia sẻ lại.

Kết luận

FloorplanToBlender3d là một công cụ mã nguồn mở thú vị cho bất kỳ ai muốn tự động hóa việc dựng 3D từ sơ đồ mặt bằng. Với Docker dễ dùng, tích hợp server và stacking, nó phù hợp cho những dự án nhỏ, proof-of-concept hoặc học tập. Tuy nhiên, hãy chuẩn bị tinh thần làm quen với giới hạn về kích thước ảnh và phiên bản. Nếu bạn thấy hữu ích, hãy ghé thăm kho GitHub gốc, để lại star hoặc góp ý cho tác giả.

Related Posts