[Pamoka] Sprite kūrimas

HL1 Modeliai, Skinai, Sprites, Gxf ir kita.
Post Reply
User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

[Pamoka] Sprite kūrimas

Post 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.
Palikau CS pasaulį ;/ . Nebepasiekiamas.

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: [Pamoka] Sprite kūrimas

Post 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?

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: [Pamoka] Sprite kūrimas

Post 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.
Palikau CS pasaulį ;/ . Nebepasiekiamas.

addinol
Jau po truputį tampa savu
Posts: 144
Joined: 2010 Sep 05 15:20
Skype: kasparas94

Re: [Pamoka] Sprite kūrimas

Post 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.

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: [Pamoka] Sprite kūrimas

Post by aaarnas »

Naudok Additive tipą. Be to pirmas pikselis ne viršutinis kairėje ?
Palikau CS pasaulį ;/ . Nebepasiekiamas.

Fly3r
Jau po truputį tampa savu
Posts: 138
Joined: 2011 Nov 06 11:35

Re: [Pamoka] Sprite kūrimas

Post by Fly3r »

Dar yra tokios programos kaip "Wavelenght's Sprite Wizard" ir "SPR viewer".

User avatar
rotosas
Gana aktyvus vartotojas
Posts: 225
Joined: 2011 Mar 19 18:56
Skype: rotosas
Location: Vilnius

Re: [Pamoka] Sprite kūrimas

Post 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?
Image
Image
Jei padėjau, nepagailėk ir nepatingėk paspaust +KARMA. :)

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: [Pamoka] Sprite kūrimas

Post by aaarnas »

Sprite yra 2D paveiksliukas. Jis visada atsisukęs į tave kaip į jį bežiūrėtum, nebent sukurtas su ORIENTED.
Palikau CS pasaulį ;/ . Nebepasiekiamas.

Post Reply

Who is online

Users browsing this forum: No registered users and 10 guests