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_figurine
  • chibi/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 с палитрой и статистикой.

Как работает

  1. Загружает скин 64×64 (или скачивает по --nick).
  2. Определяет slim / classic по метаданным Mojang, пустым полосам рук на PNG или sidecar skin.model.json.
  3. Берёт шаблон со стола «тонкие руки» или «обычные руки».
  4. Оставляет воксели 2-го слоя только там, где на оверлее скина непрозрачный пиксель.
  5. Красит части ближайшими цветами 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; соблюдайте их условия использования при публикации и печати.

Description
CLI-инструмента для получения готовой модели для печати из скина игрока MInecraft
Readme MIT 19 MiB
Languages
Python 100%