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:
28
SlaveMatrix/Assets/Parts/大顎上/part.yaml
Normal file
28
SlaveMatrix/Assets/Parts/大顎上/part.yaml
Normal file
@@ -0,0 +1,28 @@
|
||||
id: 大顎上
|
||||
original_key: 大顎上
|
||||
resource: 肢中
|
||||
morph_x: 1
|
||||
morph_y: 1
|
||||
variants:
|
||||
- x: 0
|
||||
y: 0
|
||||
file: x0y0.svg
|
||||
fields:
|
||||
- name: 甲殻
|
||||
- name: 線左
|
||||
- name: 線右
|
||||
- name: 刺左
|
||||
- name: 刺右
|
||||
joints:
|
||||
- position: [
|
||||
0.0455606092983783,
|
||||
0.0760071894825491
|
||||
]
|
||||
- position: [
|
||||
0.06543895629489324,
|
||||
0.0760071894825491
|
||||
]
|
||||
- position: [
|
||||
0.05549978279663584,
|
||||
0.07334493974274894
|
||||
]
|
||||
17
SlaveMatrix/Assets/Parts/大顎上/x0y0.svg
Normal file
17
SlaveMatrix/Assets/Parts/大顎上/x0y0.svg
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1">
|
||||
<g transform="translate(0.3373434528286708,0.11824676756798176) rotate(0) scale(1,1) translate(-0.05549978279663584,-0.07334493974274894)"><path d="M 0.09288005641887494 0.061470481328802784 C 0.09256468291947303 0.06163421896137268 0.08822799801485867 0.0637343915755754 0.08909557442605207 0.06343533291964153 C 0.08822799801485867 0.0637343915755754 0.08147328911275864 0.06558690581101817 0.08246913948455421 0.06505918520000926 C 0.08147328911275864 0.06558690581101817 0.07638355807027276 0.0702845482031771 0.07714536996450516 0.06976798025174845 C 0.07638355807027276 0.0702845482031771 0.07267865133655595 0.07173145536737177 0.07332739675376546 0.07125800061715316 C 0.07267865133655595 0.07173145536737177 0.06902984397500982 0.07579872364080668 0.06936042495799102 0.0754494372543718" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.06936042495799102 0.0754494372543718 C 0.06883969833637378 0.07566417706581663 0.06204704250973353 0.078646161581813 0.06311170549858414 0.07802631499170974 C 0.06204704250973353 0.078646161581813 0.05604053272455041 0.08329270311426933 0.05658446909178377 0.0828875963356109" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.05658446909178377 0.0828875963356109 C 0.05649407856718811 0.0828875963356109 0.05531900174744452 0.0828875963356109 0.055499782796635845 0.0828875963356109 C 0.05531900174744452 0.0828875963356109 0.054324705976892255 0.0828875963356109 0.05441509650148792 0.0828875963356109" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.05441509650148792 0.0828875963356109 C 0.05387116013425455 0.08248248955695246 0.04682319710583689 0.07740646840160648 0.04788786009468751 0.07802631499170974 C 0.04682319710583689 0.07740646840160648 0.041118414013663264 0.07523469744292696 0.041639140635280514 0.0754494372543718" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.041639140635280514 0.0754494372543718 C 0.04130855965229931 0.07510015086793691 0.0370234234222966 0.07078454586693456 0.0376721688395061 0.07125800061715316 C 0.0370234234222966 0.07078454586693456 0.03309238373453406 0.0692514123003198 0.033854195628766466 0.06976798025174845 C 0.03309238373453406 0.0692514123003198 0.027534575736921686 0.06453146458900036 0.028530426108717262 0.06505918520000926 C 0.027534575736921686 0.06453146458900036 0.02103641475602619 0.06313627426370765 0.021903991167219562 0.06343533291964151 C 0.02103641475602619 0.06313627426370765 0.017804135674994875 0.061306743696232895 0.018119509174396774 0.06147048132880279" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.018119509174396774 0.06147048132880279 C 0.018584931288142353 0.06108571073168359 0.024636034695105554 0.056084273152064094 0.023704574539343725 0.056853234163372415 C 0.024636034695105554 0.056084273152064094 0.029763069085554986 0.05185875877891385 0.029297031043538736 0.05224294919310297" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.029297031043538736 0.05224294919310297 C 0.02961129022166072 0.05233633293210949 0.033690329743829954 0.05348069381161244 0.03306814118100253 0.053363554061181304 C 0.033690329743829954 0.05348069381161244 0.037391812153711845 0.05383539367628967 0.03676329379746788 0.053648626198276615 C 0.037391812153711845 0.05383539367628967 0.04093095042746863 0.055767775263926435 0.04061036145593011 0.05560476379733799" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.04061036145593011 0.05560476379733799 C 0.0409737790011592 0.056032716031260185 0.04621215711040461 0.061411294308641375 0.044971371998679135 0.06074019060440432 C 0.04621215711040461 0.061411294308641375 0.057254517929628664 0.06365800824818266 0.05549978279663587 0.06365800824818266 C 0.057254517929628664 0.06365800824818266 0.0672689787063181 0.06006908690016726 0.06602819359459261 0.06074019060440432 C 0.0672689787063181 0.06006908690016726 0.07075262168257071 0.05517681156341579 0.07038920413734162 0.05560476379733799" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.07038920413734162 0.05560476379733799 C 0.07070979310888013 0.05544175233074954 0.07486479015204779 0.05346185872026357 0.07423627179580383 0.05364862619827663 C 0.07486479015204779 0.05346185872026357 0.07855361297509653 0.05324641431075018 0.0779314244122691 0.05336355406118132 C 0.07855361297509653 0.05324641431075018 0.08201679372785484 0.052149565454096436 0.08170253454973286 0.05224294919310297" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.08170253454973286 0.05224294919310297 C 0.08216857259174912 0.05262713960729209 0.0882264512096898 0.057622195174680736 0.08729499105392796 0.056853234163372415 C 0.0882264512096898 0.057622195174680736 0.09334547853262051 0.06185525192592198 0.09288005641887494 0.061470481328802784" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.33734345282867073,0.11824316489671408) rotate(0) scale(1,1) translate(-0.006729399287076907,-0.006729399287076907)"><path d="M 0.0032236279415546664 0.009561955144440944 C 0.0025829706544141413 0.008643203650530324 -0.0008242796658426193 0.002265058633404195 -0.0006203157812884854 0.0040494461809772245 C -0.0008242796658426193 0.002265058633404195 0.0018594900997289865 -0.0026188752420339555 0.001999844634229863 -0.0011443701409972332 C 0.0018594900997289865 -0.0026188752420339555 -0.002039490925381011 -0.005406453472617421 -0.0014624429882937435 -0.004797584425243109" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.33734345282867073,0.11824316489671408) rotate(0) scale(1,1) translate(-0.006729399287076907,-0.006729399287076907)"><path d="M 0.014921241562447625 -0.004797584425243109 C 0.014344193625360348 -0.004188715377868796 0.01131859940542309 0.00033013496003948904 0.01145895393992397 -0.0011443701409972332 C 0.01131859940542309 0.00033013496003948904 0.01387515047088821 0.005833833728550254 0.014079114355442342 0.0040494461809772245 C 0.01387515047088821 0.005833833728550254 0.009594513345458638 0.010480706638351564 0.010235170632599168 0.009561955144440944" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.32740427933041316,0.12090541463651423) rotate(0) scale(1,1) translate(-0.019917707931042028,-0.019917707931042035)"><path d="M 0.021496523336650804 0.02443184120257552 C 0.021351739437568858 0.0244927887639031 0.019318938690953018 0.02120194229659185 0.019536885327864458 0.021678337194784774 C 0.019318938690953018 0.02120194229659185 0.018916001594857314 0.018430498528951546 0.018881163693713517 0.018715102424260433 C 0.018916001594857314 0.018430498528951546 0.020154367510184575 0.018449079120627567 0.01995494014159005 0.018263090451078115 C 0.020154367510184575 0.018449079120627567 0.021402757383102877 0.02146102902147865 0.021274292116847813 0.02094696645885387 C 0.021402757383102877 0.02146102902147865 0.021351739437568858 0.0244927887639031 0.021496523336650804 0.02443184120257552 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.3472826263269281,0.12090541463651423) rotate(0) scale(1,1) translate(-0.019917707931042028,-0.019917707931042035)"><path d="M 0.01856112374523608 0.020946966458853876 C 0.018689589011491148 0.020432903896229093 0.02007990308908844 0.018077101781528663 0.019880475720493913 0.018263090451078115 C 0.02007990308908844 0.018077101781528663 0.020989090069514237 0.018999706319569324 0.020954252168370435 0.018715102424260437 C 0.020989090069514237 0.018999706319569324 0.020080583897308074 0.022154732092977702 0.02029853053421952 0.021678337194784777 C 0.020080583897308074 0.022154732092977702 0.018194108626351124 0.024370893641247955 0.018338892525433078 0.02443184120257553 C 0.018194108626351124 0.024370893641247955 0.018689589011491148 0.020432903896229093 0.01856112374523608 0.020946966458853876 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 7.8 KiB |
Reference in New Issue
Block a user