Skip to main content
Go to Editor

Wiki

Learn how to optimize your Spine 2D animations, reduce file size, and improve performance

animacijabez gubitakacjevovodifpsgledateljgubitakaizvozkartekonceptikontrolememorijametrikaodređivanje cijenaoptimizacijaperformansepluspodacipočetnikpremijapretplataprimjerirekorderreprodukcijarezultatesnimanjestatistikastoltijek radauiutičnicevezevideovodičvremenska linijavrsteyoutube

Početak rada: Osnovni tijek rada

početniktijek radavodič

Ovaj će vam vodič pomoći da brzo počnete koristiti JSON Optimizer.

  1. Učitaj projekt: Koristite InputNode za učitavanje vašeg .json, .atlas i .png datoteke.
  2. Odaberite unaprijed postavljenu postavku (Plus način rada): U Plus načinu rada upotrijebite desnu ploču za odabir jedne od ugrađenih unaprijed postavljenih postavki (npr. "Basic Fallback"). Ovo automatski gradi grafikon optimizacije za vas. U slobodnom načinu rada izradite minimalni ručni graf: InputNodeQuantizerNodeOutputNode.
  3. Pokreni grafikon: Kliknite "Pokreni Graph" gumb.
  4. Usporedite rezultate: Prijeđite na karticu "Preglednik" za vizualnu usporedbu izvorne i optimizirane animacije.
  5. Pregledajte promjene: U Na karticama "Rezultati" i "Statistika" pronaći ćete detaljne informacije o tome koji su ključevi izmijenjeni ili izbrisani.

Vrste utičnica i protok podataka

utičnicevrstepodaciveze

Ovaj članak objašnjava vrste podataka koje koriste utičnice u grafu čvorova i što se gdje može povezati.

Brzo pravilo

Većina processing čvorova radi na Spine Korisni teret. Čvorovi povezani s Atlas rade na Atlas projektu ili Sprites. Koristite ValidatorNode kada niste sigurni što utičnica očekuje.

Socket vrste

  • Spine Payload — prikaz projekta Spine koji se koristi u većini obrada prilagođen vremenu izvođenja čvorovi.
  • Atlas Projekt — atlas metapodaci + slike stranica koje koristi atlas čvorovi.
  • Sprites — otpakirane slike/regije spritea (Atlas Raspakiravač → Preglednik sredstava / Atlas Repaker).
  • JSON — originalno ili rekonstruirano Spine JSON za dijagnostika/provjera valjanosti/razlikovanje.
  • Promjene — popis/tok razlika koje proizvode neki optimizatori i koriste ih preglednici/čvorovi za izvješćivanje.

Key → type → connect do

Ključ utičnice (primjeri)Vrsta podatakaProizvedeno od stranePoveži se na
payload, payload_in, payload_outSpine Korisni teretInputNode, većina čvorova za obraduČvorovi za obradu (RDP/Spline/Refit/Quantizer/Cleanup/itd.), zatim OutputNode.payload
original_jsonJSONInputNodeDiagnosticNode, JSONDiffNode.json_before, OutputNode.original_json, neki atlas čvorovi (npr.prepakir alfa način)
reconstructed_json_outJSONOutputNodeJSONDiffNode.json_after, validatori/debug
promjenePromjene listaNeki čvorovi za obradu + OutputNodeAnimationViewerNode (izborno), izvješća/debug
atlas_projectAtlas ProjektInputNode / atlas gledateljAtlasUnpackerNode.atlas_project, OutputNode.atlas_project, atlas filteri
atlas_in, atlas_outAtlas Projekt (ili atlas-povezan tok)Atlas čvorovi / filteriAtlas čvorovi, AtlasViewerNode, AtlasMergerNode (putem svog višestruki ulaz)
sprites_out, sprites_in, sprites_data_inSpritesAtlasUnpackerNode, filteriAssetViewerNode.sprites_in, AtlasRepackerNode.sprites_data_in
atlas_inputsViše Atlas ProjektiVišestruki izvoriAtlasMergerNode.atlas_inputs (povežite nekoliko atlasi)

Praktični cjevovodi

  • Osnovno JSON optimizacija: InputNode → (izborno: DiagnosticNode / filteri) → optimizatori (RDPNode, SplineNode, QuantizerNode, …) → OutputNode.
  • Atlas ponovno pakiranje: InputNode.atlas_projectAtlasUnpackerNode → (izborno: AssetViewerNode) → AtlasRepackerNodeOutputNode.atlas_project/atlas_assets.

Planovi pretplate i premium značajke

pretplatapremijaplusodređivanje cijena

re-polish nudi dvije razine pretplate za različite potrebe.

Besplatni plan

  • • osnovniGraf Čvora
  • ✓ JSON Gledatelj
  • ✓ Vremenska traka s više zapisa i prilagodljivim miješanjem animacija
  • • ograničene optimizacije
  • • spineVerzije

Plus plan (5 dolara mjesečno)

  • ✓ Sve besplatne značajke
  • ✓ Komplet alata za optimizaciju koji pokriva ključeve, krivulje i teksture
  • ✓ Pretvorite fiziku u ključne kadrove
  • ✓ Pečene ključeve očistite u krivulje
  • ✓ Graph Unaprijed postavljene postavke
  • ✓ Prioritetna podrška

