M1rsem d574a8b87d v0.4.0: solid neck socket — lathe bore so the body peg seats fully.
Replace the narrow profiled hole with a DIY-style Ø8.7 cylinder + belly pocket (14 mm, mouth flare) so the 主体2 peg inserts past halfway and the head still rotates.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 14:26:03 +03:00
2026-07-20 14:55:09 +03:00

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 мм залитая голова (не полая — иначе поддержки застревают внутри) с выступающим Layer2 (пластины 2.0 мм). Круглые вырезы Bambu (negative_part):

  • Снизу — как у 右脸+左脸: цилиндр Ø8.7 + сплюснутая сфера (lathe-вырез, глубина 14 мм, раструб на входе) под штырь 主体2; голова крутится
  • Сверху / сзади — L-вырез как в оригинале (половинки 右脸/左脸): канал сверху и сзади с перемычкой под кольцо / шнур брелока

Layer2 на нижней грани головы не строится — плоскость стола всегда чистая, без поддержек под L2.

По умолчанию как Foresta_solid_A1_Mini: один стол (голова + тело + ноги + руки + штифт), один цвет (--max-colors 1). Для AMS передай --max-colors 8.

python -m chibi_figurine --nick M1rs3m --head solid --out output/M1rs3m_solid.3mf
python -m chibi_figurine --nick M1rs3m --head solid --ignore-semitransparent --out output/M1rs3m_solid.3mf

--ignore-semitransparent — не добавлять полупрозрачные пиксели Layer2 (только alpha=255). Полезно, если на скине есть «шум» / полупрозрачные пятна на втором слое головы.

Печать chibi

DIY-голова: напечатайте развёртку головы, затем столы Layer2 (по одной панели на грань), глаза/веки/структуру — соберите как в инструкции MakerWorld.

Solid-голова: один стол A1 mini со всем китом. Штырь тела → круглое гнездо снизу (голова вращается); брелок → L-вырез сверху/сзади.

DIY в .3mf (A1 / A1 mini, сопло 0.4):

  • слой 0.12, 3 стенки, наполн. 20%
  • наружная стенка ~80 мм/с, Seam = Back, лёгкий ironing

Solid (профиль Foresta):

  • слой 0.2, 3 стенки, наполн. 15% gyroid
  • наружная 100 / внутр. 150, travel 120, accel ~500
  • Seam = Aligned, ironing off, Smooth PEI, tree supports, auto brim 3
  • print_settings_id = SkinPress Solid Foresta @A1M (чтобы Studio не затирал кастом)

В Studio выбери принтер A1 mini 0.4. После генерации закройте и снова откройте .3mf, если файл уже был открыт.


Структура репозитория

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%