|
|
| |
| ZASOBY |
| |
| |
|
|
|
| |
|
| NASZ BUTTON |
|
|
| |
|
|
| |
|
| |
|
TUTORIALE - CODING
|
[ Dodaj ]
|
|
Projectedtextures na mapie, oraz ich wybór
| [ 2010-03-06 14:22:30 Dodał:
pietrekder Wyświetleń: 1045 Komentarzy: 0 ]
|
|
Witam
Akurat ten tutorial będzie jednym z krótszych.
W zasadzie to główna część tutorialu oprze się na znanym dobrze tutku ze strony Valve wiki o aktywowaniu Projected textures, ja pokażę tylko jak przez drobne zmiany w pliku fgd można włączyć opcję wyboru tekstury.
A więc do dzieła. Najpierw musimy wykonać wszystko to, co jest w TYM tutorialu. Można też pobrać gotowe zmodyfikowane pliki cpp oraz h TUTAJ, jednak zaleca się wykonanie tego samemu, głównie dlatego, iż obecnie może istnieć bardziej aktualna wersja kodu źródłowego.
W każdym bądź razie, po zmodyfikowaniu kodu źródłowego, przystępujemy do modyfikacji pliku fgd. Otwieramy nasz plik fgd, i wklejamy do niego ten oto fragment
( może być zaraz za dyrektywą @include ):
@PointClass base(Targetname, Parentname, Angles) size(-2 -2 -2, 2 2 2) frustum(lightfov,nearz,farz,lightcolor,-1) = env_projectedtexture :
"Projected texture entity."
[
spawnflags(flags) =
[
1 : "Enabled" : 1
]
target(target_destination) : "target" : : "target"
lightfov(float) : "FOV" : "90.0" : "FOV"
nearz(float) : "NearZ" : "4.0" : "Near Z for projected texture"
farz(float) : "FarZ" : "750.0" : "Far Z for projected texture"
enableshadows(Choices) : "Enable Shadows" : 0 : "Enables/disables shadows from this projected texture." =
[
0 : "No"
1 : "Yes"
]
shadowquality(Choices) : "Shadow Quality" : 1 : "Quality of shadows." =
[
0 : "Low"
1 : "High"
]
lightonlytarget(Choices) : "Light Only Target" : 0 : "Limit flashlight effect to only effect target entity." =
[
0 : "No"
1 : "Yes"
]
lightworld(Choices) : "Light World" : 1 : "Control whether flashlight effects static world geometry." =
[
0 : "No"
1 : "Yes"
]
lightcolor(color255) : "Light Color" : "255 255 255 200" : "Light Color RGB-Intensity"
cameraspace(integer) : "Camera Space" : 0 : "Angles are interpreted as being relative to camera."
// Inputs
input TurnOn(void) : "Turn on the texture"
input TurnOff(void) : "Turn off the texture"
input SetFOV(float) : "Set FOV"
input SpotlightTexture(string) : "Set projected texture"
]
To co jest na niebiesko, jest to wpis skopiowany bezpośrednio z pliku base.fgd, który definiował nam obiekt env_projectedtexture w edytorze. Niestety nie można wprowadzać zmian bezpośrednio w pliku base.fgd (przynajmniej u mnie po odpaleniue SourceSDK, plik był "resetowany"), dlatego ten obiekt musimy zredefiniować w naszym pliku fgd (czyli tym, który jest widoczny w opcjach VHE).
Na zakończenie podam jeszcze przykładową mapę oraz nowy plik vtf naszej tekstury, którą NALEŻY skopiować do materials/effects/.
By używać różnych tekstur projected, musimy użyć jakiegoś triggera odwołującego się do naszego obiektu env_projectedtexture, nadać typ Outputa na "Set projected texture" z parametrem, który jest nazwą naszej tekstury, czyli np effects/lamp_01 (bez cudzysłowów). Po aktywacji triggera, zmieni się nasza tekstura projected. Zresztą, przykład można zobaczyć w pliku vmf, jeden z buttonów to robi.
Oczywiście jakość przykładowej nowej tekstury projected jest marna, ale to dlatego iż to jest tylko do testów.
WAŻNE przy tworzeniu tekstur projected: gdy otworzymy naszą teksturę w VTFEdit, musimu zaznaczyć następujące flagi i zapisać zmiany:
Clamp S
Clamp T
SRGB
No Mipmap
No Level Of Detail
Eight bit Alpha
Inaczej będzie brzydko wyglądało w grze.
Myślę że w miarę dobrze wszystko wytłumaczyłem i nie namieszałem zbytnio
Pliki użyte w tym tutorialu:
src.zip - pliki kodu źródłowego
proj_tex_maps.zip - plik bsp oraz vmt
lamp_01.vtf.zip - nowa tekstura "projected", skopiować do materials/effects/
|
|
|
|
|
|
|
|
| |
|
|
| |
| SHOUTBOX |
|
MoonBlaze: ciasto is a lie |
|
zwieracz: Przyłącz się do mnie, mam ciasto |
|
Jodla: <kontemplujac stwierdza iz obecna rzeczywistosc jest do bani> |
|
MoonBlaze: sm_ban @Dabu 1 |
|
Dabu: Ta strona umarła, zapraszam lepiej na heacrab.pl :D [/koniec reklamy] |
|
Jodla: open beta nowego gmoda a tu 0 info na stronie ...może czas to zmienic zwłaszcza iż screeny z GM13 wygladaja apetycznie |
|
Dabu: web 3.0 |
|
Elektryk: Link |
|
Tracha: Ruski gracz! |
|
zwieracz: Za moich czasów, to się bawilismy przy takiej gierce, gdzie zając łapaj kury za jaja. A moze to był wilk. |
|
| |
|
|
|