Dobivanje Plus

Kliknite Nadogradi gumb u gornjoj navigaciji, zatim:

  • Odaberite Get Plus
  • Bit ćete preusmjereni na Patreon — dovršite pretplata
  • Vratite se u uređivač čvorova dok ste prijavljeni na isti Patreon račun kako bi usluga mogla potvrditi vezu i omogućiti Plus
  • (opcionalno) Unesite aktivacijski kod (za posebne ponude)

Temeljni koncepti: Lossy vs. Lossless

konceptigubitakabez gubitakapočetnik

Sve metode optimizacije dijele se u dvije vrste:

Preporuka: Uvijek pokreni s optimizacijama bez gubitaka. Koristite metode s gubitkom samo kada je potrebno daljnje smanjenje veličine datoteke i uvijek vizualno provjerite rezultat.

Kako izmjeriti učinkovitost

vodičmetrikastatistika

Da biste razumjeli koliko je učinkovita vaša optimizacija, obratite pozornost na sljedeće metrike:

  • Veličina datoteke: Konačna veličina .json datoteke glavni je cilj optimizacija.
  • Broj ključnih okvira: Na kartici "Statistika" pronaći ćete tablice i grafikone koji pokazuju koliko je ključnih okvira uklonjeno u svakoj animaciji.
  • Visual Usporedba: Uvijek koristite karticu "Preglednik" za usporedbu animacija "prije" i "poslije". Uvjerite se da Lossy optimizacije nisu unijele neprihvatljive vizualne artefakte.
  • Izvješće u tablici "Rezultati": Ovdje možete detaljno ispitati svaku specifičnu promjenu koja je napravljena na vašim podacima.

Preglednik: Kontrolna ploča

gledateljkontroleui

Preglednik kartica prekriva Kontrole ploču na vrhu platna. Podijeljen je u tri grupe:

Animacija Kontrole

  • Animacija — odabire koja je Spine animacija igranje.
  • Skin — odabire koji se skin primjenjuje.
  • Brzina — množitelj brzine reprodukcije (0,1× → 3.0×).

View Kontrole

  • Reset View — vraća zadanu kameru/izgled pozicioniranje.
  • View Options — numerički pomaci koji se koriste za pozicioniranje usporednog prikaza: Razmak X / Razmak Y (udaljenost između originala/optimiziranog) i Pomak X / Pomak Y (globalni pomak).

Debug Kontrole

  • Debug Mode — omogućuje preklapanja za ispravljanje pogrešaka (ovisi o podršci za vrijeme izvođenja).
  • Omogući fiziku — uključuje/isključuje simulaciju fizike (ako kostur koristi fizika).
  • Oznake — uključuje/isključuje preklapanje oznaka.

Preglednik: Ploča izvedbe

performansefpsmemorijaui

Ploča Performanse prikazuje metriku vremena izvođenja u stvarnom vremenu za trenutnu reprodukciju kostura(a).

U stvarnom vremenu

  • FPS — sličica u sekundi mjereno monitor.
  • Frame Time — vrijeme po okviru u milisekundama (manje je bolje).
  • FPS grafikon — zadnji 120 uzoraka prikazanih kao trake.

Skeleton metrics

  • Visible Slots — koliko je utora bilo vidljivo na zadnjem uzorak.
  • Prosj. Vidljivo — tekući prosjek vidljivih utora (stabilniji od jednog okvira).
  • Vertices — trenutni broj vrhova koji se koristi za iscrtavanje.
  • Granice (px) — trenutne granice kostura širina×visina u pikselima.
  • Prosj. Granice — granice tekućeg prosjeka.
  • Najveća tekstura — najveća atlas stranica (po dimenzijama) otkrivena za kostur.
  • Memorija teksture — procijenjena ukupna memorija teksture za učitane atlas stranice. Kad je dostupno, ploča također prikazuje raščlambu po stranicama (naziv datoteke, dimenzije i procijenjenu veličinu).

Poboljšanja (kada je Optimizirano dostupno)

  • Utor Poboljšanje — uspoređuje Avg. Vidljivo između izvornog i optimiziranog.
  • Promjena memorije — uspoređuje Texture Memory između izvornog i originalnog Optimizirano.

Gledatelj: Vremenska traka

gledateljvremenska linijaanimacijareprodukcijavodič

Vremenska crta ploča je sekvencer animacije koji se može pričvrstiti na dnu Preglednika. Omogućuje vam raspoređivanje isječaka animacije na više staza, upravljanje reprodukcijom i pregled prijelaza.

Pjesme i isječci

  • Do 4 staze animacije — svaka se staza preslikava na Spine trackIndex sloj. Viši zapisi stapaju se na niže.
  • Dodaj animaciju — kliknite gumb + na bilo kojem zapisu da biste otvorili birač animacija (s pretraživanjem filtar).
  • Povucite i promijenite veličinu isječaka — povucite tijelo isječka da biste ga pomicali po stazi; povucite lijevo/desno rubove za promjenu vremena početka ili trajanja.
  • Brisanje isječaka — odaberite isječak i pritisnite Izbriši ili Backspace.
  • Otkrivanje preklapanja — isječci koji se preklapaju na istom zapisu istaknuti su u crvena.

