Phase 0.3-0.5: SVG export + YAML sidecars + asset catalog
- Add hair class KeyMap entries (基髪→BaseHair, 前髪→FrontHair, 胸毛→ChestHair)
- Implement cardinal spline → cubic Bezier SVG export for all 175 body parts
- Generate YAML sidecar files (part.yaml) per part with metadata
- Write Catalog.yaml index for runtime asset loading
- Output to SlaveMatrix/Assets/Parts/{EnglishName}/ structure
- Each part directory contains part.yaml + x{x}y{y}.svg morph variants
- 838 SVGs across 324 morph variants, 175 sidecars, 1 catalog
- Extraction tool now serves as the asset build pipeline step
This commit is contained in:
20
SlaveMatrix/Assets/Parts/耳/x8y0.svg
Normal file
20
SlaveMatrix/Assets/Parts/耳/x8y0.svg
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1">
|
||||
<g transform="translate(0.3198704518141141,0.1181310424819948) rotate(0) scale(1,1) translate(-0.06166164922295251,-0.05845565031430834)"><path d="M 0.060772666297117334 0.06191385632676936 C 0.06002207034743395 0.06186616191559007 0.050418091840647196 0.06116599147015393 0.05176551490091674 0.06134152339261792 C 0.050418091840647196 0.06116599147015393 0.044006762463296635 0.05967963574591683 0.044603589573882794 0.05980747325720153" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.044603589573882794 0.05980747325720153 C 0.044360648263069735 0.05964469349799876 0.04170999667831454 0.05757650216723083 0.041688293844126076 0.05785411614676826 C 0.04170999667831454 0.05757650216723083 0.04512866772914594 0.056361271282417705 0.044864023584144416 0.056476105502752366" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.044864023584144416 0.056476105502752366 C 0.045820389951552395 0.05639717028824864 0.057814304040093786 0.055405661161965554 0.05634041999304018 0.05552888292870764 C 0.057814304040093786 0.055405661161965554 0.06306814982843328 0.054953157749608975 0.06255063214878766 0.05499744430184733" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.3198704518141141,0.1181310424819948) rotate(0) scale(1,1) translate(-0.06166164922295251,-0.05845565031430834)"><path d="M 0.06179525398448764 0.0627658912520668 C 0.06086592586049231 0.06268205097840202 0.04887287613742492 0.0615232249771278 0.050643316496543675 0.061759807968089324 C 0.04887287613742492 0.0615232249771278 0.03970885743993918 0.059774152643231736 0.04054996967506261 0.059926895360528476" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.04054996967506261 0.059926895360528476 C 0.04023249630836076 0.05975557897235806 0.03668352024812348 0.05757247895349176 0.03674028927464046 0.057871098702483484 C 0.03668352024812348 0.05757247895349176 0.04012944569704373 0.056216155011806525 0.03986874135685886 0.05634345837262783" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.03986874135685886 0.05634345837262783 C 0.04107136271168362 0.05621220083470462 0.05610513954013587 0.05458519716787619 0.054300197614756 0.05476836791754935 C 0.05610513954013587 0.05458519716787619 0.06213036503197248 0.054093496164799915 0.06152804446141737 0.05414540937654987" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.317739745606258,0.11889466917980429) rotate(0) scale(1,1) translate(-0.061780495912221296,-0.0594468243068542)"><path d="M 0.06962638641963576 0.06157950465576859 C 0.0694461081095124 0.06172705117087961 0.06644947852126695 0.06340076095544807 0.06746304669815548 0.06335006283710075 C 0.06644947852126695 0.06340076095544807 0.056630278430208236 0.06209103367917268 0.05746356829697341 0.062187882075936375" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.05746356829697341 0.062187882075936375 C 0.05644121112149329 0.06217088148158603 0.042962393575278764 0.06183237670563281 0.04519528219121195 0.061983874943732274 C 0.042962393575278764 0.06183237670563281 0.029458373465322065 0.060235405574993656 0.030668904905775132 0.06036990321874278" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.030668904905775132 0.06036990321874278 C 0.0302155995684487 0.0601828290243019 0.025092753700665316 0.057796614879779495 0.02522924085785796 0.05812501288545219 C 0.025092753700665316 0.057796614879779495 0.029347877199597226 0.05628780333943863 0.029031059019463436 0.05642912715067044" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.029031059019463436 0.05642912715067044 C 0.03095256658811267 0.05622956789047592 0.05456831111234229 0.053811899140579315 0.05208914984325424 0.05403441602833625 C 0.05456831111234229 0.053811899140579315 0.059338647948958885 0.05373596687002482 0.05878099424852007 0.053758924497587235" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.05878099424852007 0.053758924497587235 C 0.05891252452297668 0.05378037515453735 0.060665750018391904 0.05410831766234096 0.060359357541999344 0.05401633238098867 C 0.060665750018391904 0.05410831766234096 0.06263256616716674 0.05493328249821689 0.06245770396523078 0.05486274787381472" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.06245770396523078 0.05486274787381472 C 0.06263236578978716 0.05496093136828095 0.06489919805547213 0.05626900043957405 0.0645536458599073 0.05604094980740951 C 0.06489919805547213 0.05626900043957405 0.06677522068301711 0.05772922259748755 0.06660433031200866 0.05759935545978924" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.06660433031200866 0.05759935545978924 C 0.06676873445290633 0.05780137476887697 0.06882901801174965 0.06035526626850699 0.06857718000278072 0.06002358716884205 C 0.06882901801174965 0.06035526626850699 0.069713820287707 0.061709164446345804 0.06962638641963576 0.06157950465576859" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.3147122739116678,0.11734943503083754) rotate(0) scale(1,1) translate(-0.00820718783944048,-0.005607832739230756)"><path d="M 0.004592575758985309 0.0035490415056070594 C 0.004912694790067622 0.0036082348379495514 0.008995766919546068 0.004445430755314333 0.008434004131973063 0.0042593614937169655 C 0.008995766919546068 0.004445430755314333 0.011575372966352075 0.0059087485740303486 0.011333729209861382 0.005781872644775473" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M -0.005403451421145414 0.004138443683511657 C -0.004989007128955251 0.004100425211490338 0.00040288235014743093 0.0036331051710971033 -0.0004301199148634624 0.0036822220192558198 C 0.00040288235014743093 0.0036331051710971033 0.005011133731806038 0.0035379431294696646 0.004592575758985307 0.003549041505607061" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.3147122739116678,0.11734943503083754) rotate(0) scale(1,1) translate(-0.00820718783944048,-0.005607832739230756)"><path d="M 0.009183670426020757 0.008128066011865592 C 0.009344445393574829 0.008081421704583197 0.011458820745898778 0.007630531428063953 0.011112970036669622 0.007568334324476855 C 0.011458820745898778 0.007630531428063953 0.013518954678445718 0.008983272665780263 0.013333878936770634 0.00887443125491077" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M -0.002645649648348446 0.004324373428184669 C -0.002195289237523821 0.004573610875487873 0.0037444519544111545 0.0076321971777965235 0.0027586752815470543 0.007315222795823113 C 0.0037444519544111545 0.0076321971777965235 0.00971908668806023 0.008195802946535801 0.009183670426020755 0.008128066011865595" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 6.7 KiB |
Reference in New Issue
Block a user