Pilih pratetap (mod Plus):Dalam mod Plus, gunakan panel kanan untuk memilih salah satu pratetap terbina dalam (cth., "Basic Fallback"). Ini secara automatik membina graf pengoptimuman untuk anda. Dalam mod Percuma, bina graf manual minimum:InputNode → QuantizerNode → OutputNode.
Jalankan graf:Klik butang "Jalankan Graph".
Bandingkan hasil:Beralih ke tab "Penonton" untuk membandingkan secara visual animasi asal dan dioptimumkan.
Semak perubahan:Dalam tab "Keputusan" dan "Statistik", anda akan menemui maklumat terperinci tentang kekunci yang telah diubah suai atau dipadamkan.
Jenis Soket & Aliran Data
soketjenisdatasambungan
Artikel ini menerangkan jenis data yang digunakan oleh soket dalam graf nod dan perkara yang boleh disambungkan ke mana.
Peraturan cepat
Kebanyakanpemprosesannod beroperasi pada aSpine Muatan. Nod berkaitan Atlasberoperasi padaProjek AtlasatauSprite. gunaValidatorNodeapabila anda tidak pasti apa yang diharapkan oleh soket.
Jenis soket
Spine Muatan— perwakilan mesra masa jalan bagi projek Spine yang digunakan oleh kebanyakan nod pemprosesan.
Projek Atlas— atlas metadata + imej halaman yang digunakan oleh nod atlas.
Syor:Sentiasa mulakan dengan pengoptimuman Lossless. Gunakan kaedah Lossy hanya apabila pengurangan saiz fail selanjutnya diperlukan, dan sentiasa semak hasilnya secara visual.
Cara Mengukur Keberkesanan
panduanmetrikperangkaan
Untuk memahami keberkesanan pengoptimuman anda, beri perhatian kepada metrik berikut:
Saiz fail:Saiz akhir.jsonfail adalah matlamat utama pengoptimuman.
Kiraan Kerangka Utama:Dalam tab "Statistik", anda akan menemui jadual dan carta yang menunjukkan bilangan bingkai utama yang telah dialih keluar dalam setiap animasi.
Perbandingan Visual:Sentiasa gunakan tab "Penonton" untuk membandingkan animasi "sebelum" dan "selepas". Pastikan pengoptimuman Lossy tidak memperkenalkan artifak visual yang tidak boleh diterima.
Laporan dalam Jadual "Keputusan":Di sini anda boleh menyemak secara terperinci setiap perubahan khusus yang dibuat pada data anda.
Pemapar: Panel Kawalan
penontonkawalanui
ThePenontontindanan tab aKawalanpanel di atas kanvas. Ia dibahagikan kepada tiga kumpulan:
Kawalan Animasi
Animasi— memilih animasi Spine yang sedang dimainkan.
kulit— memilih Kulit yang digunakan.
Kelajuan— pengganda kelajuan main balik (0.1× → 3.0×).
Lihat Kawalan
Tetapkan Semula Pandangan— memulihkan kedudukan kamera/reka letak lalai.
Lihat Pilihan— offset berangka yang digunakan untuk meletakkan pandangan perbandingan:Jarak X / Jarak Y(jarak antara asal/dioptimumkan) danOffset X / Offset Y(anjakan global).
Kawalan Nyahpepijat
Mod Nyahpepijat— membolehkan tindanan pemaparan nyahpepijat (bergantung pada sokongan masa jalan).
Dayakan Fizik— togol simulasi fizik (jika rangka menggunakan fizik).
Label— togol tindanan label.
Pemapar: Panel Prestasi
prestasifpsingatanui
ThePrestasipanel menunjukkan metrik masa jalan masa nyata untuk rangka yang sedang dimainkan.
Masa nyata
FPS— bingkai sesaat diukur oleh monitor.
Masa Bingkai— masa setiap bingkai dalam milisaat (lebih rendah adalah lebih baik).
Carta FPS— 120 sampel terakhir dipaparkan sebagai bar.
Metrik rangka
Slot Kelihatan— berapa banyak slot yang kelihatan pada sampel terakhir.
Purata Kelihatan— purata bergolek slot yang boleh dilihat (lebih stabil daripada bingkai tunggal).
Bucu— kiraan puncak semasa digunakan untuk pemaparan.
Had (px)— rangka semasa menghadkan lebar×tinggi dalam piksel.
Purata Sempadan— had purata bergolek.
Tekstur Terbesar— halaman atlas terbesar (mengikut dimensi) yang dikesan untuk rangka.
Memori Tekstur— anggaran jumlah memori tekstur untuk halaman atlas yang dimuatkan. Apabila tersedia, panel juga menunjukkan pecahan setiap halaman (nama fail, dimensi dan anggaran saiz).
Penambahbaikan (apabila Dioptimumkan tersedia)
Penambahbaikan Slot- membandingkanPurata Kelihatanantara Asal vs Dioptimumkan.
Perubahan Ingatan- membandingkanMemori Teksturantara Asal vs Dioptimumkan.
Penonton: Garis masa
penontongaris masaanimasimain balikpanduan
TheGaris masapanel ialah penjujukan animasi boleh dok di bahagian bawah Pemapar. Ia membolehkan anda mengatur klip animasi pada berbilang trek, mengawal main balik dan peralihan pratonton.
Trek & Klip
Sehingga 4 trek animasi— setiap trek memetakan ke SpinetrackIndexlapisan. Trek yang lebih tinggi bercantum di atas trek yang lebih rendah.
Tambah animasi— klik pada+butang pada mana-mana trek untuk membuka pemilih animasi (dengan penapis carian).
Seret & ubah saiz klip— seret badan klip untuk menggerakkannya di sepanjang trek; seret tepi kiri/kanan untuk menukar masa atau tempoh mula.
Padamkan klip— pilih klip dan tekanDeleteatauBackspace.
Pengesanan bertindih— klip bertindih pada trek yang sama diserlahkan dengan warna merah.
Kawalan Pengangkutan
Main / Jeda / Berhenti— kawalan main balik standard.
Sebelumnya / Seterusnya— lompat ke permulaan klip sebelumnya atau seterusnya.
Kelajuan animasi— peluncur dari 0.1× hingga 3.0×.
Auto-stop— main balik berhenti secara automatik pada penghujung garis masa.
Percampuran Peralihan
Tempoh campuran global— menetapkan masa silang pudar lalai antara klip berturut-turut.
Per-peralihan menimpa— klik gelembung peralihan antara dua klip untuk menetapkan tempoh campuran tersuai. Anda boleh menetapkan semula penggantian individu kembali kepada nilai global.
Mencari & Menggosok
Kepala main— seret pemegang pada pembaris masa atau klik pembaris untuk mencari.
Pratonton masa kursor— melayang di atas kawasan trek memaparkan masa di bawah kursor.
Pekerja Web— cari dan pengiraan peristiwa diturunkan kepada pekerja latar belakang untuk prestasi lancar.
Main Semula Semula Fizik
Togol fizik antaraKemas kini(kekangan aktif) dantiada(kurang upaya).
Semasa mencari, masa rangka dimajukan untuk menyelesaikan kekangan fizik dengan betul.
Sokongan Berbilang Rangka
Pemilih pasangan sasaran— setiap trek boleh menyasarkan semua pasangan (🌐 Semua pasangan) atau rangka tertentu.
Kedudukan dan skala setiap rangka— X/Y offset dan input skala untuk rangka individu.
Lukis susunan— input berangka untuk mengawal keutamaan lapisan render.
Kotak pilihan berbilang pilihan untuk semua kulit yang ditakrifkan dalam rangka yang dimuatkan.
Lihat Tetapan
Jarakkan X / Y— jurang antara pasangan rangka.
Offset X / Y— peralihan port pandangan global.
Togol PMA— mod alfa pradarab (Spine 3.x) atau atlas mod alfa (Spine 4.x: auto / pma / bleed / none).
Label rangka— togol tindanan label.
Penonton: Perakam
penontonperakamrakamaneksportvideopanduan
ThePerakammenangkap animasi Spine daripada penonton sebagai video, imej animasi atau jujukan imej.
Mod Rakaman
⚡ Rekod Pantas— tangkapan masa nyata menggunakanMediaRecorder + captureStream(). Menghasilkan output WebM sahaja. Cepat tetapi terhad kepada kadar bingkai masa nyata.
🎬 Eksport HQ— pemaparan bingkai demi bingkai luar talian menggunakan WebCodecsVideoEncoder + readPixels(). Menyokong semua format dan menghasilkan output piksel-sempurna.
Format Output
Video: WebM, MP4, AVI, MOV
Imej animasi: GIF, PNG Beranimasi (APNG)
Urutan imej: PNG Jujukan, Jujukan WebP
Codec (Eksport HQ)
VP8, VP9, H.264 (AVC), AV1, ProRes — codec yang tersedia dikesan secara automatik berdasarkan sokongan penyemak imbas.
Kualiti
Pratetap: Rendah (~1 Mbps), Sederhana (~3 Mbps), Tinggi (~5 Mbps), Tanpa Kehilangan (~20 Mbps).
Kadar bit tersuai— nyatakan dalam kbps untuk kawalan halus.
Masa
FPS: 24, 30, 60 atau tersuai (1–120 fps).
Memanaskan badan— saat untuk penyelesaian fizik/kekangan sebelum rakaman bermula.
Jeda-selepas— pegang bingkai terakhir untuk tempoh yang ditetapkan.
Sertakan bingkai terakhir— togol.
Viewport & Pangkas
Dayakan/lumpuhkan pemangkasan— togol kawasan tanaman.
Pangkas segi empat tepat— X, Y, Lebar, Tinggi dalam koordinat dunia Spine.
Snap untuk berpasangan— pangkas automatik pada pasangan rangka dengan padding boleh dikonfigurasikan.
Tindanan tanaman interaktif— seret sudut/tepi terus dalam port pandangan.
Resolusi
Mod skala— peluncur peratusan (10%–400%).
Mod tetap— dimensi piksel eksplisit (sehingga 4096px).
Peleraian output yang dikira dipaparkan secara langsung.
Pilihan Render
Membuat tulang— sertakan tindanan tulang nyahpepijat.
Memaparkan imej— sertakan imej lampiran.
Render orang lain- kotak sempadan, laluan.
MSAA— Tiada / 2× / 4× anti-aliasing.
Melicinkan— tahap 0–8 dengan pilihan algoritma (Bicubic / Bilinear).
Latar belakang
Telus— dilumpuhkan secara automatik untuk format yang tidak mempunyai alfa (cth., GIF, JPEG).
Warna pepejal- pemilih warna tersuai.
Papan dam— penunjuk ketelusan visual.
Sokongan saluran alfa: VP9+WebM, AV1+MP4, PNG Jujukan, APNG, Jujukan WebP.
Tindanan HUD
Togol: maklumat trek, masa, nombor bingkai, FPS, label rangka.
Pasangan sasaran— merekodkan rangka tertentu atau semua.
Mod rangka— Gabungan (fail tunggal) / Fail berasingan (satu fail bagi setiap rangka).
Templat Nama fail
Rentetan templat dengan pembolehubah:{project}, {animation}, {W}, {H}, {fps}. Pratonton langsung nama fail yang diselesaikan dipaparkan.
Integrasi Garis Masa
Julat rakaman muncul sebagai klip putus-putus merah/oren pada garis masa. Seret tepi untuk mengubah saiz julat, seret badan untuk meletakkan semula atau gunakan butang tetapan (⚙️) untuk membuka tetapan rakaman penuh.
Tab Keputusan
keputusanmejapengoptimuman
TheKeputusantab menunjukkan output pengoptimuman terperinci.
Jadual keputusan— paparan baris setiap perubahan hasil pengoptimuman JSON (cth. animasi/bone/property/keyframe yang telah diubah suai atau dialih keluar).
Sprite/Atlas perbandingan— apabila pengoptimuman tekstur digunakan, bahagian ini membandingkan saiz sprite dan hasil pembungkusan.
Petua: gunakan paparan Hasil untuk menjawab:apa sebenarnya yang berubah?
Tab Statistik
perangkaancartametrik
ThePerangkaantab meringkaskan hasil pengoptimuman sebagai carta dan metrik agregat.
Carta Pengoptimuman— menggambarkan kesan pengoptimuman ke atas set data (apabila pengoptimuman JSON menghasilkan perubahan).
Jadual Metrik— nombor utama seperti saiz asal/baru dan peratus pengurangan.
Statistik Pembungkusan Tekstur— jika atlas pembungkusan semula telah digunakan, menunjukkan halaman, jumlah/kawasan terpakai, kecekapan dan pecahan setiap halaman.
Gunakan tab ini untuk menjawab:berapa banyak yang telah kami perbaiki secara keseluruhan?
Contoh Saluran Paip (Video)
videocontohsaluran paipyoutube
Di bawah ialah saluran paip dunia sebenar yang lengkap daripada senarai main YouTube rasmi.
Spine2D Eksperimen 1: Pengoptimuman Lengkung dengan RDP Algoritma— garis dasar Spine demo pengoptimuman 2D: algoritma Ramer–Douglas–Peucker (RDP) mengalih keluar data lengkung/kunci berlebihan untuk mengecilkan JSON. RDP boleh mengalih keluar kunci penting, jadi sentiasa semak animasi dan kecualikan tulang/slot sensitif dengan nod penapis sebelum nod RDP.Tonton di YouTube
Spine2D Eksperimen 2: Pengoptimuman Lengkung dengan Algoritma Kuantiti— kuantisasi ialah Spine pengoptimum lengkung 2D yang paling selamat: nilai pembundaran (selalunya kepada 1 perpuluhan) memberikan kemenangan saiz serta-merta. Contoh: [0.115,14.5,0.222,-27.78] → [0.1,14.5,0.2,-27.8]. Gunakan nod pengkuantitian sebagai langkah terakhir sebelum nod keluaran untuk mengunci pengoptimuman; video menunjukkan sebelum/selepas dengan perubahan visual yang hampir tidak dapat dilihat.Tonton di YouTube
Spine2D Eksperimen 3: Membina Semula Lengkung dengan Algoritma Spline & Refit— Spline adalah lossless untuk segmen lurus (mengalih keluar kekunci tengah yang berlebihan), manakala Refit adalah lossy tetapi berkuasa: ia membina semula bahagian yang kompleks sebagai satu lengkung Bézier. Algoritma ini sesuai selepas fizik membakar dan membersihkan melalui nod Schneider. Nota: Pasang semula lelaran melebihi 100 boleh mengambil masa beberapa minit untuk mencari lengkung terbaik. Video menunjukkan cara kedua-dua kaedah berfungsi dan % pengoptimuman yang diperoleh.Tonton di YouTube
Spine2D Eksperimen 4: Mengalih keluar Data Berlebihan dengan Nod Keterlihatan Lampiran & Pembersihan— struktur Spine pengoptimuman 2D menggunakan nod Keterlihatan Lampiran dan Pembersihan. Keterlihatan Lampiran melumpuhkan lampiran apabila alfa pudar kepada 0 dan memulihkannya semasa fade-in, mengurangkan panggilan cabutan dan mengalih keluar kekunci berlebihan. Pembersihan mengalih keluar lebihan logik: trek warna/alfa yang tidak digunakan, kekunci putaran IK dikawal sepenuhnya oleh kekangan dan kekunci kekangan laluan. Video menunjukkan cara pengoptimuman berasaskan logik ini berbeza daripada penyederhanaan lengkung.Tonton di YouTube
Spine2D Eksperimen 5: Membina Talian Paip Bukan Linear (Penapis & Gabung Node)— bukan linear Spine pengoptimuman 2D: belah strim data dengan penapis (Animasi, Tulang, Slot, Parameter atau Kulit), jalankan algoritma yang berbeza pada cawangan selari (contohnya, pemampatan agresif untuk tulang badan sambil mengekalkan animasi muka tanpa kehilangan), kemudian gabungkan cawangan dengan nod Gabung menjadi satu rangka. Aliran kerja ini melangkaui Input ringkas → Optimumkan → Saluran paip keluaran dan membolehkan anda menyasarkan hanya perkara yang perlu dioptimumkan.Tonton di YouTube
Spine2D Eksperimen 6: Pembungkusan Semula Tekstur & Penskalaan Terpilih dengan Nod Tersuai— saluran paip pengoptimuman tekstur lanjutan: nod Atlas Unpacker/Repacker membolehkan anda membongkar, mengubah saiz/memampatkan dan membungkus semula atlas dalam satu graf, lebih pantas daripada aliran kerja Spine standard. Menggunakan saluran paip bukan linear, anda boleh membahagikan aset, mengekalkan tekstur aksara pada 100% sambil mengecilkan yang lain kepada 25%, kemudian menggabungkan semuanya kembali menjadi atlas kongsi tunggal. Atlas/Nod Pemapar Aset menyediakan pemeriksaan visual dan penapisan aset dan atlas pada setiap peringkat. Ini memudahkan untuk menentukan saiz semula sasaran, memproses secara terpilih dan menggabungkan semula hasil sebagai templat boleh guna semula.Tonton di YouTube
Spine2D Eksperimen 7: Saiz Semula Rangka Segera dengan Skala Node— hujung-ke-hujung Spine saluran paip pengoptimuman 2D serta penskalaan rangka. Nod Skala menggantikan aliran kerja Spine yang membosankan (eksport/import, bungkus semula/bongkar, betulkan laluan) dengan satu langkah graf: tetapkan saiz sasaran, pratonton serta-merta dalam port pandangan dan lelaran dalam masa nyata. Video tersebut menggabungkan pengoptimuman lengkung/kunci, pemprosesan aset dan saiz semula rangka dalam satu saluran paip yang diperkemas.Tonton di YouTube
Spine2D Eksperimen 8: Gambaran Keseluruhan Node Beta Awam— panduan setiap nod yang tersedia dalam beta awam dan cara menggilap semula menjembatani keperluan animator dan pembangun. Meliputi pembersihan kunci berlebihan, penyederhanaan Bézier‑ke‑linear, pembulatan untuk saiz, penyingkiran lampiran tidak kelihatan, pembersihan sifat yang tidak digunakan, pengesanan aksara bukan bahasa Inggeris dan atlas unpack/filter/scale/repack. Dual Pemapar mengesahkan hasil dengan perbandingan visual dan FPS sebelah-menyebelah. Public Beta bersiaran langsung dire-polish.com. Tonton di YouTube
Spine2D Eksperimen 9: Kekangan Fizik Baking kepada Bingkai Utama— Dalam video ini, saya menunjukkan eksperimen terbaharu saya dengan kekangan fizik penaik ke dalam bingkai utama standard. Algoritma pembakar baharu memastikan: Gelung Sempurna (kegelisahan sifar atau lompat antara bingkai mula dan akhir), Saiz Fail Dioptimumkan (pembersihan lengkung automatik memastikan saiz JSON hampir kepada yang asal) dan Keserasian Ke Belakang (kunci bakar membolehkan anda menggunakan Spine 4.2 fizik-token atau animasi fizik genap dalam 4.2 4.0).Tonton di YouTube
Nodes
Input
Mengimport fail projek Spine, input JSON sahaja, aset demo dan pakej ZIP ke dalam graf.
Tujuan: Ini ialah titik masuk utama untuk kebanyakan aliran kerja. Ia membaca JSON, atlas dan tekstur serta menormalkannya kepada data dalaman yang boleh diproses oleh nod hiliran.
Mod yang disokong:
1. Projek penuh: JSON + atlas + tekstur
2. JSON sahaja: proses data skeleton/animasi tanpa atlas
3. Pakej ZIP: fail zip berbungkus yang mengandungi projek lengkap
4. Aset demo: data sampel terbina dalam untuk ujian pantas
Output utama:
- **payload_out**: data ternormal untuk nod pengoptimuman
- **original_json_out**: JSON sumber untuk perbandingan atau pembinaan semula
- **atlas_project_out**: projek atlas yang telah dihuraikan apabila tekstur disediakan
Picture Input
Menambah imej PNG/JPEG kendiri ke viewport supaya anda boleh membina pratonton dan tangkapan pembentangan yang lebih kemas.
Tujuan: Gunakan nod ini untuk meletakkan imej terus ke dalam viewport sebagai lapisan pembentangan atau pembantu visual. Ia berguna apabila anda mahu menghias adegan, menambah grafik sokongan dan menjadikan pratonton projek kelihatan lebih kemas sebelum merakam video atau demo.
Aliran kerja: Muatkan satu imej, kemudian gunakan alat viewport untuk menskalakannya, mengalihkannya dan melaras z-index supaya ia duduk dengan betul dalam komposisi anda. Ini memudahkan pembinaan tangkapan pameran yang menarik tanpa menyentuh data utama projek Spine.
Nod ini berdiri sendiri dan tidak mendedahkan soket graf.
Output
Mengumpulkan hasil akhir dan membolehkan anda memuat turun data yang dioptimumkan sebagai fail berasingan, set fail berkumpulan atau arkib.
Tujuan: Bertindak sebagai hab eksport untuk JSON yang dioptimumkan, data atlas, tekstur dan sprite. Ia boleh menghimpunkan hasil daripada satu set JSON/atlas/tekstur, daripada berbilang set fail, atau daripada sprite sahaja apabila anda mahukan output imej tanpa membina semula projek Spine penuh.
Pilihan eksport:
- Muat turun fail secara individu atau sebagai satu arkib
- Muat turun hasil berbungkus atau arkib yang mengandungi fail tidak berbungkus
- Eksport JSON dalam bentuk padat atau bentuk pretty-print yang mudah dibaca
- Eksport data projek Spine lengkap atau hanya hasil sprite/imej
Aliran chaining: OutputNode tidak semestinya menjadi penghujung mutlak graf. Anda boleh menghantar outputnya ke peringkat pipeline lain dan menjalankan fail yang sama melalui pass pengoptimuman tambahan. Dalam amalan, pengoptimuman key dan curve telah diuji sehingga 3 iterasi berturut-turut.
Output utama:
- **reconstructed_json_out**: JSON Spine yang dibina semula
- **original_json_passthrough_out**: passthrough JSON asal
- **payload_out**: payload untuk chaining lanjutan
- **changes**: perubahan pengoptimuman yang dikumpulkan
- **atlas_assets**: sumber atlas sedia untuk dieksport
RDP
Memudahkan lengkung animasi menggunakan algoritma Ramer-Douglas-Peucker (RDP).
Tujuan: Mengurangkan bilangan bingkai utama dalam segmen animasi linear atau hampir linear dengan mengalih keluar titik yang terletak pada garis lurus antara dua yang lain.
Peraturan Emas: Dilumpuhkan secara lalai. Ia melindungi lengkung dengan bentuk yang ketara (kawasan/lengkungan) daripada diratakan kepada linear. Lumpuhkannya hanya untuk pemampatan yang lebih agresif selepas semakan visual.
Kekunci soket: muatan_masuk, muatan_keluar, perubahan
Spline
Sesuai dengan lengkung spline licin pada bingkai utama animasi, mengurangkan titik perantaraan yang tidak perlu.
Tujuan: Pemasangan lengkung yang licin sambil mengekalkan kualiti visual.
Kekunci soket: muatan_masuk, muatan_keluar, perubahan
Refit
Anggarkan jujukan rangka utama padat dengan lebih sedikit lengkung Bezier untuk mengurangkan saiz.
Tujuan: Muatkan lebih sedikit lengkung sambil kekal dalam toleransi.
Kekunci soket: muatan_masuk, muatan_keluar, perubahan
Quantizer
Mengurangkan ketepatan nilai berangka dalam bingkai utama dan lengkung.
Tujuan: Cara yang mudah tetapi berkesan untuk mengurangkan saiz fail dengan membundarkan nombor kepada bilangan tempat perpuluhan yang ditentukan.
Penggunaan: Boleh digunakan pada hampir semua data animasi. Menjadi lebih berkesan dengan kiraan bingkai utama yang lebih tinggi.
Awas: Pengkuantitian yang terlalu agresif (kepersisan rendah) boleh menyebabkan kegelisahan atau artifak visual dalam animasi.
Kekunci soket: muatan_masuk, muatan_keluar, perubahan
Cleanup
Menjalankan pelbagai tugas pembersihan untuk mengalih keluar data animasi yang berlebihan atau tidak diperlukan.
Tujuan: Alat khusus untuk mengalih keluar jenis data berlebihan tertentu yang mungkin terlepas oleh pengoptimum lain.
Penggunaan: Sambungkan muatan anda ke 'payload_in' dan ambil keputusan daripada 'payload_out'. Jika anda mahukan laporan setiap perubahan, gunakan juga 'perubahan'.
Kekunci soket:
- Input: muatan_masuk
- Output: muatan_keluar, perubahan
Pembersihan yang disokong pada masa ini:
1. **Alih Keluar Trek Warna/Alfa yang Tidak Digunakan**: Mengalih keluar garis masa warna/alfa untuk slot yang tidak pernah kelihatan semasa animasi.
2. **Alih Keluar Putaran IK Berlebihan**: Mengeluarkan bingkai utama putaran daripada tulang yang dikawal sepenuhnya oleh kekangan IK dengan campuran 100%.
3. **Alih Keluar Kekunci Kekangan Laluan**: Mengeluarkan rangka kunci putar/terjemah daripada tulang yang dikawal sepenuhnya oleh kekangan laluan (nilai campuran pada 100%).
4. **Sanitasi Aksara Bukan Bahasa Inggeris**: Menggantikan aksara bukan Inggeris dalam nama/pengecam untuk mengelakkan isu dalam alatan hiliran.
Scale
Menskalakan semua nilai berangka dalam bingkai utama animasi mengikut faktor tertentu.
Tujuan: Menskala data animasi secara seragam, berguna untuk mengubah saiz rangka secara berkadar atau melaraskan keamatan animasi.
Penggunaan: Sambung **payload_in** dan ambil hasil daripada **payload_out**.
Kekunci soket: muatan_masuk, muatan_keluar
Schneider
Sesuai dengan lengkung Bezier yang licin pada bingkai utama animasi menggunakan algoritma pemadanan lengkung Schneider.
Tujuan: Pemasangan lengkung lanjutan yang menghasilkan lengkung Bezier yang kelihatan semula jadi daripada jujukan rangka utama yang padat.
Ketersediaan: **Nod tambah sahaja**.
Cara ia berfungsi: Algoritma Schneider menganalisis kedudukan bingkai utama dan tangen untuk menjana titik kawalan Bezier optimum yang hampir sepadan dengan gerakan asal.
Parameter:
- **Toleransi Ralat**: Sisihan maksimum yang dibenarkan daripada bingkai utama asal. Lebih rendah = lebih tepat, lebih tinggi = lengkung yang lebih licin.
- **Sudut Sudut**: Sudut ambang (darjah) untuk membelah lengkung kepada segmen.
Terbaik untuk:
- Animasi lukisan tangan atau diimport dengan banyak bingkai utama
- Menukar interpolasi linear untuk melicinkan lengkung Bezier
- Mengurangkan kiraan kerangka utama sambil mengekalkan kualiti lengkung
Nota: Lebih intensif secara pengiraan daripada algoritma yang lebih mudah seperti RDP, tetapi menghasilkan kualiti lengkung yang unggul.
Kekunci soket: muatan_masuk, muatan_keluar, perubahan
Physics Constraint Bake
Membakar Spine PhysicsConstraint gerakan ke dalam tulang berputar/terjemah kerangka utama dan mengalih keluar garis masa fizik.
Tujuan: Menukar simulasi fizik masa jalan kepada bingkai utama yang jelas supaya animasi bersifat deterministik dan boleh diedit tanpa kekangan fizik. Selepas dibakar, kekangan fizik dan garis masa fizik dialih keluar daripada muatan.
Ketersediaan: **Nod tambah sahaja**.
Input/Output:
- **muatan_masuk** → **muatan_masuk** (dibakar)
- **perubahan** (senarai perubahan pilihan)
Kawalan:
- **Sampel FPS**: Kadar pensampelan simulasi untuk pembakar.
- **Putaran Bakar**: Tulis kekunci putaran bakar.
- **Terjemahan Bakar**: Tulis kunci terjemahan yang dibakar.
- **Terjemahan Bakar (Kanak-kanak)**: Sapukan bakar terjemah pada tulang kanak-kanak yang bergantung pada gerakan fizik.
Nota:
- Memerlukan Spine JSON asal untuk membina semula data simulasi.
- Gunakan apabila anda ingin mengalih keluar kekangan fizik tetapi mengekalkan pergerakan.
Attachment Visibility
Mengoptimumkan pemaparan dengan menetapkan lampiran slot kepada null apabila alfanya adalah sifar.
Tujuan: Menghalang enjin permainan daripada perlu memproses atau membuat lampiran yang tidak kelihatan.
Penggunaan: Memproses **payload_in**, output dioptimumkan **payload_out**, dan secara pilihan melaporkan **perubahan**.
Kekunci soket: muatan_masuk, muatan_keluar, perubahan
Payload Merger
Menggabungkan berbilang muatan animasi yang diproses kembali menjadi satu muatan bersatu.
Tujuan: Penting untuk saluran paip pemprosesan selari di mana animasi atau kumpulan tulang yang berbeza dioptimumkan secara berasingan dan perlu digabungkan semula.
Input:
- **asas**: Muatan induk (struktur rangka)
- **mengatasi**: Satu atau lebih muatan yang treknya menggantikan trek asas
Output:
- **merged_out**: Muatan bercantum
Kekunci soket: asas, menimpa, merged_out
Animation Viewer
Alat visual untuk memeriksa dan membandingkan lengkung animasi sebelum dan selepas pengoptimuman.
Tujuan: Menyediakan perwakilan grafik bingkai utama dan lengkung untuk trek yang dipilih.
Penggunaan: Sambung **before_in** dan **after_in** untuk menindih asal vs dioptimumkan. Secara pilihan, sambungkan **perubahan** untuk menyerlahkan lagu yang terjejas.
Kekunci soket: before_in, after_in, berubah
Animation Filter
Menapis trek animasi berdasarkan nama animasi (cth., 'run', 'idle').
Tujuan: Berguna untuk menggunakan strategi pengoptimuman yang berbeza pada animasi yang berbeza.
Penggunaan: Tapis **payload_in** ke dalam **payload_out** dan mendedahkan **animation_list** untuk pemilihan UI.
Kekunci soket: muatan_masuk, muatan_keluar, senarai_animasi
Asset Filter
Tapis aset atlas mengikut nama, berfungsi dalam dua mod: sebelum nyahpek (menapis teks atlas) atau selepas nyahpek (menapis sprite).
Tujuan: Mengawal aset mana yang disertakan dalam aliran kerja - sama ada aset mana yang hendak dibongkar daripada atlas atau mana sprite yang telah dibongkar untuk dimasukkan dalam pembungkusan semula.
Input/Output:
- Mod Atlas: **atlas_in** → **atlas_out**
- Mod Sprite: **sprites_in** → **sprites_out**
Kekunci soket: atlas_in, atlas_out, sprites_in, sprites_out
Bone Filter
Menapis trek animasi tulang berdasarkan nama tulang.
Tujuan: Membenarkan penyasaran atau mengecualikan tulang tertentu daripada proses pengoptimuman.
Penggunaan: Tapis **payload_in** ke **payload_out**.
Kekunci soket: muatan_masuk, muatan_keluar
Skin Filter
Menapis data animasi dan aset berdasarkan nama kulit.
Tujuan: Proses hanya kulit tertentu daripada projek Spine berbilang kulit.
Penggunaan: Tapis **payload_in** ke **payload_out**.
Kekunci soket: muatan_masuk, muatan_keluar
Slot Filter
Menapis trek animasi slot berdasarkan nama slot.
Tujuan: Berguna untuk menyasarkan atau mengecualikan slot tertentu yang mungkin mempunyai keperluan masa atau keterlihatan khas.
Penggunaan: Tapis **payload_in** ke **payload_out**.
Kekunci soket: muatan_masuk, muatan_keluar
Parameter Filter
Menapis trek animasi berdasarkan jenis sifatnya (cth., putaran, skala, warna).
Tujuan: Membenarkan menggunakan pengoptimuman berikutnya hanya pada jenis data animasi tertentu.
Penggunaan: Tapis **payload_in** ke **payload_out**.
Kekunci soket: muatan_masuk, muatan_keluar
Atlas Unpacker
Mengekstrak sprite individu daripada tekstur Spine atlas.
Tujuan: Memecahkan fail atlas kepada sprite komponennya, membenarkan analisis individu atau pembungkusan semula.
Penggunaan: Sambung **atlas_project** daripada InputNode kepada **atlas_project** (atau **atlas_project_in**) pada nod ini. Secara pilihan, sambungkan **skeleton_json_in** (daripada InputNode's **original_json**) untuk mendayakan pemangkasan mesh-aware (memangkas sprite untuk mesh sempadan badan bukannya sempadan segi empat tepat, yang boleh mengurangkan memori tekstur untuk lampiran jaringan dengan ketara).
Keluaran:
- **sprites_out**: Tatasusunan sprite standard (untuk penonton/pembungkus semula)
- **sprites_data_out**: Imej sprite/metadata yang diekstrak (himpunan berstruktur)
- **atlas_out**: Atlas laluan projek
Kekunci soket: atlas_project, atlas_project_in, skeleton_json_in, sprites_out, sprites_data_out, atlas_out
Atlas Repacker
Membungkus semula sprite individu ke dalam satu atau lebih atlas tekstur baharu yang dioptimumkan.
Tujuan: Mengoptimumkan memori tekstur dan berpotensi mengurangkan panggilan cabutan dengan mencipta helaian sprite yang cekap.
Penggunaan: Menerima sprite sama ada melalui **sprites_data_in** (berstruktur sprite bundle) atau melalui **sprites_out** (sprites_out array standard). Jika diperlukan untuk pengendalian alfa / pembungkusan poligon, sediakan rangka asal melalui **original_json**. Mengeluarkan atlas yang dibungkus sebagai **atlas_out**.
Kekunci soket: sprites_data_in, sprites_out, original_json, atlas_out
Atlas Viewer
Alat visualisasi dan analisis atlas ringan untuk memeriksa struktur atlas sebelum membongkar.
Tujuan: Menyediakan cara pantas untuk pratonton atlas halaman dan wilayah tanpa melakukan operasi pembongkaran berat. Membantu mengesahkan struktur atlas dan mengenal pasti kawasan yang tidak digunakan.
Penggunaan: Sambungkan satu projek atlas ke **atlas_project** (atau **atlas_in** / **atlas**), atau periksa sekumpulan projek atlas melalui **atlas_projects**. Secara pilihan, sambungkan rangka JSON ke **json** untuk analisis penggunaan.
Kekunci soket: atlas_project, atlas_projects, atlas_in, atlas, json
Atlas Merger
Menggabungkan berbilang sumber atlas ke dalam satu atlas bersatu.
Tujuan: Menggabungkan berbilang projek atlas menjadi satu.
Input:
- **atlas_inputs**: Tatasusunan berbilang input projek atlas
Keluaran:
- **atlas_out**: Projek atlas digabungkan
- **merged_out**: Output gabungan warisan
- **merged_atlas_out**: Output gabungan warisan
Kekunci soket: atlas_inputs, atlas_out, merged_out, merged_atlas_out
Saluran paip biasa:
```
InputA → Unpacker → Repacker ─┐
├→ Atlas Merger → Unpacker → Repacker → Output
InputB → Unpacker → Repacker ─┘
```
Sebelum Repacker data adalah sprite individu; selepas Repacker ia menjadi projek atlas. Atlas Penggabungan menggabungkan projek atlas, kemudian Unpacker terakhir → Pas Repacker membungkus semula semuanya dengan ketat menjadi satu atlas bersatu.
Asset Viewer
Memaparkan sprite individu daripada atlas yang tidak dibungkus.
Tujuan: Alat penyahpepijatan visual untuk manipulasi atlas.
Penggunaan: Menerima sprites melalui **sprites_out** (standard) atau legasi **sprites_in** / **sprites_data**.
Kekunci soket: sprites_out, sprites_in, sprites_data