Transport Kontrole

  • Play / Pause / Stop — standardna reprodukcija kontrole.
  • Prethodno / Sljedeće — skoči na početak prethodnog ili sljedećeg isječka.
  • Brzina animacije — klizač od 0,1× do 3.0×.
  • Auto-stop — reprodukcija se automatski zaustavlja na kraju vremenske trake.

Prijelaz Mixing

  • Global mix duration — postavlja zadano vrijeme prijelaza između uzastopnih isječaka.
  • Per-transition overrides — kliknite na prijelazni oblačić između dva isječka da postavite prilagođeno trajanje miksa.Pojedinačna nadjačavanja možete vratiti na globalnu vrijednost.

Seeking & Scrubbing

  • Playhead — povucite ručicu na vremenskom ravnalu ili kliknite ravnalo za traženje.
  • Pregled vremena kursora — lebdeći iznad područja staze prikazuje vrijeme ispod kursora.
  • Web Worker — traženje i događaj računanje se prebacuje na pozadinskog radnika radi glatke izvedbe.

Physics-Aware Playback

  • Prebacivanje fizike između Ažuriraj (aktivna ograničenja) i Nijedan (onemogućeno).
  • Tijekom traženja, vrijeme kostura je unaprijedeno kako bi se ispravno riješila fizika ograničenja.

Multi-Skeleton Support

  • Selektor ciljanih parova — svaka pjesma može ciljati sve parove (🌐 Sve parovi) ili određeni kostur.
  • Položaj i mjerilo po kosturu — X/Y pomak i unosi mjerila za pojedinačne kosturi.
  • Redoslijed izvlačenja — numerički unos za kontrolu prioriteta sloja renderiranja.

Debug Crtanje

Prebacivanje vidljivosti za: kosti, nazive kostiju, regije, mreže, trupove, granice, staze, isječke, točke.

Odabir kože

Multi-select potvrdne okvire za sve skinove definirane u učitanom kosturu.

View Settings

  • Razmak X / Y — razmak između kostura parovi.
  • Offset X / Y — globalni pomak prikaza.
  • PMA preklopnik — unaprijed umnoženi alfa način (Spine 3.x) ili atlas alpha mod (Spine 4.x: auto / pma / bleed / none).
  • Skeleton labels — prebacivanje oznake sloj.

Gledatelj: Snimač

gledateljrekordersnimanjeizvozvideovodič

Snimač snima Spine animacije od gledatelja kao video, animirane slike ili nizove slika.

Snimanje Načini rada

  • ⚡ Brzo snimanje — snimanje u stvarnom vremenu pomoću MediaRecorder + captureStream(). Stvara samo WebM izlaz. Brz, ali ograničen na broj sličica u sekundi u stvarnom vremenu.
  • 🎬 HQ izvoz — izvanmrežno prikazivanje okvir po okvir pomoću WebCodecs VideoEncoder + readPixels().Podržava sve formate i stvara ispis savršen za piksel.

Izlazni formati

  • Video: WebM, MP4, AVI, MOV
  • Animirana slika: GIF, animirani PNG (APNG)
  • Sekvenca slika: PNG Sekvenca, WebP sekvenca

Kodeci (HQ izvoz)

VP8, VP9, H.264 (AVC), AV1, ProRes — dostupni kodeci se automatski otkrivaju na temelju preglednika podrška.

Kvaliteta

  • Presets: niska (~1 Mbps), srednja (~3 Mbps), visoka (~5 Mbps), bez gubitaka (~20 Mbps).
  • Prilagođena brzina prijenosa — navedite u kbps za fino kontrola.

Timing

  • FPS: 24, 30, 60 ili prilagođeno (1–120 fps).
  • Warm-up — sekunde za rješavanje fizike/ograničenja prije početka snimanja.
  • Pauza-poslije — držite zadnji okvir za određeno trajanje.
  • Uključi zadnji okvir — prebacivanje.

Viewport & Obrezivanje

  • Omogući/onemogući izrezivanje — prebacivanje regije izrezivanja.
  • Obreži pravokutnik — X, Y, Širina, visina u Spine svjetskim koordinatama.
  • Snap to pair — automatsko prilagodba izrezivanja na par kostura s mogućnošću konfiguracije padding.
  • Interaktivni prekrivač obrezivanja — povucite kutove/rubove izravno u polje za prikaz.

Rezolucija

  • Način skaliranja — postotni klizač (10%–400%).
  • Fiksni način rada — eksplicitne dimenzije piksela (do 4096px).
  • Prikazana računska izlazna razlučivost uživo.

Opcije generiranja

  • Render bones — uključite kost za otklanjanje pogrešaka preklapanje.
  • Render slike — uključi slike privitaka.
  • Renderiraj druge — granični okviri, staze.
  • MSAA — Nema / 2× / 4× anti-aliasing.
  • Smoothing — razine 0–8 s izborom algoritma (Bicubic / Bilinear).

