Page 1 of 1

[Pamoka] Sprite kūrimas

Posted: 2011 Apr 26 17:43
by aaarnas
Taigi sprite skirtingai nuo modelio tuo, kad jis yra dvimatis objektas, tad jam sukurti užtenka tik paveikslėlio. Tai atlikti gana nesudėtinga, ir žaidime galėsime turėti savo sprite kur tik norime. Visų pirmiausia mums reikės programos Sprite Explorer

Atsisiunčiame, instaliuojame ir pasileidžiame.
Matome:
Image

Ši programa puikus įrankis atidaryti ir kurti sprites ir kita.

Tad pirmiausia ko mums reikės, tai sukurti savo paveikslėlį, kurį vėliau konvertuosime su Sprite Explorer.
Atsidarome bet kokią grafikos programą ir sukuriame paveikslėlį. Tarkim, noriu kad A raidė ore skraidytų:
Image

Dabar svarbiausia:
1. Paveikslėlio ilgis arba plotis turi dalintis iš 8. (Tai reiškia, kad ilgis arba plotis skaičiuojamas pagal formulę 8*x, t.y. 8, 16, 24, 32, 40...).
2. Paveikslėlio ilgis*plotis negali viršyti skaičiaus 10752.
3. Paveikslėlis turi būti išsaugotas BMP formatų.
4. Jei darote permatomą paveikslėlį, permatoma dalis bus juoda spalva, o balta matoma.

Jei neteisingai atliksite 1 ar 2 punktą, cs client'ui pradėjęs krauti serverį užlūš su klaida Fatal Error GL_Upload16: s&3. Kad to išvengti, atsakingai pasitikrinkite 1 ir 2 punktus.

Toliau, programoje Sprite Explorer spaudžiame File > New Sprite ir atsidaro:
Image
Spaudžiam Next > ir matome:
Image
Žinome, kad sprites gali būti ir judantys, bet šiuo atveju darysime paprasta.
Spaudžiame Add ir pridedame mūsų sukurtą paveikslėlį.
Jei kurtume judantį paveikslėlį, tai į sąrašą reikėtų sukelti visus paveiksliukus pagal eilės tvarką, kaip kadrus. Juos rodys kiekvieną iš eilės ir taip išvystame judančią animaciją.
Kai viską sukeliame spaudžiame Next > ir iššoka lentelė, kurioje nurodome, kur išsaugoti mūsų sukurtą .spr failą, spaudžiame Save ir matome langelį:
Image
Dabar reikia pasirinkti sprite veikseną mums reikės (Additive):
Normal - Tiesiog paprastas paveiksliukas. Žaidime ir matysime keturkampį paveiksliuką su juodu fonu ir balta raide.
Additive - Su šiuo režimu juodą foną konvertuoja į permatomą, o baltą į tai kas matoma. Žaidime spalvą bus galima keisti su funkcijomis.
Indexalpha - Ima pirmo pikselio spalvą ir ją padaro permatomą.
Alphatest - vieno rakto spalva, kur yra nematoma.

Toliau, jei norime, kad mūsų sprite nesusukiotų pasukus ekraną, o stovėtų visada tiesiai, tai VP_PARALLEL pakeičiame į ORIENTED, bet dažniausiai to nereikia.

Spaudžiame Next > ir bus sukurtas mūsų sprite.
Dabar galime jį naudoti pluginuose. Atvaizduoti galime priskiriant kaip modelį entity objektui ar su kokia nors Temp Message.

Re: [Pamoka] Sprite kūrimas

Posted: 2011 Jun 16 11:12
by aurimasko
O sprite žaidime bus pereinama? t.y. ją bus galima pereiti kiaurai ar atsitrenksi į sprite kaip į sieną? Ir gal galėtum plačiau papasakoti apie spalvų keitimą scriptinant?

Re: [Pamoka] Sprite kūrimas

Posted: 2011 Jun 16 23:26
by aaarnas
Čia priklauso kokį solid tipą nustatysi entity'ui. Yra keli:

Code: Select all

#define SOLID_NOT                       0           // No interaction with other objects#define SOLID_TRIGGER                   1           // Touch on edge, but not blocking#define SOLID_BBOX                      2           // Touch on edge, block#define SOLID_SLIDEBOX                  3           // Touch on edge, but not an onground#define SOLID_BSP                       4           // BSP clip, touch on edge, block
Nustatysi SOLID_BBOX, tai eisi ir atsitrenksi, bet ribos nustatomos su size ( irgi atskiri nustatymai, kaip ir solid tipas ). Šiaip pats sprite niekaip negali blokuoti.
Spalvos tai - reikia priskirti šį sprite kaip modelį kažkokiam entity'ui. Galima ir su SVC_TEMPENTITY, kai kuriuos žinutės leidžia spalvas nustatyti, na bet čia pagal poreikius.
Nustatyti spalvą sprite'ui, kai jis yra entity modelis:

Code: Select all

new Float:color[3] = {255.0, 255.0, 255.0} // RGBentity_set_vector(entid, EV_VEC_rendercolor, color)
Čia su engine. fakemeta bus pev_rendercolor.

Re: [Pamoka] Sprite kūrimas

Posted: 2011 Sep 30 22:58
by addinol
O kaip žinoti kokia yra pirmo pikselio spalva ? Pirmas pikselis taip kaip suprantu viršuje dešinėje ? Ten pas mane juoda, bet vistiek fonas permatomas nepasidaro. Ir vapshe atvirkščiai pasidarė, JUODA kuri turėjo būti permatoma išliko, o visa kita permatoma :D naudoju indexalpha.

Re: [Pamoka] Sprite kūrimas

Posted: 2011 Oct 02 14:09
by aaarnas
Naudok Additive tipą. Be to pirmas pikselis ne viršutinis kairėje ?

Re: [Pamoka] Sprite kūrimas

Posted: 2011 Nov 06 13:46
by Fly3r
Dar yra tokios programos kaip "Wavelenght's Sprite Wizard" ir "SPR viewer".

Re: [Pamoka] Sprite kūrimas

Posted: 2011 Nov 06 16:41
by rotosas
O jeigu modelis yra pvz. automobilis, tai iš vienos pusės bus priekis, iš kitos galas, o sprite iš visų pusių bus tas pats?

Re: [Pamoka] Sprite kūrimas

Posted: 2011 Nov 08 21:36
by aaarnas
Sprite yra 2D paveiksliukas. Jis visada atsisukęs į tave kaip į jį bežiūrėtum, nebent sukurtas su ORIENTED.