SkinPress
SkinPress — скин Minecraft → готовый .3mf для Bambu Studio с палитрой Bambu Lab PLA (Basic + Matte).
Два CLI-модуля в одном репозитории:
| Модуль | Модель | Назначение |
|---|---|---|
skin_figurine |
ModVer full-body | Полноразмерная фигурка, 2-й слой скина на теле |
chibi_figurine |
MakerWorld #2058782 | Chibi: DIY-голова или монолитная (--head solid) |
Быстрый старт
pip install -r requirements.txt
Зависимость: Python 3.10+, Pillow ≥ 10.
В репозитории уже лежат шаблоны:
Customizable_Minecraft_Skin_ModVer.3mf— дляskin_figurinechibi/template.3mf— дляchibi_figurine(копия MakerWorld «自定义皮肤»)chibi/example_alex_8color.3mf— эталон Alex на 8 цветах
Шаблоны — сторонние модели MakerWorld. Код распространяется под MIT; права на
.3mfпринадлежат авторам моделей.
skin_figurine — полная фигурка (ModVer)
Скин → стол в Bambu Studio с переносом второго слоя (волосы, капюшон, узоры) и автоподбором цветов PLA.
# Из PNG 64×64
python -m skin_figurine --skin tests/fixtures/skins/jay.png --out jay_custom.3mf
# По нику (скачивает скин с серверов Mojang)
python -m skin_figurine --nick Notch --out notch.3mf
# Многоцвет + лимит под AMS
python -m skin_figurine --skin tests/fixtures/skins/foresta.png --max-colors 8 --name foresta
# Принудительно Alex (slim) или Steve (classic)
python -m skin_figurine --skin player.png --force-slim
python -m skin_figurine --skin player.png --force-classic
# Клонировать готовый пример из шаблона (точный 2-й слой)
python -m skin_figurine --from-example foresta --out foresta_clone.3mf
Откройте .3mf в Bambu Studio. Рядом появится .json с палитрой и статистикой.
Как работает
- Загружает скин 64×64 (или скачивает по
--nick). - Определяет slim / classic по метаданным Mojang, пустым полосам рук на PNG или sidecar
skin.model.json. - Берёт шаблон со стола «тонкие руки» или «обычные руки».
- Оставляет воксели 2-го слоя только там, где на оверлее скина непрозрачный пиксель.
- Красит части ближайшими цветами Bambu Lab PLA.
UV-карты уже обучены и лежат в skin_figurine/data/pixel_uv_maps.json. Переобучение (если меняли шаблон) — см. scripts/relearn/README.md.
chibi_figurine — chibi MakerWorld
Отдельный пакет, не трогает ModVer. Два режима головы:
--head diy (по умолчанию)
Плоская развёртка головы, вырезанные глаза, Layer2 отдельными столами по граням.
python -m chibi_figurine --nick ModemIX --out output/ModemIX.3mf
python -m chibi_figurine --nick Alex --eye-layout top # закрыть верхний ряд «глаз»
python -m chibi_figurine --nick Alex --eye-layout bottom
python -m chibi_figurine --nick Alex --overlay-on-head # L2 на развёртке (не для обычной печати)
python -m chibi_figurine --nick Alex --no-overlay # без 2-го слоя
--head solid
Монолитная 32 мм полая головa с выступающим Layer2 (тонкие пластины 1.2 мм). Круглые вырезы Bambu (negative_part):
- Снизу — Ø8.2 мм под шейный штифт тела
- Сверху — два отверстия Ø2.6 мм на верхней грани для шнура / нити брелока
Без столов глаз / век / структуры — только голова + тело в цвет кожи.
python -m chibi_figurine --nick M1rs3m --head solid --out output/M1rs3m_solid.3mf
Печать chibi
DIY-голова: напечатайте развёртку головы, затем столы Layer2 (по одной панели на грань), глаза/веки/структуру — соберите как в инструкции MakerWorld.
Solid-голова: один стол с кубом + L2; тело «Skin-tone» отдельно. Штифт тела → нижнее отверстие; шнур → два отверстия сверху.
После генерации закройте и снова откройте .3mf в Bambu Studio, если файл уже был открыт.
Структура репозитория
SkinPress/
├── skin_figurine/ # ModVer customizer
│ ├── data/ # UV-карты (pixel_uv_maps.json)
│ └── ...
├── chibi_figurine/ # Chibi customizer
│ ├── data/ # head_voxel_uv.json, neck_socket.json
│ └── ...
├── chibi/
│ ├── template.3mf # шаблон DIY
│ └── example_alex_8color.3mf
├── tests/ # pytest
├── scripts/relearn/ # переобучение UV (опционально)
├── Customizable_Minecraft_Skin_ModVer.3mf
├── requirements.txt
└── README.md
Тесты
pip install pytest
pytest tests/ -q
Нужны шаблоны .3mf и скины в tests/fixtures/skins/ (уже в репозитории).
Замечания
- Базовые меши получают доминирующий цвет зоны; мелкие детали можно дорисовать кистью в Bambu Studio.
- Если автодетект рук ошибся —
--force-slim/--force-classic. - Сгенерированные
.3mfи.jsonв.gitignore— не коммитьте артефакты сборки.
Лицензия
Код — MIT. Шаблоны .3mf — модели MakerWorld; соблюдайте их условия использования при публикации и печати.