Pozadina

  • Transparent — automatski onemogućeno za formate koji nemaju alfa (npr. GIF, JPEG).
  • Puna boja — prilagođena boja birač.
  • Checkerboard — vizualni indikator transparentnosti.
  • Podrška za alfa kanal: VP9+WebM, AV1+MP4, PNG Sekvenca, APNG, WebP sekvenca.

HUD Overlay

  • Toggle: informacije o stazi, vrijeme, broj okvira, FPS, kosturne oznake.
  • Prilagođeni tekst — vodeni žig niz.
  • Pozicija — 4 kuta (gornji lijevi, gornji desni, donji lijevi, donji desni).
  • Font veličina — 8–64 px, plus alat za odabir boje teksta.

Ponovi & Multi-Skeleton

  • Ponovi count — 1–100 ponavljanja petlje.
  • Ciljni par — snimite određeni kostur ili sve.
  • Skeletons mode — Kombinirano (jedna datoteka) / Odvojene datoteke (jedna datoteka po kosturu).

Naziv datoteke Predložak

Niz predloška s varijablama: {projekt}, {animacija}, {W}, {H}, {fps}. Prikazuje se pregled razriješenog naziva datoteke uživo.

Vremenska crta Integration

Snimka raspon se pojavljuje kao crveno/narančasto isprekidani isječak na vremenskoj traci. Povucite rubove da promijenite veličinu raspona, povucite tijelo da promijenite položaj ili upotrijebite gumb za postavke (⚙️) da otvorite pune postavke snimanja.

Kartica Rezultati

rezultatestoloptimizacija

Rezultati kartica prikazuje detaljne rezultate optimizacije.

  • Tablica rezultata — prikaz retka po promjeni rezultata optimizacije JSON (npr. koja je animacija/kost/svojstvo/ključni okvir izmijenjen ili uklonjen).
  • Sprite/Atlas usporedba — kada se koristi optimizacija teksture, ovaj odjeljak uspoređuje veličine i pakiranje spritea ishodi.

Savjet: koristite prikaz rezultata da odgovorite: što se točno promijenilo?

Tab. Statistika

statistikakartemetrika

Kartica Statistika sažima rezultate optimizacije kao grafikone i agregirane metrike.

  • Grafikon optimizacije — vizualizira učinak optimizacije na skup podataka (kada JSON optimizacije su dovele do promjena).
  • Tablica mjernih podataka — ključni brojevi kao što su originalne/nove veličine i postotak smanjenja.
  • Pakiranje teksture Statistika — ako je korišteno atlas ponovno pakiranje, prikazuje stranice, ukupnu/iskorištenu površinu, učinkovitost i raščlambu po stranicama.

Koristite ovu karticu da odgovorite: koliko smo poboljšali ukupno?

Primjeri cjevovoda (video)

videoprimjericjevovodiyoutube

Ispod su potpuni cjevovodi iz stvarnog svijeta sa službene YouTube liste za reprodukciju.

Otvorite cijeli popis za reprodukciju

Primjeri

Spine2D Eksperimenti 1: Optimizacija krivulje s RDP algoritmom — osnovna Spine demonstracija 2D optimizacije: algoritam Ramer–Douglas–Peucker (RDP) uklanja suvišne krivulje/ključne podatke kako bi se smanjio JSON. RDP može ukloniti važne ključeve, stoga uvijek pregledajte animacije i isključite osjetljive kosti/utore s čvorovima filtera prije čvora RDP. Gledaj YouTube

Spine2D Eksperimenti 2: Optimizacija krivulje s kvantizacijskim algoritmom — kvantizacija je najsigurniji Spine 2D optimizator krivulje: zaokruživanje vrijednosti (često na 1 decimalu) daje trenutačne dobitke u veličini. Primjer: [0.115,14.5,0.222,-27.78] → [0.1,14.5,0.2,-27.8]. Koristite kvantizacijski čvor kao posljednji korak prije izlaznog čvora za zaključavanje optimizacije; video prikazuje prije/poslije s gotovo neprimjetnom vizualnom promjenom. Gledaj YouTube

Spine2D Eksperimenti 3: Ponovna izgradnja krivulja s Spline & Refit Algorithms — Spline je bez gubitaka za ravne segmente (uklanja suvišne srednje ključeve), dok je Refit s gubicima, ali moćan: ponovno gradi složene dijelove kao jednu Bézierovu krivulju. Ovi su algoritmi idealni nakon fizičkog pečenja i čišćenja putem Schneider čvora. Napomena: ponavljanja ponovnog postavljanja iznad 100 mogu potrajati nekoliko minuta da se pronađe najbolja krivulja. Video prikazuje kako obje metode funkcioniraju i postotak dobivene optimizacije. Gledaj YouTube

Spine2D Eksperimenti 4: Uklanjanje suvišnih podataka s čvorovima vidljivosti privitka i čišćenja — strukturna Spine 2D optimizacija pomoću čvorova vidljivosti privitka i čišćenja. Vidljivost privitaka onemogućuje privitke kada alfa prijeđe na 0 i vraća ih nakon pojavljivanja, smanjujući pozive za izvlačenje i uklanjajući suvišne ključeve. Čišćenje uklanja logičke redundancije: neiskorištene kolor/alfa staze, IK ključeve rotacije potpuno kontrolirane ograničenjima i ključeve ograničenja putanje. Videozapis pokazuje kako se ove optimizacije temeljene na logici razlikuju od pojednostavljenja krivulje. Gledaj YouTube

