Cromm Cruac
19 paź 2011, 14:39
Posty: 5• Strona 1 z 1
W tym krótkim poradniku wyjaśnię jak silnik obsługuje tekstury celowników i jak dodać nową teksturę celownika.
Jak to działa

1. Tekstury celowników
Pliki dds w rozdzielczości 1024x1024.
2. plik configs\ui\textures_descr\ui_ingame.xml
Tu definujemy wycinki tekstur z plików dds. Np.
[SYNTAX=xml]
<file name="wpn\wpn_crosshair_l85">
<texture id="wpn_crosshair_l85" x="0" y="0" width="1024" height="1024" />
</file>
[/SYNTAX]
Większość ma tylko 1 wycinek obejmujący całą teksturę ale wpn_crosshair ma dwa dodatkowe: wpn_crosshair_add_l i wpn_crosshair_add_r. Te są dodatkami, które pojawiają się po prawej i lewej stronie trybie widescreen
[SYNTAX=xml]
<file name="wpn\wpn_crosshair">
<texture id="wpn_crosshair" x="0" y="0" width="1024" height="1024" />
<texture id="wpn_crosshair_add_l" x="0" y="0" width="102" height="768" />
<texture id="wpn_crosshair_add_r" x="0" y="0" width="102" height="768" />
</file>
[/SYNTAX]
3. pliki configs\ui\scopes.xml i configs\ui\scopes_16.xml
scopes.xml jest używany w trybie 4:3 (5:4), scopes_16.xml w widescreen (16:10, 16:9), Pierwszy zawiera tylko tekstury 'główne' zdefiniowane powyżej przeskalowane do 1024x768 który jest swoistą 'matrycą' wszystkich elementów UI. Ten rozmiar jest potem automatycznie skalowany do ustawionej rozdzielczości ekranu.
[SYNTAX=xml]
<wpn_crosshair x="0" y="0" width="1024" height="768">
<auto_static x="0" y="0" width="1024" height="768" stretch="1">
<texture>wpn_crosshair</texture>
</auto_static>
</wpn_crosshair>
[/SYNTAX]
Przy drugim zaczynają się schody. Tu również 'matrycą' jest 1024x768 ale jest ona skalowana do widescreen (czyli 1280x768) a potem do danej ustawionej rozdzielczości. Musimy więc przeskalować szerokość danej tekstury x0.8 i przesunąć ją na środek. Dodatkowo dodajemy po prawej i po lewej wycinki wpn_crosshair_add_l i wpn_crosshair_add_r (również przeskalowane)
[SYNTAX=xml]
<wpn_crosshair x="0" y="0" width="1024" height="768">
<auto_static x="85" y="0" width="854" height="768" stretch="1">
<texture>wpn_crosshair</texture>
</auto_static>
<auto_static x="0" y="0" width="86" height="768" stretch="1">
<texture>wpn_crosshair_add_l</texture>
</auto_static>
<auto_static x="939" y="0" width="85" height="768" stretch="1">
<texture>wpn_crosshair_add_r</texture>
</auto_static>
</wpn_crosshair>
[/SYNTAX]
Dodajemy nowy celownik
Dodamy teraz nowy celownik typu 'Gnomus'

1. Tekstura
Jak je przygotować? Bierzemy teksturę w proporcjach 4:3 (1024x768, 1360x1024 ew. 1280x1024) i skalujemy ją z wyłączonym 'maintain aspect ratio' do 1024x1024. Zapisujemy w textures\wpn\my_crosshair.dds jako DXT5, 8bit alpha, bez MIP-map.
2. definicja wycinków
W pliku configs\ui\textures_descr\ui_ingame.xml Definiujemy wycinki tekstury wraz z dodatkowymi częściami po lewej i prawej. Musimy to zrobić bo jeśli użyjemy domyślnych będziemy mieli 2 czarne pasy w widescreen ponieważ domyślna tektura wpn_crosshair nie jest w tych częściach przezroczysta. Dodajemy:
[SYNTAX=xml]
<file name="wpn\my_crosshair">
<texture id="my_crosshair" x="0" y="0" width="1024" height="1024" />
<texture id="my_crosshair_l" x="0" y="0" width="102" height="102" />
<texture id="my_crosshair_r" x="0" y="0" width="102" height="102" />
</file>
[/SYNTAX]
3. \configs\ui\scopes.xml i \configs\ui\scopes_16.xml
Układamy wycinki na matrycy dla 'normalnej' rozdzielczości. Dodajemy do \configs\ui\scopes.xml:
[SYNTAX=xml]
<my_crosshair x="0" y="0" width="1024" height="768">
<auto_static x="0" y="0" width="1024" height="768" stretch="1">
<texture>my_crosshair</texture>
</auto_static>
</my_crosshair>
[/SYNTAX]
Układamy wycinki na matrycy dla widecreen. Dodajemy do \configs\ui\scopes_16.xml:
[SYNTAX=xml]
<my_crosshair x="0" y="0" width="1024" height="768">
<auto_static x="85" y="0" width="854" height="768" stretch="1">
<texture>my_crosshair</texture>
</auto_static>
<auto_static x="0" y="0" width="86" height="768" stretch="1">
<texture>my_crosshair_l</texture>
</auto_static>
<auto_static x="939" y="0" width="85" height="768" stretch="1">
<texture>my_crosshair_r</texture>
</auto_static>
</wpn_crosshair>
[/SYNTAX]
4. config broni
Nasz nowy celownik chcemy mieć tylko w karabinie Vintorez. Otwieramy configs\weapons\w_vintorez.ltx i zmieniamy linie [SYNTAX="ini"]scope_texture = my_crosshair[/SYNTAX]
Odpalamy grę i cieszymy się nowym celownikiem w Vintorezie.
UWAGA. Opisany wyżej (w części Jak to działa) sposób interpretacji tekstur jest taki sam dla WSZYSTKICH elementów interfejsu użytkownika (UI) we WSZYSTKICH grach serii S.T.A.L.K.E.R i może być wykorzystany np. przy tworzeniu własnych HUDów.
Jak to działa

