Наша совместная команда Banwar.org

Связаться с нами

  • (097) ?601-88-87
    (067) ?493-44-27
    (096) ?830-00-01

Статьи

Граємо в Source SDK, як створювати текстури

  1. VTF і VMT
  2. VTF
  3. VMT
  4. створення текстур
  5. типи файлів
  6. PNG-8 проти PNG-24
  7. TARGA (.tga)
  8. Імпорт в VTFEdit
  9. створення VMT
  10. Перегляд і застосування текстур
  11. Створення текстур з прозорістю
  12. результат:
  13. Запаковування текстур в карту
  14. Корисні зауваження

Дотримуючись попереднім статтям циклу, ви напевно освоїли процес створення непересічної карти з унікальними тригерами і різними видами освітлення

Дотримуючись попереднім статтям циклу, ви напевно освоїли процес створення непересічної карти з унікальними тригерами і різними видами освітлення. Але для втілення найсміливіших ідей в життя чогось не вистачає, чи не так? Стандартний контент польоту фантазії не помічник, тому в даному уроці ви навчитеся створювати власні текстури для своїх карт на движку Source. Подібним чином ви зможете створювати текстури і для моделей, спреїв і взагалі всього, що працює із зображеннями в іграх на Source.

Створення текстур НЕ інтуїтивний процес, але і не надмірно складна задача. На відміну від більшості сучасних двигунів тут немає «просто перетягувати і все працює»: більшу частину роботи доведеться робити самостійно.

VTF і VMT

Текстури діляться на два файли: VTF (Valve Texture Format), файл, в якому зберігається зображення, самі пікселі вашої текстури, і VMT (Valve Material Type), файл, який містить метадані та інформацію про шейдерах. Для відображення текстури в грі використовуються обидва файли.

VTF

Файли VTF (.vtf) зберігають всю інформацію про пікселі, альфа-картах і MIP-картах, яку може використовувати текстура.

Вони створюються конвертацією вихідного зображення в спеціальній програмі. Дані розташовуються таким чином, щоб рендеринг був найбільш ефективним, тому звичайні .jpg / .png-файли без конвертації не використовуються. Найголовніше - розміри зображення повинні представляти із себе двійку в ступені (тобто 64 × 64, 128 × 128, 256 × 256, 1024 × 1024 і т.д.).

Докладний технічний аналіз файлів VTF можна знайти на Valve Developer Wiki .

VMT

Файли VMT (.vmf) - це прості текстові файли з метаданими текстури.

Серед них є така інформація, як:

  • Чи є текстура напівпрозорої?
  • Анімована вона?
  • Чи використовує вона рельєфне текстурування?
  • Який звук вона відтворює при зіткненнях?

Для одного VTF-зображення можна зробити кілька VMT-файлів з різними властивостями, і Hammer буде приймати їх за різні текстури. У наступних уроках ми розглянемо просунуті особливості VMT, що додають текстурі реалістичності.

Докладний технічний аналіз файлів VMT можна знайти на Valve Developer Wiki .

створення текстур

Що ж, приступимо. Я буду використовувати для створення текстури логотип ProGamer.

Логотип оточений прозорим фоном, але з цим ми розберемося потім. Розмір 1418 × 1418 я поміняв на 1024 × 1024. На практиці ви будете використовувати найменший можливий розмір, а такі великі текстури будуть застосовуватися тільки для найважливіших речей. Хорошим базисом для більшості текстур буде 512 × 512.

Нам потрібно конвертувати вихідний файл в формат VTF. Valve докладає до своїх ігор програму VTEX, це простий інструмент командного рядка, здатний створювати VTF-файли тільки з TARGA (.tga). Є альтернатива краще - VTFEdit, яка працює з більшістю форматів, має власний інтерфейс і велика кількість функцій.

типи файлів

VTFEdit відкриває файли .bmp, .jpg, .gif, .png і .tga.

Якщо ви не знайомі з їх особливостями, то ось все, що вам дійсно потрібно знати:

  • PNG, GIF і TGA підтримують прозорість.
  • GIF підтримує анімацію (але перед імпортуванням потрібно розбивати на кадри).
  • Для всього іншого рекомендується JPG.
  • З BMP не зв'язуйтеся.