Spine2D Eksperimenti 5: Izgradnja nelinearnih cjevovoda (filtri i spajanje Node) — nelinearna Spine 2D optimizacija: podijelite tok podataka s filtrima (animacija, kost, utor, parametar ili koža), pokrenite različite algoritme na paralelnim granama (na primjer, agresivna kompresija za tijelo kosti uz zadržavanje animacije lica bez gubitaka), zatim kombinirajte grane s čvorom Spajanje u jedan kostur.Ovaj tijek rada nadilazi jednostavan ulaz → Optimiziraj → Izlazni cjevovod i omogućuje vam da ciljate samo ono što treba optimizirati. Gledaj YouTube

Spine2D Eksperimenti 6: Ponovno pakiranje teksture i selektivno skaliranje s prilagođenim čvorovima — napredni cjevovodi za optimizaciju teksture: čvorovi Atlas Unpacker/Repacker omogućuju vam raspakiranje, promjenu veličine/sažimanja i ponovno pakiranje atlasa unutar jednog grafikona, brže od standardnih Spine radnih procesa. Korištenjem nelinearnog cjevovoda možete podijeliti sredstva, zadržati teksture znakova na 100%, dok druge smanjite na 25%, a zatim sve spojiti natrag u jedan dijeljeni atlas. Atlas/Čvorovi Asset Preglednik omogućuju vizualni pregled i filtriranje imovine i atlasa u svakoj fazi. To olakšava definiranje ciljeva za promjenu veličine, selektivnu obradu i ponovno kombiniranje rezultata kao predloška koji se može ponovno koristiti. Gledaj YouTube

Spine2D Eksperimenti 7: Trenutačna promjena veličine kostura s skalom Node — od kraja do kraja Spine 2D optimizacijski cjevovod plus skaliranje kostura. Čvor Scale zamjenjuje zamoran Spine tijek rada (izvoz/uvoz, ponovno pakiranje/otpakiranje, popravak staza) s jednim korakom grafikona: postavite ciljnu veličinu, trenutno pregledajte u okviru za prikaz i ponavljajte u stvarnom vremenu. Videozapis povezuje optimizaciju krivulje/ključa, obradu sredstava i promjenu veličine kostura u jedan pojednostavljeni cjevovod. Gledaj YouTube

Spine2D Eksperimenti 8: Javna beta verzija Node Pregled — pregled svakog čvora dostupnog u javnoj beta verziji i kako ponovno dotjerati potrebe animatora i programera mostova. Pokriva redundantno čišćenje ključa, Bézier-ovo-linearno pojednostavljenje, zaokruživanje veličine, nevidljivo uklanjanje privitaka, neiskorišteno čišćenje svojstava, otkrivanje neengleskih znakova i atlas raspakiranje/filter/razmjer/ponovno pakiranje. Dvostruki preglednik potvrđuje rezultate usporednom vizualnom i FPS usporedbom. Javna beta dostupna je uživo na re-polish.com. Gledaj YouTube

Spine2D Eksperimenti 9: Ograničenja fizike pečenja za ključne okvire — U ovom videu demonstriram svoje najnovije eksperimente s ograničenjima fizike pečenja u standardnim ključnim okvirima. Novi algoritam pečenja osigurava: savršene petlje (bez podrhtavanja ili skokova između početnih i krajnjih okvira), optimiziranu veličinu datoteke (automatsko čišćenje krivulje održava JSON veličinu blizu izvorne) i povratnu kompatibilnost (zapečeni ključevi vam omogućuju upotrebu Spine 4.2 fizičke animacije u Spine 4.1 ili čak 4.0). Gledaj na YouTubeu

Nodes

Input

Uvozi datoteke Spine projekta, ulaze samo s JSON-om, demo resurse i ZIP pakete u graf.

Svrha: Ovo je glavna ulazna tocka za vecinu radnih tijekova. Cita JSON, atlas i teksture te ih normalizira u interne podatke koje nizvodni cvorovi mogu obraditi.

Podrzani nacini rada:
1. Cijeli projekt: JSON + atlas + teksture
2. Samo JSON: obrada podataka skeleton/animation bez atlasa
3. ZIP paket: zapakirani zip koji sadrzi cijeli projekt
4. Demo resursi: ugradeni primjerni podaci za brzo testiranje

Glavni izlazi:
- **payload_out**: normalizirani podaci za cvorove optimizacije
- **original_json_out**: izvorni JSON za usporedbu ili rekonstrukciju
- **atlas_project_out**: parsirani atlas projekt kada su teksture dostupne

Picture Input

Dodaje samostalne PNG/JPEG slike u prikaz kako biste mogli izraditi cisce preglede i prezentacijske kadrove.

Svrha: Ovaj cvor koristite za postavljanje slika izravno u prikaz kao prezentacijske slojeve ili vizualne pomocnike. Koristan je kada zelite ukrasiti scenu, dodati pomocnu grafiku i uciniti preglede projekta dotjeranijima prije snimanja videa ili demonstracija.

