Forum Stalker.pl • Zobacz temat - [TUTORIAL] Celowniki optyczne

[TUTORIAL] Celowniki optyczne

[TUTORIAL] Celowniki optyczne

Postprzez Cromm Cruac w 19 Paź 2011, 14:39

W tym krótkim poradniku wyjaśnię jak silnik obsługuje tekstury celowników i jak dodać nową teksturę celownika.

Jak to działa

Image

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.
Kod: [ Pobierz ] [ Ukryj ]
   <file name="wpn\wpn_crosshair_l85">
    <texture id="wpn_crosshair_l85" x="0" y="0" width="1024" height="1024" />
   </file>
 

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
Kod: [ Pobierz ] [ Ukryj ]
   <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>
 


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.
Kod: [ Pobierz ] [ Ukryj ]
  <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>
 


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)
Kod: [ Pobierz ] [ Ukryj ]
  <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>
 


Dodajemy nowy celownik
Dodamy teraz nowy celownik typu 'Gnomus'

Image

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:
Kod: [ Pobierz ] [ Ukryj ]
   <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>
 


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:
Kod: [ Pobierz ] [ Ukryj ]
  <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>
 


Układamy wycinki na matrycy dla widecreen. Dodajemy do \configs\ui\scopes_16.xml:
Kod: [ Pobierz ] [ Ukryj ]
  <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>
 


4. config broni
Nasz nowy celownik chcemy mieć tylko w karabinie Vintorez. Otwieramy configs\weapons\w_vintorez.ltx i zmieniamy linie
Kod: [ Pobierz ] [ Ukryj ]
scope_texture = my_crosshair


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.
Image

"Twoja opowieść mnie znudziła albowiem nie była o mnie" - Król Julian
Awatar użytkownika
Cromm Cruac
Modder

Posty: 2541
Dołączenie: 22 Sty 2010, 19:01
Ostatnio był: 26 Lip 2023, 10:13
Miejscowość: Londyn / Bielsko-Biała
Kozaki: 1077

Reklamy Google

Re: [TUTORIAL] Celowniki optyczne

Postprzez jalkavaki w 24 Gru 2011, 15:31

Wgrałem Gnomous Scopes i teraz przy zbliżaniu lornetką takie coś jest:
Image

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

Uwagi moderatora:

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.
Awatar użytkownika
jalkavaki
Legenda

Posty: 1379
Dołączenie: 02 Kwi 2010, 11:20
Ostatnio był: 20 Lip 2022, 06:45
Miejscowość: Stetinum
Frakcja: Samotnicy
Ulubiona broń: TOZ34
Kozaki: 193

Re: [TUTORIAL] Celowniki optyczne

Postprzez nelson82 w 25 Gru 2011, 01:39

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.
łatwiej już nie będzie
Awatar użytkownika
nelson82
Łowca

Posty: 505
Dołączenie: 16 Paź 2011, 00:09
Ostatnio był: 13 Paź 2019, 11:44
Ulubiona broń: --
Kozaki: 130

Re: [TUTORIAL] Celowniki optyczne

Postprzez jalkavaki w 25 Gru 2011, 10:20

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.
Awatar użytkownika
jalkavaki
Legenda

Posty: 1379
Dołączenie: 02 Kwi 2010, 11:20
Ostatnio był: 20 Lip 2022, 06:45
Miejscowość: Stetinum
Frakcja: Samotnicy
Ulubiona broń: TOZ34
Kozaki: 193

Re: [TUTORIAL] Celowniki optyczne

Postprzez r_populik w 25 Gru 2011, 10:25

Ja nie zmieniam vision_present tylko w vis_frame_speed ustawiam wartość 0. Wtedy jak to określiłeś czarne obramowanie zostaje.

Za ten post r_populik otrzymał następujące punkty reputacji:
Positive jalkavaki.
Awatar użytkownika
r_populik
Modder

Posty: 789
Dołączenie: 26 Mar 2010, 12:45
Ostatnio był: 29 Wrz 2022, 22:03
Miejscowość: okolice stolicy
Kozaki: 263


Powróć do Tutoriale

Kto jest na forum

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 1 gość