Serwis Half-Life | Day Of Defeat | Counter-Strike | Resublimation | Worldcraft Dostosuj wygl▒d :: Cz│onek sieci Halflife.pl 
NARZ╩DZIA
MAPY
MODELOWANIE
BOARD
ZASOBY
   

Modelowanie

Jak zrobiµ w│asne sprajty?


Autor: Ernie (korekta: Valique)
Data publikacji: 23-08-2001

Sprite to nic innego, jak tekstura, kt≤ra istnieje tylko w postaci 2D. W Half-Life (jak i oczywi╢cie w Counter Strike) sprite'ami s▒: tryskaj▒ca krew (heh), dym, wszystko, co iskrzy, wybucha, do tego jeszcze dochodzi ca│y HUD czyli info o health, armor i broni na ekranie. Wszystkie sprajty w Half-Life maj▒ rozszerzenie: "spr" i znajduj▒ siΩ w pliku valve\pak0.pak w katalogu paka \sprites.

W prosty spos≤b mo┐esz znacznie zmieniµ wygl▒d gry. Wystarczy mieµ:
- SprView - http://www.planethalflife.com/mach3
- SprWizard [pobierz plik] - http://www.planethalflife.com/wavelength/2dart - PakExplorer/PakScape (albo inny program kt≤ry rozpakowywuje *.pak). Przydatny mo┐e byµ r≤wnie┐ Wally. Czasami warto przy okazji przegl▒dania paka zmieniµ np. krew pojawiaj▒ c▒ siΩ na ╢cianach, albo dziury po kulach. Wystarczy potraktowaµ wallym plik decals.wad.

OK, co mo┐na z tym zrobiµ...?

Krok 1 - SprView

Prosty ale sprytny programik. Nie bΩdΩ przecie┐ go opisywaµ !! Zwr≤cΩ uwagΩ na dwie rzeczy: "Save sequence" - tak nale┐y zapisaµ sprite'y animowane. Opr≤cz tego program pyta nas, czy tworzyµ skrypt do tego. Je╢li mamy zamiar u┐ywaµ SprWizarda to nie musimy go tworzyµ. I druga bardzo wa┐na rzecz to "Sprite Information" w menu "View". Podaje nam maxymaln▒ wielko╢µ jak▒ mo┐e mieµ sprite, ilo╢µ klatek i rodzaj u┐ytej przezroczysto╢ci - "Transparency mode", informacje te s▒ nam potrzebne do dalszej obr≤bki. Je┐eli mamy ju┐ sprite'y zapisane w bitmapie to mo┐na i╢µ dalej.

Krok 2 - SprWiz.

Jeszcze raz zapraszam do http://www.planethalflife.com/wavelength. ªwietna stronka ze ╢wietnymi programikami dla tych, kt≤rym nie wystarczy samo granie po sieci. Jednym z produkt≤w Wavelenght jest wspomniany Sprite Wizard. To jest wrΩcz co╢ wspania│ego, nie trzeba nawet mΩczyµ siΩ ze skryptami. Ale do rzeczy! Przypuszczam, ┐e u┐yjesz do edycji twojego sprite'u w formacie BMP Photoshopa albo czego╢ podobnego (wiem, ┐e siΩ powtarzam ale: mo┐na u┐yµ Wally'ego!). Zawsze ale to zawsze nale┐y pamiΩtaµ o podstawowych zasadach:
- wielko╢µ sprite'≤w musi byµ wielokrotno╢ci▒ 8 czyli np.8x8, 16x16 , 32x32 itd.
- paleta kolor≤w musi byµ 8 bitowa (256 kolor≤w), wiΩc je┐eli u┐ywasz np. Paint Shop'a to pod koniec nie zapomnij zmniejszyµ palety z 16 mln do 256.
- je┐eli sprite sk│ada siΩ z wielu klatek, to ka┐da musi byµ zrobiona w identycznej palecie kolor≤w.
- s▒ cztery rodzaje tryb≤w wy╢wietlania sprite'a (ang. Transparency Mode) i trzeba wiedzieµ kt≤ry typ reprezentuje dany sprite aby potem dzia│a│ poprawnie.

A wiΩc wyr≤┐niamy: additive, alphatest, indexalpha, i normal. Najlepiej w SprView zobaczyµ jaki rodzaj reprezentuje dany sprite i tak go p≤┐niej zapisaµ.
Pierwszy tryb - additive - jest najczΩsciej wystΩpuj▒cym: u┐ywa palety 256 kolor≤w ale ostatni z nich jest kolorem t│a (przezroczysty):