Tijek rada: Ucitajte jednu sliku, zatim upotrijebite alate prikaza za skaliranje, pomicanje i prilagodbu njezina z-indeksa kako bi pravilno sjela u kompoziciju. To je prakticno za izradu privlacnih promotivnih kadrova bez diranja glavnih podataka Spine projekta.

Ovaj cvor je samostalan i ne izlaže uticnice grafa.

Output

Prikuplja zavrsne rezultate i omogucuje preuzimanje optimiziranih podataka kao zasebnih datoteka, grupiranih skupova datoteka ili arhiva.

Svrha: Djeluje kao izvozno sredisce za optimizirani JSON, atlas podatke, teksture i spriteove. Moze sastaviti rezultate iz jednog skupa JSON/atlas/teksture, iz vise skupova datoteka ili samo iz spriteova kada zelite izlaz slika bez ponovne izgradnje cijelog Spine projekta.

Mogucnosti izvoza:
- Preuzimanje datoteka pojedinacno ili kao jedne arhive
- Preuzimanje zapakiranih rezultata ili arhive s raspakiranim datotekama
- Izvoz JSON-a u kompaktnom obliku ili u citljivom pretty-print obliku
- Izvoz potpunih podataka Spine projekta ili samo rezultata spriteova/slika

Lancani tijek rada: OutputNode ne mora biti apsolutni kraj grafa. Njegove izlaze mozete proslijediti u drugu fazu cjevovoda i iste datoteke provuci kroz dodatne prolaze optimizacije. U praksi je optimizacija key i curve testirana do 3 uzastopne iteracije.

Glavni izlazi:
- **reconstructed_json_out**: ponovno izgradeni Spine JSON
- **original_json_passthrough_out**: prosljedivanje izvornog JSON-a
- **payload_out**: payload za daljnje ulancavanje
- **changes**: prikupljene promjene optimizacije
- **atlas_assets**: atlas resursi spremni za izvoz

RDP

Pojednostavljuje krivulje animacije pomoću algoritma Ramer-Douglas-Peucker (RDP).

Svrha: Smanjuje broj ključnih kadrova u linearnim ili gotovo linearnim segmentima animacije uklanjanjem točaka koje leže na ravnoj liniji između dvije druge.

Zlatno pravilo: Onemogućeno prema zadanim postavkama. Štiti krivulje značajnog oblika (površina/zakrivljenost) od spljoštenosti u linearnost. Onemogućite ga samo za agresivniju kompresiju nakon vizualnog pregleda.

Ključevi utičnica: payload_in, payload_out, promjene

Spline

Uklapa glatke spline krivulje na ključne kadrove animacije, smanjujući nepotrebne međutočke.

Namjena: glatko uklapanje krivulje uz zadržavanje vizualne kvalitete.

Ključevi utičnica: payload_in, payload_out, promjene

Refit

Približava guste nizove ključnih kadrova s ​​manje Bezierovih krivulja radi smanjenja veličine.

Namjena: odgovara manjem broju krivulja unutar tolerancije.

Ključevi utičnica: payload_in, payload_out, promjene

Quantizer

Smanjuje preciznost numeričkih vrijednosti u ključnim okvirima i krivuljama.

Svrha: Jednostavan, ali učinkovit način smanjenja veličine datoteke zaokruživanjem brojeva na određeni broj decimalnih mjesta.

Upotreba: Može se primijeniti na gotovo sve animacijske podatke. Postaje učinkovitiji s većim brojem ključnih sličica.

Oprez: Preagresivna kvantizacija (niska preciznost) može uzrokovati podrhtavanje ili vizualne artefakte u animacijama.

Ključevi utičnica: payload_in, payload_out, promjene

Cleanup

Izvodi različite zadatke čišćenja kako bi uklonio suvišne ili nepotrebne podatke o animaciji.

Svrha: Specijalizirani alat za uklanjanje određenih vrsta suvišnih podataka koje bi drugi optimizatori mogli propustiti.

Upotreba: Povežite svoj korisni teret s 'payload_in' i uzmite rezultat iz 'payload_out'. Ako želite izvješće po promjenama, također koristite 'promjene'.

Ključevi utičnica:
- Ulazi: payload_in
- Izlazi: payload_out, promjene

Trenutačno podržana čišćenja:
1. **Ukloni neiskorištene trake u boji/alfa**: Uklanja vremenske trake u boji/alfa za utore koji nikada nisu vidljivi tijekom animacije.
2. **Ukloni suvišne IK rotacije**: Uklanja rotacijske ključne kadrove s kostiju koje su u potpunosti kontrolirane IK ograničenjem sa 100% mješavinom.
3. **Ukloni ključeve ograničenja putanje**: Uklanja ključne okvire za rotiranje/prevođenje iz kostiju potpuno kontroliranih ograničenjem putanje (vrijednosti miješanja na 100%).
4. **Sanitize Non-English Characters**: Zamjenjuje ne-engleske znakove u imenima/identifikatorima kako bi se izbjegli problemi u alatima nizvodno.

Scale

Skalira sve numeričke vrijednosti u ključnim okvirima animacije prema određenom faktoru.

