Going Stellar

Acasă/Metode

Jocuri · Asseturi

Asseturi de joc cu buget mic: personaje CC0, retargetarea animațiilor și voci românești locale

Pentru SOLOMONAR luăm oameni, animații, voci și muzică din surse gratuite, iar vocile le generăm pe mașinile noastre. Metoda: citim fiecare licență în fișier, sub titlul sub care stă, și verificăm tot lanțul din care vine un asset. Citirea asta ne-a întors o decizie: vocea românească pe care o declaraserăm curată nu era.

Actualizat

La ce folosește

SOLOMONAR e un joc folk-horror la persoana întâi, într-un sat din Maramureș, făcut în Godot fără niciun buget pentru asseturi. Asta face din licența fiecărui fișier o condiție ca jocul să existe, nu un detaliu pentru pagina de credite. Eticheta de pe pagina unui depozit de cod nu e o licență. Citim licența în fișierul descărcat și punem lângă fiecare asset o mică fișă de licență, care îngheață dovada și construiește singură secțiunea de credite.

Articolul acoperă patru lucruri: personajele, animațiile, vocile românești și muzica. Descrie ce spun licențele așa cum le-am citit. Nu e consultanță juridică.

Personaje: oameni CC0 cu același schelet

Sătenii noștri vin din două surse CC0. Personajele de țăran Quaternius sunt exportate cu un schelet de tip Unreal, de 65 de oase, la o înălțime nativă de 1,56 m, ceea ce elimină o întreagă familie de bug-uri de scară. Personajele „Smooth” ale aceluiași autor folosesc alt set, de 42 de oase, iar un alt export al bibliotecii de animații folosește numele Rigify. Între acestea două sunt 0 oase comune, de aceea prima încercare nu avea cum să meargă.

Pentru fețe folosim MPFB2, addon-ul de Blender al MakeHuman. Codul lui e GPL-3.0, dar plasa de bază, țintele, texturile, hainele și scheletele sunt CC0, iar licența spune că ce generezi prin script nu e revendicat. De aceea scriptul de generare stă în folderul de unelte, marcat GPL, nu are cod comun cu jocul și nu se livrează. Folosim doar MPFB2, niciodată exportul aplicației MakeHuman de sine stătătoare, al cărei site publică alt text de licență. Scheletul lui pentru motoare de joc e scheletul Unreal: 51 din 53 de oase au același nume ca în biblioteca Quaternius, deci animațiile ajung pe toate pistele după două redenumiri. MPFB2 vine și cu 25 de unități de expresie facială (clipit, sprânceană, colțul gurii), din care se compun emoțiile în joc.

Ce am exclus: MB-Lab, a cărui licență face personajele generate AGPL-3; Hunyuan3D, a cărui licență exclude UE, inclusiv ce produce; și portul maramureșean, care, din ce am găsit, nu există nicăieri ca haină de joc. Există doar scanări statice de manechine din muzee, bune ca referință și atât.

Animații: de fapt n-a fost retargetare

Bibliotecile de animații pe care le folosim sunt CC0: cele două biblioteci universale Quaternius, cu 43 și 45 de clipuri, și animațiile KayKit, al căror fișier de licență spune CC0 și folosire comercială liberă. Mai folosim date de motion capture ale căror condiții permit orice folosire, atâta timp cât datele în sine nu se revând.

Pentru că personajele și clipurile au același schelet, nu e nevoie de retargetare. Ce pică e legarea: la import, 0 din 53 de piste se mișcau, pentru că fiecare pistă arăta spre nodul de schelet din fișierul ei de origine. Reparația rescrie doar partea de nod din calea pistei și lasă numele osului neatins. O unealtă mică leagă acum 21 de animații, niciuna moartă. O poziție de repaus diferită (T față de A) nu contează în Godot, pentru că animațiile scriu transformări locale absolute. Contează doar ca pistele de poziție să existe numai pe rădăcină și pe bazin.

Golurile pentru care planificăm: setul de motion capture nu are mers de copil, așa că în sat copiii nu traversează niciodată singuri ulița; stau, aleargă pe trasee scurte, scrise de mână, sau se joacă pe loc. Nu are nici cosit, nici tors, nici semnul crucii.

Voci românești, generate local

