У цьому туторі буде описано адаптацію прицілів під роздільну здатність 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.
Корисна штука. У деяких модів окремо йде як фікс.
В основному до ТЧ.