Сповіщення
Очистити все

Фікс прицілів для широкоформатників


NazarTmm
Ранг:
Досвідчений
Роль:
Модмейкер
Угруповання:
Бандити
Записи:
35
Приєднався:
10 місяців тому
Початок теми  

У цьому туторі буде описано адаптацію прицілів під роздільну здатність 1600х900 (16:9). Підходе для ПП та ЧН!
1. Можна використовувати текстуру з будь-якою роздільною здатністю, головне, щоб текстура відповідала потрібному співвідношенню 4Х3. Відповідно, латочки мають бути за висотою з такою самою роздільною здатністю, що й сама текстура.

2 Описи всіх прицілів знаходяться в папці: gamedata\configs\ui\
файли:
scopes.xml - Опис прицілів для станд. моніків. (Він нам не знадобиться)
scopes_16.xml - Опис прицілів для широкоформатних моніків.

Описи текстур прицілів знаходяться в папці: gamedata\configs\ui\textures_descr\
файл: ui_ingame.xml

Приступимо!
Принцип роботи рушія: береться стандартна текстура і стискається по осях Х,У, так щоб під час розтягування картинки розміром 1024х768 до 1600х900, приціл мав правильні пропорції. Розміри, до яких буде стискатися картинка, записуються у файлі scopes_16.xml. Оскільки після стиснення по осі Х з боків утворюються "просвіти". Вони усуваються за допомогою спеціальних "латочок" з лівого і правого боку. Ці латки повинні мати таку ширину, яка в сумі з прицілом дає число число 1024.

Ось принцип обчислення розмірів:
По осі Y розмір ставимо height="768".
1. Xi=(1024/X)*(1024*(Y/768));
2. Xj=(1024-Xi)/2;
X - Ширина екрана; Y - Висота; Xi - Ширина прицілу після стиснення; Xj - ширина латочок;

Ось робочий приклад:

<Scope_Susat x="0" y="0" width="2048" height="1536">
    <auto_static x="0" y="0" width="1024" height="768" stretch="1">
      <texture>Scope_Susat</texture>
    </auto_static>
    </Scope_Susat>

У результаті отримуємо якісну текстуру великої роздільної здатності 2048Х1536.

Для широкоформату написати в конфігурації приблизно таке:

<wpn_crosshair x="0" y="0" width="2048" height="1536">
    <auto_static x="128" y="0" width="768" height="768" stretch="1">
      <texture>wpn_crosshair</texture>
    </auto_static>
    <auto_static x="0" y="0" width="128" height="768" stretch="1">
      <texture>wpn_crosshair_add_l</texture>
    </auto_static>
    <auto_static x="896" y="0" width="128" height="768" stretch="1">
      <texture>wpn_crosshair_add_r</texture>
    </auto_static>
  </wpn_crosshair>

У будь-якому разі, ви, завжди можете вписати свою текстуру БУДЬ-якої роздільної здатності, якщо вона відповідає співвідношенню 4х3.

 


   
Цитата
Теги теми
Yarkov Desorec
Ранг:
Досвідчений
Роль:
Сталкер
Угруповання:
Сталкери-одинаки
Записи:
171
Приєднався:
4 місяці тому
 

Корисна штука. У деяких модів окремо йде як фікс.
В основному до ТЧ.


   
ВідповіcтиЦитата