Sătenii vorbesc românește, cu voci generate pe procesorul unui laptop, fără placă grafică, ca pas de build. Jocul livrează fișiere audio obișnuite și nu vede niciodată modelul de vorbire. Satul are acum 268 de fișiere de voce, cam 900 de secunde de vorbit.

Cele mai atrăgătoare modele românești de text-to-speech sunt necomerciale: XTTS, modelul românesc MMS de la Meta, F5-TTS, vocile SWARA și altele. Prima noastră alegere a fost singura voce românească din Piper, din 176 de voci Piper. Pe fișa modelului scrie License: CC0, iar noi am luat asta drept permisiune.

Nu era. Rândul acela stă sub titlul Dataset: e licența înregistrărilor în limba română. Fișa nu declară nicio licență pentru model, iar secțiunea următoare spune că modelul a fost antrenat mai departe dintr-o voce engleză ale cărei date sunt licențiate doar pentru cercetare, cu sinteza vocală comercială exclusă explicit. Întrebat exact despre asta, cel care întreține proiectul a răspuns că nu poate oferi consultanță juridică. Nici noi nu dăm un verdict juridic, dar nimeni din acel lanț nu a acordat vreun drept comercial, iar un produs vândut pe baza asta ar fi un pariu. Am renunțat la pariu, pentru că înlocuirea costă o rulare.

Înlocuitorul e un model VITS românesc din registrul Coqui, cu licența BSD-3-Clause scrisă în două fișiere separate, antrenat de la zero pe Mozilla Common Voice, care e CC0. Nu are model-părinte. E o singură voce de femeie, măsurată la o mediană de 205 Hz, față de circa 108 Hz la vechea voce de bărbat, așa că toate țintele vocilor au trebuit rescrise în herți. Din vocea asta facem celelalte voci cu vocoderul WORLD, care schimbă separat înălțimea și învelișul spectral. Doar înălțimea transformă un bărbat într-un bărbat accelerat; o femeie cere ambele numere.

O regulă rămâne valabilă oricare ar fi licența: CC0 cedează drepturile de autor, nu și drepturile de personalitate. Vorbitoarea e o voluntară reală, așa că niciun personaj nu folosește vocea nemodificată și nu convertim niciodată o voce spre o persoană reală fără acord semnat. Un lucru e încă deschis: vocea nouă a fost măsurată, dar nu a fost judecată la ureche, iar verdictul acela e al unui om.

Muzică și obiecte

Pentru muzica populară, planul se sprijină pe culegerea lui Béla Bartók din Maramureș, din 1923: 378 de melodii din chiar regiunea jocului, în domeniul public în toată lumea. Am renunțat la înregistrările vechi pe discuri de 78 de turații: sunt în domeniul public în UE, dar protejate în Statele Unite până în 2060 sau mai târziu.

Avem și o unealtă care generează muzică cu modelul Lyria de la Google. Condițiile permit folosirea comercială, dar nu vin cu nicio despăgubire pentru proprietate intelectuală, rezultatul generat integral nu e protejat de drept de autor nici în România, nici în Statele Unite, deci reîncărcările nu pot fi oprite, iar YouTube cere declararea muzicii generate cu AI. Româna nu e o limbă suportată oficial.

Pentru obiecte, contul de pe Sketchfab al unui institut românesc de patrimoniu cultural publică 731 de modele descărcabile, dintre care 728 CC-BY. Celelalte trei sunt necomerciale, deci licența se citește pe fiecare model, nu pe cont. Ordinea implicită a listei pierdea pe tăcute 107 din cele 731; sortarea după data publicării le-a găsit. Platforma și-a schimbat proprietarul în august 2026, de aceea descărcăm acum și păstrăm fișa de licență lângă fiecare fișier.

Unde am greșit

Vocea Piper e greșeala principală: chiar scriptul nostru de voci a susținut zile întregi că modelul e CC0 și bun de folosit comercial, pentru că am citit un câmp de licență fără titlul de deasupra lui. Am mai descris un cont de pe Sketchfab ca aparținând unui muzeu în aer liber din România; o numărătoare a arătat că doar unul din cele 277 de modele purta acel nume, iar 102 erau grecești. Și verificarea animațiilor a marcat la început două clipuri drept moarte, pentru că urmărea o singură mână în două momente, în clipuri în care mâna chiar stă pe loc. Acum ia opt momente pe șase oase și reține abaterea cea mai mare.

