Community이미지github.com

Luan-vP/fire-sprites-retro

8비트/픽셀 아트 불꽃 퍼포먼스 스프라이트를 만들고 불꽃을 다시 그립니다. 'fire-sprites' 스킬이 이미 움직임을 렌더링한 후(몸과 불 레이어가 moves/NAME/에 존재할 때) 사용하며, 퍼포머가 불돌리기나 불뿜기 애니메이션에 레트로, 픽셀 아트, 8비트 또는 16비트 게임 스타일을 원할 때 적합합니다.

fire-sprites-retro란 무엇인가요?

이 스킬은 'fire-sprites' 스킬로 렌더링된 움직임에서 몸체와 불 레이어를 분리하여 8비트/픽셀 아트 스타일의 스프라이트를 생성합니다. 원본 비디오를 단순 축소하면 불꽃이 흰색 블롭으로 변하는 문제를 해결하기 위해, 몸체는 8색 피부/가죽 팔레트로 다운스케일하고 불꽃은 프레임별로 모양은 유지한 채 7색 열 램프(어두운 빨간색에서 흰색 코어까지)로 다시 그립니다. 깊이 측정은 각 불꽃의 두께에 상대적이어서 얇은 검 불꽃도 뜨거운 코어를, 거대한 숨결 구름도 넓은 그라데이션을 가집니다. 최종 출력은 retro/ 폴더에 B(재구성)와 A(직접 양자화) 버전으로 64px 및 40px 바디 높이로 저장되며, 프레임 그리드와 fps 정보가 포함된 atlas.json도 생성됩니다. 애니메이션은 'on twos'(마스터 프레임 속도의 절반)로 실행되어 레트로 느낌을 주고 시트 크기를 절반으로 줄입니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Luan-vP/fire-sprite-kit/tree/HEAD/skills/fire-sprites-retro

Installed? Explore more 이미지 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

재구성된 불꽃을 사용한 8비트 불꽃 스프라이트

fire-sprites 스킬이 이미 렌더링한 움직임이 필요합니다: 이 스킬은 평면 비디오가 아닌 moves/NAME/에 있는 몸체와 불꽃 레이어를 별도로 사용합니다. $KIT는 키트 루트입니다(이 파일에서 두 단계 위). py는 $KIT/.venv/bin/python이며, 프로젝트 디렉토리에서 실행하세요.

py $KIT/tools/retro.py                 # 렌더링된 모든 움직임
py $KIT/tools/retro.py "breath_*"      # 또는 일부만 (이름 또는 글로브)
open retro.html

불꽃을 줄이지 않고 재구성하는 이유

불꽃 스프라이트를 축소하고 팔레트에 스냅하면 평평한 흰색 블롭이 됩니다: 카메라에서 불꽃은 흰색으로 클리핑되므로 내부에 유지할 색상이 없습니다. 대신:

  • 몸체: 다운스케일, 하드 알파 가장자리, 고정 8색 피부 및 가죽 팔레트에 매핑(명도 가중치 적용으로 음영 유지), 1픽셀 어두운 윤곽선.
  • 불꽃: 실제 불꽃 모양은 프레임별로 유지하지만 색상은 다시 그립니다. 픽셀이 불꽃 내부에 얼마나 깊이 있는지에 따라 7색 열 램프 단계를 선택하며, 가장자리의 어두운 빨간색에서 주황색, 노란색을 거쳐 흰색 코어까지, 단계 사이에 4x4 질서 있는 디더링을 적용합니다. 깊이는 해당 불꽃의 두께에 상대적으로 측정되므로 얇은 검 불꽃도 뜨거운 코어를, 거대한 숨결 구름도 넓은 그라데이션을 가집니다. 작은 열림 패스는 불꽃 레이어로 새어나온 얇은 벽선을 제거합니다.

retro.html은 각 움직임을 네 가지 방식으로 보여줍니다: 재구성된 불꽃과 직접 양자화, 64px 및 40px 바디 높이. 직접 버전은 퍼포머가 차이를 볼 수 있도록 제공되며, 재구성된 불꽃이 실제로 사용할 버전입니다. 애니메이션은 "on twos"(마스터 프레임 속도의 절반)로 실행되어 레트로 느낌을 주고 시트 크기를 절반으로 줄입니다.

출력물: retro/NAME_B64.png, NAME_B40.png(재구성), NAME_A64.png, NAME_A40.png(직접), 그리고 프레임 그리드, fps 및 발 앵커가 포함된 retro/atlas.json. CSS에서 정수 배수로만 최근접 이웃 스케일링(image-rendering: pixelated)하여 그립니다.

퍼포머에게 전달할 내용

결과를 설명하기 전에 먼저 살펴보세요. 일반적인 발견 사항:

  • 숨결 구름은 매우 잘 읽힙니다. 다시 그리면 영상에 없는 구조를 제공합니다.
  • 프레임 가장자리, 창문 또는 날아간 벽에 닿은 구름은 이 스케일에서 네모지게 나타납니다.
  • 숨결의 피크에서 몸체가 거의 흰색으로 깜박이고 실루엣 프레임에서는 진한 감청색으로 매핑되는데, 이는 팔레트가 영상의 빛을 따르기 때문입니다. 불편하면 피부 톤을 고정하는 옵션을 제공하세요(아직 구현되지 않음).

외형 변경

tools/retro.py 상단의 상수를 편집하세요: BODY_PAL(몸체 팔레트, 가장 어두운 것부터), FIRE_RAMP(가장자리에서 코어까지), for B in (64, 40)의 크기, 그리고 heat = 줄의 깊이 곡선. 한 퍼포머의 모든 움직임에서 팔레트를 일관되게 유지하여 애니메이션이 서로 일치하도록 하세요.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

관련 스킬