Svrha: Jednoliko skalira podatke o animaciji, korisno za proporcionalnu promjenu veličine kostura ili podešavanje intenziteta animacije.

Upotreba: Povežite **payload_in** i preuzmite rezultat iz **payload_out**.

Ključevi utičnica: payload_in, payload_out

Schneider

Uklapa glatke Bezierove krivulje u ključne kadrove animacije pomoću algoritma za prilagođavanje Schneiderove krivulje.

Svrha: napredno prilagođavanje krivulje koje proizvodi Bezierove krivulje prirodnog izgleda iz gustih nizova ključnih kadrova.

Dostupnost: **Plus-only čvor**.

Kako radi: Schneiderov algoritam analizira položaje ključnih kadrova i tangente kako bi generirao optimalne Bezierove kontrolne točke koje se blisko podudaraju s izvornim kretanjem.

Parametri:
- **Tolerancija pogreške**: Maksimalno dopušteno odstupanje od izvornih ključnih sličica. Niže = točnije, više = glađe krivulje.
- **Kutni kut**: Kut praga (stupnjevi) pri kojem se krivulja dijeli na segmente.

Najbolje za:
- Ručno crtane ili uvezene animacije s mnogo ključnih kadrova
- Pretvaranje linearne interpolacije u glatke Bezierove krivulje
- Smanjenje broja ključnih sličica uz zadržavanje kvalitete krivulje

Napomena: računalno intenzivniji od jednostavnijih algoritama kao što je RDP, ali daje vrhunsku kvalitetu krivulje.

Ključevi utičnica: payload_in, payload_out, promjene

Physics Constraint Bake

Ugrađuje pokret Spine PhysicsConstraint u ključne kadrove rotacije/prevođenja kosti i uklanja vremenske trake fizike.

Svrha: Pretvara fizičku simulaciju tijekom izvođenja u eksplicitne ključne kadrove tako da su animacije determinističke i uređivačke bez fizičkih ograničenja. Nakon pečenja, fizička ograničenja i vremenske trake fizike uklanjaju se iz korisnog opterećenja.

Dostupnost: **Plus-only čvor**.

Ulazi/Izlazi:
- **payload_in** → **payload_out** (pečeno)
- **promjene** (neobavezna lista izmjena)

Kontrole:
- **Uzorak FPS**: Simulacija brzine uzorkovanja za pečenje.
- **Bake Rotation**: Napišite pečene ključeve rotacije.
- **Bake Translation**: Napišite pečene prijevodne ključeve.
- **Bake Translation (Children)**: Primijenite translate bake na dječje kosti koje se oslanjaju na fizičko kretanje.

Bilješke:
- Zahtijeva izvorni Spine JSON za rekonstrukciju podataka simulacije.
- Koristite kada želite ukloniti fizička ograničenja, ali zadržati kretanje.

Attachment Visibility

Optimizira prikazivanje postavljanjem privitka utora na nulu kada je alfa nula.

Svrha: Sprječava da motor igre obrađuje ili prikazuje nevidljive privitke.

Upotreba: Obrađuje **payload_in**, daje optimizirane **payload_out** i po izboru izvješćuje o **promjenama**.

Ključevi utičnica: payload_in, payload_out, promjene

Payload Merger

Spaja više obrađenih korisnih opterećenja animacije natrag u jedinstveni korisni teret.

Svrha: Neophodan za paralelne cjevovode obrade gdje se različite animacije ili grupe kostiju zasebno optimiziraju i trebaju se ponovno kombinirati.

Unosi:
- **baza**: Glavni korisni teret (kosturna struktura)
- **nadjačava**: jedan ili više tereta čije staze zamjenjuju osnovne staze

Izlaz:
- **merged_out**: Spojeni korisni teret

Ključevi utičnica: baza, nadjačava, merged_out

Animation Viewer

Vizualni alat za pregled i usporedbu krivulja animacije prije i poslije optimizacije.

Svrha: pruža grafički prikaz ključnih okvira i krivulja za odabranu stazu.

Upotreba: Povežite **before_in** i **after_in** za preklapanje originala u odnosu na optimizirano. Opcionalno povežite **promjene** da biste istaknuli zahvaćene pjesme.

Ključevi utičnica: before_in, after_in, promjene

Animation Filter

Filtrira zapise animacije na temelju naziva animacije (npr. 'trčanje', 'mirovanje').

Svrha: Korisno za primjenu različitih optimizacijskih strategija na različite animacije.

Upotreba: Filtrira **payload_in** u **payload_out** i izlaže **animation_list** za odabir korisničkog sučelja.

Ključevi utičnica: payload_in, payload_out, animation_list

Asset Filter

Filtrira sredstva atlas po nazivu, radi u dva načina: prije raspakira (filtrira atlas tekst) ili nakon raspakira (filtrira spriteove).

Svrha: Kontrolira koja su sredstva uključena u tijek rada - bilo koja sredstva raspakirati iz atlas ili koje otpakirane spriteove uključiti u ponovno pakiranje.

Ulazi/Izlazi:
- Atlas način: **atlas_in** → **atlas_out**
- Način rada sprites: **sprites_in** → **sprites_out**