PNG-8 проти PNG-24

24-бітові PNG-файли підтримують змінну прозорість, але погано імпортуються в VTFEdit, так що для змінної прозорості потрібно використовувати .tga.

TARGA (.tga)

TARGA - це старий химерний формат зображень зі своїми приємними особливостями, але в багатьох областях він витісняється форматами PSD або PNG. Головна проблема полягає в пошуку програм, здатних створювати / редагувати такі файли. Як ви могли здогадатися, найкращим інструментом для цього є Photoshop. VTFEdit / VTEX добре дружать з TARGA, так що якщо виникають проблеми з імпортуванням, конвертуйте зображення в цей формат.

Імпорт в VTFEdit

Вважаю, до цього моменту ви вже приготували бажане зображення. Вибираємо пункт меню File> Import. Для початку познайомтеся з цим вікном:

Тут багато всього, але я розіб'ю по пунктам:

  • Normal Format: Яка компресія використовується для стандартних (непрозорих) зображень.
  • Alpha Format: Компресія, використовувана в зображеннях з прозорістю.
  • Texture Type: Застосовується, тільки коли ви імпортуєте більше одного зображення, і визначає, що вони повинні з себе представляти. У 99% випадків тут вибирається Animated Texture.
  • Resize / Clamp: Тут можна змінити розмір в останній момент, але я раджу робити це заздалегідь.
  • Generate Mipmaps: MIP-карти - це зменшені версії текстури, які гра буде накладати при віддаленні. Тут краще все залишити за замовчуванням.
  • Normal Map: Карти нормалей використовуються для додання текстурі уявної глибини. Знову ж, цим краще займатися самостійно, але ви можете дати VTFEdit шанс, щоб переглянути результат її роботи.

Гарне керівництво по вибору компресії є на Valve Developer Wiki . Якщо виникають сумніви, залишайте все за замовчуванням.

Вкладку Advanced ми поки не чіпаємо (тут налаштовується VTF-файл - залишайте 7.2, якщо тільки не знаєте точно, що робите).

Після натискання ОК ви повинні побачити ось це:

Тепер, якщо не хочете пограти з просунутими настройками, можете натискати File> Save і отримаєте готовий VTF-файл.

створення VMT

Ми створимо голий скелет файлу VMT для роботи разом з VTF. У тій же папці, де ви зберегли свою progamer.vtf, створюємо новий текстовий файл і називаємо його progamer.vmt, потім відкриваємо в блокноті або іншому текстовому редакторі і вводимо ці рядки:

«LightmappedGeneric»

{

«$ Basetexture» «progamer / progamer»

«$ Surfaceprop» «MetalPanel»

«$ Surfaceprop2» «MetalPanel»

}

  • LightmappedGeneric - це тип шейдеров, який буде використовувати текстура, це важливо, коли вам потрібні незвичайні ефекти або ви робите текстуру для файлу моделі.
  • Basetexture - це створений вами файл VMT: зауважте, що у нього немає розширення і він знаходиться в папці progamer, яку ми поки не створили (але незабаром створимо).
  • Surfaceprop визначає деякі фізичні властивості текстури.

У VMT-файл можна багато чого додати, розширений список можна знайти на Valve Developer Wiki .

Перегляд і застосування текстур

Тепер у нас є обидва необхідних файлу, давайте пустимо їх у справу.

Спочатку їх потрібно помістити в потрібну папку, вона залежить від гри, для якої ви зробили текстуру і від налаштувань Hammer. приклади:

  • Half-Life 2: Episode 2: Steam \ steamapps \ common \ Half-Life 2 \ ep2 \ materials
  • Team Fortress 2: Steam \ steamapps \ common \ common \ Team Fortress 2 \ tf \ materials
  • CS: GO: Steam \ steamapps \ common \ Counter-Strike Global Offensive \ csgo \ materials

Зазвичай всі файли матеріалів поміщаються в окрему підпапку, щоб в базовій папці не скупчувалися потенційно конфліктуючі матеріали. Не забувайте прописувати назву папки в VMT-файлах.

Передбачається, що текстуру ви робили для своєї карти, так що відкривайте Hammer і шукайте нову текстуру в списку матеріалів. Якщо все пройшло нормально, вона там буде. Якщо нічого немає, можливо, ви не туди помістили файли. Якщо текстура є, але вона порожня / фіолетова / неправильна, то проблема може бути в кодуванні текстури або настройках VMT.

І ось, ваша текстура в грі.

Створення текстур з прозорістю

  • Переконайтеся, що зображення містить прозорість / альфа-канал (для цього краще підходить формат TGA).
  • Вибирайте компресію з підтримкою альфа-інформації (дефолтна DXT5 підійде).
  • Додайте в VMT: «$ translucent» 1.
  • Цього має бути достатньо.

Створення анімованих текстур

При створенні анімаційних текстур велика частина роботи проводиться перед імпортуванням, так як кадри анімації повинні зберігатися в окремих файлах. З цим можуть виникнути складності, але гугл вас виручить.

Назви готових файлів повинні нумеруватися за типом: imagename_0000.tga, imagename_0001.tga, imagename_0002.tga.

При імпортуванні виділяйте відразу всі файли, інше зробить VTFEdit.

Якщо все спрацювало, в інформації про зображення повинно бути вказано більше одного кадру.

VMT-файл для анімованої текстури містить трохи більше даних:

«LightMappedGeneric»

{

«$ BaseTexture» «progamer / animated»

«$ Surfaceprop» «MetalPanel»

«$ Surfaceprop2» «MetalPanel»

«$ Translucent» «1»

«Proxies»

{

«AnimatedTexture»

{

«AnimatedTextureVar» «$ basetexture»

«AnimatedTextureFrameNumVar» «$ frame»

«AnimatedTextureFrameRate» «10»

}

}

}

результат:

результат:

Центральна текстура анімована, права текстура статична, але використовує деяку магію в файлі VMT для руху. Це ми розглянемо в наступних уроках.

Запаковування текстур в карту

Тут трохи проявляються особливості різних ігор. Якщо ви хочете поширювати свою карту до призначених для користувача текстурами через інтернет, то найкращим рішенням буде запакувати текстури в файл BSP.

Для аддонів Garry's Mod цього робити необов'язково, так як структура .gma зберігає файлову ієрархію. Однак, якщо ви хочете, щоб люди запускали карту на своїх серверах і не діставали вас відгуками «карта відстій, текстурок немає», то краще їх все ж запакувати. Таке трапляється, тому що люди декомпілюються ваш файл GMA для зберігання серверних файлів в FastDL, а не в Workshop.

І як же пакувати текстури в карту? За допомогою Pakrat.

Pakrat дозволяє відкривати файли BSP і змінювати їх вміст. BSP-файли являють собою контейнери (як .zip, наприклад), де зберігаються різні дані - зазвичай це файли самої карти, файли освітлення, кубічні текстури і будь-який додатковий контент, який ви вирішили помістити в свою карту.

Далі все досить просто: відкриваємо скомпільовану карту, натискаємо Add і додаємо свої текстури.

Звертайте увагу на стовпець Path: там має бути щось на зразок "materials / ваша-Підпапка /".

Зберігаємо карту і все готово. Для тестування видаліть свої текстури з папки гри, щоб переконатися, що вони працюють з .bsp, а краще взагалі перевіряйте карту на іншому комп'ютері.

Корисні зауваження

  • Якщо виникають проблеми, перевіряйте консоль, вона може підказати, чому щось пішло не так.
  • Source кешируєт дані текстур, так що команда «reload» не дасть змін, завантажте іншу карту, потім знову свою або перезапустіть гру.
  • У Hammer працює таке ж правило, але тут допоможе тільки перезавантаження, благо Hammer запускається швидко.
  • При імпортуванні в VTFEdit перевіряйте версію VTF, різні ігри підтримують тільки певні версії (версія 7.2 добре підтримується, хоч і стара).

Але для втілення найсміливіших ідей в життя чогось не вистачає, чи не так?
Анімована вона?
Чи використовує вона рельєфне текстурування?
Який звук вона відтворює при зіткненнях?
І як же пакувати текстури в карту?

Новости

Banwar.org
Наша совместная команда Banwar.org. Сайт казино "Пари Матч" теперь доступен для всех желающих, жаждущих волнения и азартных приключений.