1. Tekstury celowników
Pliki dds w rozdzielczości 1024x1024.
2. plik configs\ui\textures_descr\ui_ingame.xml
Tu definujemy wycinki tekstur z plików dds. Np.
[SYNTAX=xml]
<file name="wpn\wpn_crosshair_l85">
<texture id="wpn_crosshair_l85" x="0" y="0" width="1024" height="1024" />
</file>
[/SYNTAX]
Większość ma tylko 1 wycinek obejmujący całą teksturę ale wpn_crosshair ma dwa dodatkowe: wpn_crosshair_add_l i wpn_crosshair_add_r. Te są dodatkami, które pojawiają się po prawej i lewej stronie trybie widescreen
[SYNTAX=xml]
<file name="wpn\wpn_crosshair">
<texture id="wpn_crosshair" x="0" y="0" width="1024" height="1024" />
<texture id="wpn_crosshair_add_l" x="0" y="0" width="102" height="768" />
<texture id="wpn_crosshair_add_r" x="0" y="0" width="102" height="768" />
</file>
[/SYNTAX]
3. pliki configs\ui\scopes.xml i configs\ui\scopes_16.xml
scopes.xml jest używany w trybie 4:3 (5:4), scopes_16.xml w widescreen (16:10, 16:9), Pierwszy zawiera tylko tekstury 'główne' zdefiniowane powyżej przeskalowane do 1024x768 który jest swoistą 'matrycą' wszystkich elementów UI. Ten rozmiar jest potem automatycznie skalowany do ustawionej rozdzielczości ekranu.
[SYNTAX=xml]
<wpn_crosshair x="0" y="0" width="1024" height="768">
<auto_static x="0" y="0" width="1024" height="768" stretch="1">
<texture>wpn_crosshair</texture>
</auto_static>
</wpn_crosshair>
[/SYNTAX]
Przy drugim zaczynają się schody. Tu również 'matrycą' jest 1024x768 ale jest ona skalowana do widescreen (czyli 1280x768) a potem do danej ustawionej rozdzielczości. Musimy więc przeskalować szerokość danej tekstury x0.8 i przesunąć ją na środek. Dodatkowo dodajemy po prawej i po lewej wycinki wpn_crosshair_add_l i wpn_crosshair_add_r (również przeskalowane)
[SYNTAX=xml]
<wpn_crosshair x="0" y="0" width="1024" height="768">
<auto_static x="85" y="0" width="854" height="768" stretch="1">
<texture>wpn_crosshair</texture>
</auto_static>
<auto_static x="0" y="0" width="86" height="768" stretch="1">
<texture>wpn_crosshair_add_l</texture>
</auto_static>
<auto_static x="939" y="0" width="85" height="768" stretch="1">
<texture>wpn_crosshair_add_r</texture>
</auto_static>
</wpn_crosshair>
[/SYNTAX]
Dodajemy nowy celownik
Dodamy teraz nowy celownik typu 'Gnomus'

