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:
Š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ų:
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:
Spaudžiam Next > ir matome:
Ž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į:
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.
[Pamoka] Sprite kūrimas
- aaarnas
- Vyr. diskusijų administratorius
- Posts: 3891
- Joined: 2010 Aug 31 13:21
- Skype: fiarno
- Contact:
[Pamoka] Sprite kūrimas
Palikau CS pasaulį ;/ . Nebepasiekiamas.
Re: [Pamoka] Sprite kūrimas
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?
- aaarnas
- Vyr. diskusijų administratorius
- Posts: 3891
- Joined: 2010 Aug 31 13:21
- Skype: fiarno
- Contact:
Re: [Pamoka] Sprite kūrimas
Čia priklauso kokį solid tipą nustatysi entity'ui. Yra keli:
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:
Čia su engine. fakemeta bus pev_rendercolor.
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
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)
Palikau CS pasaulį ;/ . Nebepasiekiamas.
Re: [Pamoka] Sprite kūrimas
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 naudoju indexalpha.
- aaarnas
- Vyr. diskusijų administratorius
- Posts: 3891
- Joined: 2010 Aug 31 13:21
- Skype: fiarno
- Contact:
Re: [Pamoka] Sprite kūrimas
Naudok Additive tipą. Be to pirmas pikselis ne viršutinis kairėje ?
Palikau CS pasaulį ;/ . Nebepasiekiamas.
Re: [Pamoka] Sprite kūrimas
Dar yra tokios programos kaip "Wavelenght's Sprite Wizard" ir "SPR viewer".
- rotosas
- Gana aktyvus vartotojas
- Posts: 225
- Joined: 2011 Mar 19 18:56
- Skype: rotosas
- Location: Vilnius
Re: [Pamoka] Sprite kūrimas
O jeigu modelis yra pvz. automobilis, tai iš vienos pusės bus priekis, iš kitos galas, o sprite iš visų pusių bus tas pats?
Jei padėjau, nepagailėk ir nepatingėk paspaust +KARMA.
- aaarnas
- Vyr. diskusijų administratorius
- Posts: 3891
- Joined: 2010 Aug 31 13:21
- Skype: fiarno
- Contact:
Re: [Pamoka] Sprite kūrimas
Sprite yra 2D paveiksliukas. Jis visada atsisukęs į tave kaip į jį bežiūrėtum, nebent sukurtas su ORIENTED.
Palikau CS pasaulį ;/ . Nebepasiekiamas.
Who is online
Users browsing this forum: Bing [Bot] and 3 guests