Prosty efekt odbicia 16842 3

O temacie

Autor inż. Avallach

Zaczęty 23.07.2013 roku

Wyświetleń 16842

Odpowiedzi 3

inż. Avallach

inż. Avallach

Administrator
posty7662
Propsy5238
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Prosty efekt odbicia
2013-07-23, 18:14(Ostatnia zmiana: 2013-07-24, 12:29)
Nie odpowiadam za szkody psychiczne związane z próbami używania Spacera wynikającymi z instrukcji tego tutorialu.
TL;DR; - na końcu jest filmik pokazujący efekt.

G2NK oferuje prosty efekt odbicia w powierzchniach modeli. Odbijane jest nie otoczenie, ale z góry, globalnie ustalona tekstura. Efekt jest domyślnie paskudnie skonfigurowany (tak że albo nie jest zauważany, albo brany za bug), a u wielu graczy wyłączony. Ostatnio zainteresowałem się jego konfiguracją i z tego co zobaczyłem, niewielką ilością pracy da się go z całkiem dobrymi rezultatami wykorzystać w modach.

1. Globalna konfiguracja
Dwa globalne parametry efektu - to czy jest włączony, oraz jaka tekstura jest odbijana - są przechowywane w gothic.ini. Na potrzeby moda wykorzystującego ten efekt niestandardowo, należy nadpisać je za pomocą sekcji overrides pliku .ini moda. Dodajemy na jego końcu:
[OVERRIDES]
ENGINE.zEnvMappingEnabled=1
ENGINE.zEnvMapTextureName=paladin.tga
Parametrów tych chyba nie muszę tłumaczyć. Tekstura powinna być możliwie uniwersalna, różnorodna i słabo nasycona. Nie sprawdzałem jak działa z przezroczystością i podobnymi kombinacjami. Ja dla testów użyłem paladin.tga, bo czemu nie. Generalnie chyba powinna to być cubemapa, ewentualnie coś o layoucie podobnym jak skybox (on też może być cubemapą, nie pamiętam).

2. Konfiguracja materiału
Z początku byłem przekonany że trzeba by ładować do Spacera zapisane w formacie ascii obiekty zCMaterial z odpowiednimi parametrami. Ku mojemu zaskoczeniu, okazuje się że Spacer w editormode udostępnia normalny edytor zCMaterialów. Znajdujemy nasz materiał w oknie Materials. Jeśli tam go nie ma, za pomocą toolboxa przełączamy okno Objectpages na tryb "Propertypage for polygons (texturing)" i tworzymy nowy. Dla osób które, tak jak ja, nie miały prawie nic do czynienia ze Spacerem - to że non stop crashuje jest najwyraźniej normalne i nie należy się tym przejmować, tylko próbować do skutku, ewentualnie w międzyczasie wysyłając pogróżki do PB. Nie mam pojęcia czy jakieś parametry z tego okna oprócz nazwy tekstury mają znaczenie. Ja bym je olał, jak mają, to się o tym i tak przekonacie. W każdym razie, kiedy już nasz materiał istnieje, wybieramy go w oknie Materials. Tam interesują nas dwa parametry:
environmentalMapping:TRUE
environmentalMappingStrength:1
Efekt możemy podziwiać na bieżąco, o ile naniesiemy ten materiał na jakieś polygony w świecie. Aby to zrobić, klikamy je, tak żeby zaznaczyły się na czerwono, a następnie (z wyłączoną wolną kamerą) klikamy ppm i wybieramy "Apply and deselect". W polu strength możemy wpisać liczbę niższą niż 1 dla delikatniejszego efektu (np 0.5). To jednak stwarza możliwość że gracz go nie zauważy, więc ja tam bym się w takie subtelności nie bawił.

Po ustawieniu tego, wybieramy Settings/Save materialfilter z nadzieją że Spacer nie crashuje od tego. Jeśli pojawi się okno z informacją że zapis został zakończony pomyślnie, to znaczy że mamy halucynacje - Spacer nie wyświetla takich komunikatów. Co najwyżej zafunduje nam Access Violation. Jeśli zapisze materiały, to po prostu nic nie wyświetli.

Plik z naszym zapisanym materiałem zostanie wygenerowany w _Work\Tools\Data. Nazwa będzie taka, jak dla Materialfiltera który wybraliśmy (możemy też stworzyć nowy). Teraz najważniejsze - po co nam ten plik .pml? Co zrobić aby efekty były widoczne w modzie? Nie mam pojęcia! Do tego momentu pisania Spacer crashował mi 6 razy. Mam dość tego szajsu. Nagram już tylko filmik pokazujący efekt w działaniu, kto chce niech się z tym dalej bawi.

Odbijalność nałożona na ostrze, przyłbicę i to coś co osłania uda:
https://www.youtube.com/watch?v=wV2DTmIrEVQ

Splash

Splash

Moderator
posty4207
Propsy3403
ProfesjaNierób
  • Moderator
Czy jest możliwe zrobienie tego na wodzie, tak aby były widoczne odbicia drzew i postaci?
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

EdekSumo

EdekSumo

Wyspa Khorinis
posty1739
Propsy924
ProfesjaLvl designer
  • Wyspa Khorinis

EdekSumo
Wyspa Khorinis

Prosty efekt odbicia
#2 2013-07-23, 19:13(Ostatnia zmiana: 2013-07-23, 19:13)
Nie przecież av napisał że odbicie danej tekstury a nie środowiska, btw na wodzie jest to użyte w postaci odbicia chmur (jak się nie mylę)
 

inż. Avallach

inż. Avallach

Administrator
posty7662
Propsy5238
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Prosty efekt odbicia
#3 2013-07-23, 19:24(Ostatnia zmiana: 2013-07-23, 19:27)
Tekstura odbicia w wodzie jest akurat osobna - do jej wyboru służy parametr
ENGINE.zWaterEnvMapTextureNameDomyślnie jest to cloudenv_bright.tga, jednak można to zmienić.

Z drugiej strony, w ogóle o tym nie pisałem, bo osobiście uważam że efekt jest paskudny. Te odbicia są jak dla idealnie gładkiej powierzchni. Dopóki na wodzie używamy jedynie animowanej diffuse, nie rzuca się aż tak straszliwie po oczach że jest ona w Gothicu płaskim polygonem. Ale po dodaniu tego odbicia, jest to masakrycznie niefajne. Trzeba by naprawdę "wyrzeźbić" fale w modelu żeby to jakoś wyglądało. Z drugiej strony, w połączeniu z animacją fal w meshu efekt mógłby być bardzo ciekawy (i obciążający dla gpu).

Do tego, tak jak pisałem ja i Edek, nie da się odbijać rzeczywistego otoczenia. Jedynie z góry przygotowaną teksturę. Z drugiej strony, jest to technika powszechnie stosowana nawet w nowszych grach. To po prostu kwestia dobrego przygotowania tej tekstury. Niebo z chmurami nie jest złym pomysłem, powinno to w każdym razie być coś co w żadnym miejscu nie będzie wyglądało zbyt dziwnie (a pamiętajmy że błyszczące obiekty mogą być np zarówno w lesie, w jaskini jak i na otwartej przestrzeni).


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry