Communitygithub.com

z1fex/06-캐릭터와-얼굴

주제에 맞는 독창적인 3D 만화 캐릭터(공 머리, 콩 몸체, 막대 팔다리, 벙어리 장갑 손)를 피부 톤, 브랜드 컬러 의상, 헤어스타일, 모자, 안경, 수염과 함께 제작하고, 깜빡임으로 전환되는 채색된 얼굴 표정으로 연기하게 합니다. 영화 캐스팅 시 사용하세요.

06-캐릭터와-얼굴란 무엇인가요?

이 스킬은 3D 만화 스타일 캐릭터를 제작하고 애니메이션화하는 방법을 제공합니다. `makeCharacter(spec)` 함수로 공 머리, 콩 모양 몸체, 얇은 막대 팔다리, 벙어리 장갑 손 등 독특한 비율의 릭을 생성합니다. 다양한 피부 톤, 브랜드 컬러 상의/하의, 헤어스타일(short, curly, spiky, periwig 등), 모자, 안경, 수염을 지원하며, 토르소에 장식 부품을 추가하는 `extras` 콜백도 제공합니다. 얼굴은 `faceDecal`로 평면 페인트 데칼을 사용하며, 눈썹, 눈, 입으로 표정(neutral, content, surprised, eureka, smug 등 20여 가지)을 연기합니다. 표정 전환은 깜빡임을 통해서만 이루어지며, 새로운 표정은 강세 단어 2프레임 전에 나타납니다. 1.2초마다 주인공의 표정이 바뀌고, 사물은 스토리 비트에 따라 전환됩니다. 이 스킬은 Claude Code, Cursor, Codex 등 AI 에이전트 플랫폼에서 영화 연출, 캐릭터 디자인, 애니메이션 작업 시 유용합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/z1fex/3D-Cartoon-Style-Animation-Claude-Skill/tree/HEAD/skills/06-characters-and-faces

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

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

문서

6 · 캐릭터와 얼굴

몸체

recipe/engine/character.mjs의 makeCharacter(spec)은 릭(rig)을 생성합니다: 머리 반지름 0.42, 몸체 높이 0.8, 다리 0.52, 팔 0.30 + 0.28. 비율이 스타일입니다: 큰 공 머리, 위아래 색상으로 나뉜 콩 모양 몸체, 얇은 안트라사이트 막대 팔다리, 피부색 벙어리 장갑 손, 둥근 코냑색 신발.

const host = makeCharacter({
  name: 'host', skin: SKIN.tan,
  top: BRAND.blueCoral, bottom: BRAND.anthracite, split: 0.32, width: 1.0,
  hair: 'curly', hairColor: '#2a1d18',
  hat: null, glasses: true, beard: false,
  face: { browColor: BRAND.anthracite, browThick: 3.4, mustache: null },
  extras: torso => { /* 크라바트, 단추, 배지, 도구 벨트 추가… */ },
});
host.root.position.set(x, 0, z); place.scene.add(host.root);
옵션값
skinSKIN.light / fair / medium / tan / brown / deep 또는 임의의 16진수 색상. 캐스트 전체에 혼합 가능.
top, bottom, split, width콩 몸체의 두 색상, 두 색상의 경계 위치(높이의 0~1), 너비 계수(1.06은 더 통통한 체형).
hairshort(또는 cap), bob, bun, ponytail, curly, spiky, bald 및 두 가지 시대 가발: newton(긴 컬), einstein(자가 발광하는 거친 흰 머리)
hat / hatColorcap, tophat(hatBand 포함), helmet(둥근 셸), hardhat, beret, crown
glassestrue 또는 테 색상: 채색된 눈 위에 둥근 테
beardtrue(머리카락 색상) 또는 색상
face{ browColor, browThick, mustache }: 눈썹 색상과 굵기, 선택적 채색 콧수염 색상
extras(torso)part(geometry, color)로 의상 부품 추가: 크라바트, 칼라, 단추, 배지, 도구

새 주제에 맞는 캐릭터 디자인하기: 먼저 실루엣을 선택하고(휴대폰 크기에서는 헤어스타일이나 모자 모양이 가장 강력한 단서), 그 다음 상의 브랜드 컬러 한 가지, 마지막으로 피부 톤을 선택합니다. 역사적 인물은 우리 식의 툰으로 그려집니다: 시대에 맞는 헤어와 의상이면 충분합니다(뉴턴의 컬 가발과 루즈 누아 코트; 아인슈타인의 거친 흰 머리, 콧수염, 블루 코럴 스웨터). 저작권이 있는 캐릭터는 절대 복사하지 마세요.

얼굴이 있는 사물(사과, 행성, 분자, 기계): faces.mjs에서 faceDecal(radius, { skin: <몸체 색상> })을 부여하고, 눈꺼풀 색상을 몸체 색상으로 설정한 후, 사물의 그룹을 장면의 faceCamera 목록에 추가하면 카메라 쪽으로 회전합니다.

얼굴

머리 앞면에 페인트된 평면 데칼(faceDecal): 눈썹, 동공과 하이라이트가 있는 눈, 입, 코 없음, 모두 동일한 모양군에서 가져옵니다. 립싱크는 없으며, 얼굴이 연기를 합니다.

표현(EXPRESSIONS in faces.mjs): neutral, content, sleepy, surprised, shocked, curious, thinking, eureka, delighted, smug, knowing, confused, worried(땀방울 포함), proud(볼터치), no, wheee, dizzy(소용돌이 눈), lookDown. 새 표정을 추가하려면 항목을 복사하고 눈썹 [inner, outer](각도), lid(0 열림 … 1 닫힘), look(동공 오프셋), eye 및 pupil 스케일, mouth(flat, smile, smirk, side, wavy, o, grin, shout)를 변경하세요.

얼굴 전환 (참조 규칙, 측정됨)

  • 깜빡임을 통해서만 전환: 반쯤 감긴 프레임 한 번, 완전히 감긴 프레임 한 번, 그 다음 새 얼굴.
  • 새 얼굴은 강세 단어 2프레임 전에 나타납니다(W(i) - FACE).
  • 표정 간에 절대 모핑하지 마세요.
  • 주인공은 약 1.2초마다 새 얼굴을 얻습니다. 사물은 이야기 비트에 따라 전환됩니다(사과가 "틀렸어"에서 smug → shocked로 변함).
  • 긴 유지 동안 자연스러운 깜빡임: blinks 시간 목록을 전달하세요.
rig.faceAt(t, [[0, 'curious'], [W(17) - FACE, 'smug']], [0.75, 6.2]);   // 전환 후 자연스러운 깜빡임
objectFace.set('shocked');                                              // 사물용 즉시 설정

손과 잡은 소품

rig.handPos('L' | 'R' | 'both')는 현재 포즈 후 손의 월드 위치를 반환합니다. 매 프레임마다 잡은 소품을 그 위치에 배치하세요(뉴턴 손에 든 책, 아인슈타인이 떨어뜨리기 전 볼링공). rig.headPos()는 프레이밍을 위한 머리 중심을 제공합니다.

확인 사항

  • 휴대폰 크기에서 실루엣만으로 각 캐릭터를 구분할 수 있나요?
  • 눈꺼풀 색상이 피부 또는 몸체 색상과 일치하나요?(투시 깜빡임 방지)
  • 얼굴이 연기하는 모든 장면에서 카메라를 향하고 있나요?

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

관련 스킬