- 추천 원화(P2 b·P3 v2b·P4 v2b·P5 v2a·P6 v2b·P7 v2b)로 얼굴 없는 기본형·몸 원본 codex 편집, 정렬·정규화 후 공통 파이프라인 실행 - 게시 자산 apps/web/public/avatar/v3/p2~p7, 리그 rigs/p2Rig~p7Rig - 세션 레지스트리 P1~P7 전원 활성, Lab은 생성된 리그 자동 수집 - P3·P6 기본 눈 감김을 줄여 중립 렌더를 원화 눈매에 맞춤 - 표정 E2E를 v3 렌더러 기대로 갱신(검사 의도 유지)
86 lines
3.5 KiB
TypeScript
86 lines
3.5 KiB
TypeScript
/* 생성 파일 — docs/avatar-art/linocut-pipeline/scripts/export_rig.py 가 만든다. 손으로 고치지 않는다. */
|
|
import type { LinocutRig } from "../linocutRig";
|
|
|
|
export const P7_LINOCUT_RIG: LinocutRig = {
|
|
schemaVersion: "vignette.avatar.v3.rig.v1",
|
|
persona: "P7",
|
|
canvas: { w: 1005, h: 1566 },
|
|
layers: {
|
|
body: { href: "/avatar/v3/p7/body.webp", x: 0, y: 725, w: 1005, h: 841 },
|
|
head: { href: "/avatar/v3/p7/head.webp", x: 174, y: 151, w: 648, h: 892 },
|
|
hairFront: { href: "/avatar/v3/p7/hair-front.webp", x: 220, y: 413, w: 535, h: 423 },
|
|
faceDetail: { href: "/avatar/v3/p7/face-detail.webp", x: 276, y: 423, w: 425, h: 513 },
|
|
},
|
|
grain: { href: "/avatar/v3/p7/paper-grain.webp", size: 256 },
|
|
lipTexture: {
|
|
upper: { href: "/avatar/v3/p7/lip-upper.webp", x: 406, y: 763, w: 170, h: 50 },
|
|
lower: { href: "/avatar/v3/p7/lip-lower.webp", x: 408, y: 801, w: 164, h: 49 },
|
|
shadow: { href: "/avatar/v3/p7/lip-shadow.webp", x: 428, y: 807, w: 126, h: 51 },
|
|
},
|
|
jaw: {
|
|
head: { href: "/avatar/v3/p7/jaw-head.webp", x: 251, y: 652, w: 478, h: 321 },
|
|
detail: { href: "/avatar/v3/p7/jaw-detail.webp", x: 251, y: 652, w: 478, h: 321 },
|
|
},
|
|
pivots: {
|
|
neck: [492, 1002],
|
|
body: [502, 1566],
|
|
face: [489, 660],
|
|
},
|
|
crops: {
|
|
portrait: [0, 0, 1005, 1566],
|
|
bust: [0, 40, 1005, 1005],
|
|
face: [193.3, 384.2, 590, 590],
|
|
},
|
|
faceOval: [[490.5, 415.8], [555.3, 417.3], [609.5, 425.4], [658.6, 442.5], [688.8, 469], [706, 502.9], [714.3, 539.4], [716.2, 584.5], [712.6, 628.1], [706.8, 673.7], [696.8, 722.2], [681.3, 774.6], [662, 818.1], [641.5, 850.8], [615.8, 880.4], [592.8, 902], [566.9, 921.9], [534.8, 937.4], [491.9, 942.6], [449, 938.5], [416.4, 923.9], [389.5, 904.8], [365.4, 883.9], [338.9, 854.2], [317.7, 821], [298, 777], [282.2, 723.6], [271.5, 674.4], [265.1, 628.9], [260.4, 585.3], [262.1, 540.3], [270.9, 503.5], [289.1, 469.4], [320.3, 442.7], [369.9, 425.3], [425, 417.4]],
|
|
landmarks: {
|
|
eyeLeft: {
|
|
inner: [433.4, 588.7],
|
|
outer: [345.6, 578.8],
|
|
upperLidTop: [381.3, 566.3],
|
|
lowerLidBottom: [387.8, 592.8],
|
|
iris: { center: [387.5, 574.5], radius: 16.5 },
|
|
lineScale: 2.5,
|
|
},
|
|
eyeRight: {
|
|
inner: [550.7, 589.9],
|
|
outer: [637.7, 578.5],
|
|
upperLidTop: [601.5, 566.1],
|
|
lowerLidBottom: [596.3, 593.2],
|
|
iris: { center: [593.5, 572.5], radius: 16.5 },
|
|
lineScale: 2.5,
|
|
},
|
|
browLeft: { inner: [455.8, 527], peak: [369, 521.2], outer: [324.2, 527.5], halfWidth: [5.4, 8, 3.4], sprite: { href: "/avatar/v3/p7/brow-left.webp", x: 324, y: 509, w: 137, h: 29 } },
|
|
browRight: { inner: [526.5, 526.8], peak: [619.5, 519.8], outer: [667.5, 527], halfWidth: [6.3, 8, 2.9], sprite: { href: "/avatar/v3/p7/brow-right.webp", x: 521, y: 509, w: 150, h: 28 } },
|
|
noseTip: [493.5, 712.5],
|
|
mouthCornerLeft: [422.6, 806.5],
|
|
mouthCornerRight: [558.9, 808.4],
|
|
upperLipTop: [493.8, 774],
|
|
lowerLipBottom: [492.3, 835],
|
|
mouthCenter: [493.2, 800.3],
|
|
chinTip: [491.8, 932.4],
|
|
},
|
|
palette: {
|
|
ink: "#202122",
|
|
sclera: "#D8CEBD",
|
|
iris: "#4F3B2C",
|
|
irisRing: "#1E1F1F",
|
|
lipUpper: "#BA9069",
|
|
lipLower: "#C4936D",
|
|
mouthLine: "#322F2B",
|
|
mouthInner: "#3B201B",
|
|
teeth: "#E9E0CF",
|
|
blush: "#C0624A",
|
|
tear: "#EEE5D3",
|
|
pallor: "#9AA3A6",
|
|
paper: "#EEE5D3",
|
|
motifPetal: "#D0A362",
|
|
motifLeaf: "#53626C",
|
|
},
|
|
backdrop: {
|
|
cognitive: "#ECE3D1",
|
|
positive: "#F1DEC2",
|
|
negative: "#DCE0E2",
|
|
defensive: "#E6DAD3",
|
|
energy: "#E2E0D0",
|
|
},
|
|
};
|