Ključevi utičnica: atlas_in, atlas_out, sprites_in, sprites_out

Bone Filter

Filtrira tragove animacije kosti na temelju naziva kosti.

Svrha: Omogućuje ciljanje ili isključivanje određenih kostiju iz procesa optimizacije.

Upotreba: Filtrira **payload_in** u **payload_out**.

Ključevi utičnica: payload_in, payload_out

Skin Filter

Filtrira animacije i podatke o imovini na temelju naziva skinova.

Svrha: obraditi samo određene skinove iz Spine projekta s više skinova.

Upotreba: Filtrira **payload_in** u **payload_out**.

Ključevi utičnica: payload_in, payload_out

Slot Filter

Filtrira zapise animacije utora na temelju naziva utora.

Svrha: Korisno za ciljanje ili izuzimanje određenih termina koji mogu imati posebne zahtjeve za vrijeme ili vidljivost.

Upotreba: Filtrira **payload_in** u **payload_out**.

Ključevi utičnica: payload_in, payload_out

Parameter Filter

Filtrira tragove animacije na temelju njihove vrste svojstva (npr. rotacija, skala, boja).

Svrha: Omogućuje primjenu naknadnih optimizacija samo na određene vrste animacijskih podataka.

Upotreba: Filtrira **payload_in** u **payload_out**.

Ključevi utičnica: payload_in, payload_out

Atlas Unpacker

Izdvaja pojedinačne spriteove iz Spine teksture atlas.

Svrha: rastavlja atlas datoteku na njezine sastavne spriteove, dopuštajući pojedinačnu analizu ili ponovno pakiranje.

Upotreba: Povežite **atlas_project** iz InputNode na **atlas_project** (ili naslijeđeni **atlas_project_in**) na ovom čvoru. Opcionalno povežite **skeleton_json_in** (iz InputNode **original_json**) da biste omogućili obrezivanje s obzirom na mrežu (podrezuje spriteove na granice trupa mreže umjesto na pravokutne granice, što može značajno smanjiti memoriju teksture za privitke mreže).

Izlazi:
- **sprites_out**: Standardizirani niz sprites (za preglednik/prepakir)
- **sprites_data_out**: Izdvojene slike/metapodaci spritea (strukturirani skup)
- **atlas_out**: Atlas prolaz projekta

Ključevi utičnice: atlas_project, atlas_project_in, skeleton_json_in, sprites_out, sprites_data_out, atlas_out

Atlas Repacker

Prepakira pojedinačne spriteove u jedan ili više novih, optimiziranih atlasa tekstura.

Svrha: Optimizira memoriju teksture i potencijalno smanjuje pozive crtanja stvaranjem učinkovitih listova spriteova.

Upotreba: prihvaća spriteove bilo putem **sprites_data_in** (strukturirani skup spritesova) ili putem **sprites_out** (standardizirani niz spritesova). Ako je potrebno za alfa rukovanje/pakiranje poligona, navedite izvorni kostur putem **original_json**. Ispisuje upakirani atlas kao **atlas_out**.

Ključevi utičnice: sprites_data_in, sprites_out, original_json, atlas_out

Atlas Viewer

Lagani atlas alat za vizualizaciju i analizu za pregled strukture atlas prije raspakiranja.

Svrha: Omogućuje brzi način pregleda atlas stranica i regija bez izvođenja teške operacije raspakiranja. Pomaže u provjeri valjanosti strukture atlas i identificiranju neiskorištenih regija.

Upotreba: povežite jedan projekt atlas s **atlas_project** (ili naslijeđenim **atlas_in** / **atlas**) ili pregledajte skupinu atlas projekata putem **atlas_projects**. Opcionalno povežite kostur JSON na **json** za analizu korištenja.

Ključevi utičnica: atlas_project, atlas_projects, atlas_in, atlas, json

Atlas Merger

Kombinira više atlas izvora u jedan jedinstveni atlas.

Svrha: Spajanje više atlas projekata u jedan.

unos:
- **atlas_inputs**: višeulazni niz atlas projekata

Izlazi:
- **atlas_out**: Spojeni projekt atlas
- **merged_out**: naslijeđeni spojeni izlaz
- **merged_atlas_out**: naslijeđeni spojeni izlaz

Ključevi utičnica: atlas_inputs, atlas_out, merged_out, merged_atlas_out

Tipični cjevovod:
```
InputA → Unpacker → Repacker ─┐
                               ├→ Atlas Merger → Unpacker → Repacker → Output
InputB → Unpacker → Repacker ─┘
```
Prije Repackera podaci su pojedinačni spriteovi; nakon Repackera postaje atlas projekt. Atlas Spajanje kombinira atlas projekte, a zatim završna propusnica za Unpacker → Repacker ponovno pakira sve čvrsto u jedan jedinstveni atlas.

Asset Viewer

Prikazuje pojedinačne spriteove iz otpakiranog atlas.

Svrha: Vizualni alat za otklanjanje pogrešaka za atlas manipulaciju.

Upotreba: prihvaća spriteove putem **sprites_out** (standardno) ili naslijeđenih **sprites_in** / **sprites_data**.

Ključevi utičnica: sprites_out, sprites_in, sprites_data