1. Tekstura
Jak je przygotować? Bierzemy teksturę w proporcjach 4:3 (1024x768, 1360x1024 ew. 1280x1024) i skalujemy ją z wyłączonym 'maintain aspect ratio' do 1024x1024. Zapisujemy w textures\wpn\my_crosshair.dds jako DXT5, 8bit alpha, bez MIP-map.
2. definicja wycinków
W pliku configs\ui\textures_descr\ui_ingame.xml Definiujemy wycinki tekstury wraz z dodatkowymi częściami po lewej i prawej. Musimy to zrobić bo jeśli użyjemy domyślnych będziemy mieli 2 czarne pasy w widescreen ponieważ domyślna tektura wpn_crosshair nie jest w tych częściach przezroczysta. Dodajemy:
[SYNTAX=xml]
<file name="wpn\my_crosshair">
<texture id="my_crosshair" x="0" y="0" width="1024" height="1024" />
<texture id="my_crosshair_l" x="0" y="0" width="102" height="102" />
<texture id="my_crosshair_r" x="0" y="0" width="102" height="102" />
</file>
[/SYNTAX]
3. \configs\ui\scopes.xml i \configs\ui\scopes_16.xml
Układamy wycinki na matrycy dla 'normalnej' rozdzielczości. Dodajemy do \configs\ui\scopes.xml:
[SYNTAX=xml]
<my_crosshair x="0" y="0" width="1024" height="768">
<auto_static x="0" y="0" width="1024" height="768" stretch="1">
<texture>my_crosshair</texture>
</auto_static>
</my_crosshair>
[/SYNTAX]
Układamy wycinki na matrycy dla widecreen. Dodajemy do \configs\ui\scopes_16.xml:
[SYNTAX=xml]
<my_crosshair x="0" y="0" width="1024" height="768">
<auto_static x="85" y="0" width="854" height="768" stretch="1">
<texture>my_crosshair</texture>
</auto_static>
<auto_static x="0" y="0" width="86" height="768" stretch="1">
<texture>my_crosshair_l</texture>
</auto_static>
<auto_static x="939" y="0" width="85" height="768" stretch="1">
<texture>my_crosshair_r</texture>
</auto_static>
</wpn_crosshair>
[/SYNTAX]
4. config broni
Nasz nowy celownik chcemy mieć tylko w karabinie Vintorez. Otwieramy configs\weapons\w_vintorez.ltx i zmieniamy linie [SYNTAX="ini"]scope_texture = my_crosshair[/SYNTAX]
Odpalamy grę i cieszymy się nowym celownikiem w Vintorezie.
UWAGA. Opisany wyżej (w części Jak to działa) sposób interpretacji tekstur jest taki sam dla WSZYSTKICH elementów interfejsu użytkownika (UI) we WSZYSTKICH grach serii S.T.A.L.K.E.R i może być wykorzystany np. przy tworzeniu własnych HUDów.
Wgrałem Gnomous Scopes i teraz przy zbliżaniu lornetką takie coś jest:

Druga sprawa to gdzie wyłącza się namierzanie celów przez lornetkę?

Druga sprawa to gdzie wyłącza się namierzanie celów przez lornetkę?
Uwagi moderatora:
Zadaj pytanie w temacie dla Gnomus Scopes.
Zadaj pytanie w temacie dla Gnomus Scopes.
Wojna jest zła. Ale gorsze są sukinsyny które nie mają nic za co byliby gotowi walczyć i umierać.
"Może nas wiedzie szalbierz chciwy paru groszy
Lecz lepsze to niż śmierć na wapniejących szańcach" - J. Kaczmarski, Stalker.
"Może nas wiedzie szalbierz chciwy paru groszy
Lecz lepsze to niż śmierć na wapniejących szańcach" - J. Kaczmarski, Stalker.
Namierzanie celów wyłączasz w pliku konfiguracyjnym lornetki w_binoc.ltx lokalizacja config/weapons.
Odszukaj w nim linijki vision_present = true i wartość true zamień na false.
Odszukaj w nim linijki vision_present = true i wartość true zamień na false.
łatwiej już nie będzie
Faktycznie wtedy nie namierza, ale także wyłącza się całe te czarne obramowanie.
Wojna jest zła. Ale gorsze są sukinsyny które nie mają nic za co byliby gotowi walczyć i umierać.
"Może nas wiedzie szalbierz chciwy paru groszy
Lecz lepsze to niż śmierć na wapniejących szańcach" - J. Kaczmarski, Stalker.
"Może nas wiedzie szalbierz chciwy paru groszy
Lecz lepsze to niż śmierć na wapniejących szańcach" - J. Kaczmarski, Stalker.
Ja nie zmieniam vision_present tylko w vis_frame_speed ustawiam wartość 0. Wtedy jak to określiłeś czarne obramowanie zostaje.
Postawili kozaka za ten post (1):
Posty: 5• Strona 1 z 1