Ten w niebieskim k≤│ku jest oczywi╢cie t│em i pozostaje niewidoczny w grze.

NastΩpny rodzaj to alphatest. Zasada jest taka sama tylko, ┐e w additive t│o jest zmieszane z kolorem sprite'u (to nie jest precyzyjne okre╢lenie ale sp≤jrz wy┐ej na paletΩ gdzie zielony przechodzi stopniowo w czarny) a w alphatest kolorem t│a jest jakikolwiek inny (ostatni w palecie). Do alphatest nale┐y np. crosshairs.spr - podstawowe celowniki.

Indexalpha - wszystkie te sprite'y s▒ w skali szaro╢ci. Zasady s▒ takie same jak przy teksturach "decals" (np. plama krwi, po otwarciu pliku decals.wad, jest czarno bia│a - im ciemniejszy kolor tym bardziej czerwony). I tu uwaga: ostatni kolor jest kolorem rzeczywistym (tzn. np. dla krwi bΩdzie to czerwony).

Normal - nie posiada t│a. Jedynym sprite'em typu normal jest lgtning.spr. W praktyce normal jest taki sam jak additive, ale przypuszczam, ┐e nie bΩdzie nikt tego u┐ywa│.

Masz ju┐ gotowe pliki BMP?. Uruchom SprWiz.exe. Obs│uga programu jest banalnie prosta: za│aduj obrazek, zobacz czy wszystkie klatki (je┐eli jest ich wiΩcej ni┐ 1) s▒ ustawione w dobrej kolejno╢ci, wybierz rodzaj przezroczysto╢ci i, je┐el wszystko jest OK, kliknij FINISH !!!.

Krok 3 - Check it !

Skopiuj zapisany plik (pamiΩtaj o zachowaniu tej samej nazwy, co orygina│, je╢li podmieniasz sprite'a) do cstrike/sprites (), jak potrzeba to zast▒p stary nowym (zr≤b back-up). Dalej wiesz, co robiµ.

Co w przypadku, gdy zrobili╢my nowy model broni do CS'a i chcemy/musimy zrobiµ do niego hud'a?
Po pierwsze robimy odpowiedniego sprajta (wszystkie hud'y s▒ typu additive):
nowy HUD
A teraz musimy odpowiednio zedytowaµ plik *.txt. Je┐eli zrobili╢my model dla m249 to otwieramy plik weapon_m249.txt. Wygl▒da to tak:



10
weapon			320 320hud1	160	0	80	20
weapon_s		320 320hud1	160	20	80	20
ammo			320 640hud7	0	96	24	24
crosshair			320 crosshairs	24	0	24	24
autoaim			320 crosshairs	0	72	24	24
weapon			640 640hud3	0	0	170	45
weapon_s		640 640hud6	0	0	170	45
ammo			640 640hud7	0	96	24	24
crosshair			640 crosshairs	24	0	24	24
autoaim			640 crosshairs	0	72	24	24


Je┐eli nzwali╢my naszego sprajta "w_m249" to zawarto╢µ pliku powinna wygl▒daµ tak:



10

// 640x480+		res filename    x-pos   y-pos   x-size  y-size

weapon			640 w_m249	0	0	170	45
weapon_s		640 w_m249	0	45	170	45
ammo			640 w_m249	0	146	24	24
crosshair			640 crosshairs	24	0	24	24
autoaim			640 crosshairs	0	72	24	24

// 320x240		res filename    x-pos   y-pos   x-size  y-size

weapon			320 w_m249	0	90	80	20
weapon_s		320 w_m249	0	110	80	20
ammo			320 w_m249	0	146	24	24
crosshair			320 crosshairs	24	0	24	24
autoaim			320 crosshairs	0	72	24	24


Gdzie:
- ta dziesi▒tka u g≤ry to liczba wierszy
- "res" oznacza rozdzielczo╢µ
- "filename" nazwa naszego sprajtu
- dalej mamy wsp≤│rzΩdne x, y odpowiedniego obiektu (punkt pocz▒tkowy) i pozycjΩ ko±cow▒ x, y. Je╢li ╝le podamy te wsp≤│rzΩdne to bΩdzie wy╢wietlany inny obszar ni┐ potrzebny.

 

[Strona g│≤wna] [Half-Life] [MODy] [Epizody] [Magazyn] [Edycja] [Download] [E-mail]


Strona przygotowana przez zesp≤│ Szyman & Valique & Vardzio [Copyright]