Limite și listă de verificare

Nimic din toate astea nu a trecut prin evaluarea unui magazin sau printr-o lansare; SOLOMONAR nu a fost lansat. Licențele și platformele se schimbă, iar asseturile CC-BY cer credite vizibile din prima zi.

1. Citește licența în fișier, sub titlul ei. 2. Urmărește lanțul: modelul de bază, antrenarea ulterioară, datele. 3. Ține generatoarele cu cod copyleft în afara jocului. 4. Pune o fișă de licență lângă fiecare asset. 5. Leagă pistele de animație de scheletul tău înainte să concluzionezi că ai nevoie de retargetare. 6. Nu livra niciodată o voce reală nemodificată ca personaj. 7. Pune un om să asculte înainte să aprobi o voce.

Întrebări și răspunsuri

Cum verific dacă un asset gratuit pentru jocuri poate fi folosit comercial?

Verificarea unui asset gratuit pentru folosire comercială începe cu licența din fișierul descărcat, nu cu eticheta de pe pagina depozitului de cod. Licența se citește sub titlul sub care stă, se urmărește lanțul din care vine assetul, iar lângă fiecare asset se pune o mică fișă de licență. Fișa îngheață dovada și construiește secțiunea de credite. E o citire a licențelor, nu consultanță juridică.

Pot folosi într-un joc comercial un model text-to-speech marcat CC0?

Un model text-to-speech marcat CC0 nu e automat sigur pentru un joc comercial. Pe fișa unui model de voce românesc, rândul CC0 stătea sub titlul Dataset, deci acoperea înregistrările, nu modelul. Fișa nu declara nicio licență pentru model, iar modelul fusese antrenat dintr-o voce ale cărei date erau licențiate doar pentru cercetare. O alegere mai sigură e un model antrenat de la zero, cu licență proprie permisivă.

De ce nu se mișcă animațiile pe personaj în Godot, deși scheletele sunt la fel?

De cele mai multe ori, animațiile nu se mișcă în Godot pentru că fiecare pistă arată spre nodul de schelet din fișierul ei de origine, nu spre scheletul personajului. Când personajele și clipurile au același schelet, retargetarea nu e necesară. Reparația rescrie doar partea de nod din calea pistei și lasă numele osului neatins. O poziție de repaus diferită, T față de A, nu contează în Godot.

Pot folosi vocea unui voluntar dintr-un set de date CC0 pentru un personaj de joc?

Vocea unui voluntar dintr-un set de date CC0 nu ar trebui folosită nemodificată pentru un personaj de joc. CC0 cedează drepturile de autor, nu și drepturile de personalitate, iar vorbitorul e o persoană reală. O abordare prudentă schimbă înălțimea și învelișul spectral ca să obțină voci noi, nu convertește niciodată o voce spre o persoană reală fără acord semnat și pune un om să asculte înainte de aprobare.

Este sigură muzica generată cu AI într-un joc independent?

Muzica generată cu AI are riscuri într-un joc independent, chiar dacă termenii permit folosirea comercială. Unealta poate să nu ofere nicio despăgubire pentru proprietate intelectuală, rezultatul generat integral nu e protejat de drept de autor nici în România, nici în Statele Unite, deci reîncărcările nu pot fi oprite, iar YouTube cere declararea muzicii generate cu AI. Culegerile populare din domeniul public sunt o sursă mai curată.

Au toate modelele dintr-un cont Sketchfab aceeași licență?

Modelele dintr-un cont Sketchfab nu au neapărat aceeași licență. Contul unui institut de patrimoniu cultural publica mai ales modele CC-BY, dar câteva erau necomerciale, așa că licența se citește pe fiecare model, nu pe cont. Ordinea implicită a listei poate și să piardă modele pe tăcute; sortarea după data publicării le-a găsit. Asseturile CC-BY cer credite vizibile din prima zi.

Cum se citează

Going Stellar (2026). Asseturi de joc cu buget mic: personaje CC0, retargetarea animațiilor și voci românești locale. GOING STELLAR S.R.L..
https://goingstellar.ro/ro/metode/asseturi-de-joc-cu-buget-mic/

Citește ca Markdown

Toate metodele

Contact

Spune-ne ce nu merge

Scrie în română sau în engleză. Citește un om — de obicei chiar cel care ar face treaba — și răspunde într-o zi lucrătoare.