Лучшее  🚀
03.05.2015 в 22:18 Новый никК

Небо падает, нашей плоской земле конец !

"Небо падает", "Плоская земля" и "Провалиться/Застрять в текстурах". У всех этих выражений есть одно общее - они заведомо не верны. В этой статье я попробую объяснить почему выражение "Провалиться под текстуры" звучит глупо и является не правильным.

Кстати, на сайте читать удобнее

Статью пишу в первый раз, так что будь со мной нежен уважаемый читатель ! Итак...

С данным выражением впервые с столкнулся в Российской онлайн игре "Сфера", то был далёкий 2003тий год. Бороздя просторы Гиппериона, однажды в таверне стал свидетелем диалога где два бравых воина обсуждали баг при котором добыча с монстра проваливается под "текстуры". Воспитание не позволило вмешиваться в диалог, но уши это выражение резало.

С тех пор прошло много времени и я то тут, то там встречался с этой фразой. В основном в онлайновых играл, но бывало и про оффлайн игру кто то на форуме напишет подобное. Последней каплей был момент недавно произошедший на данном ресурсе - на моё заявление что в GTA V буквально из-за спины периодически пропадает авто, оппонент назвал это "пропаданием текстур". На самом деле, в современных 3д играх подавляющая часть того что мы видим состоит из трёхмерных моделей - звучит очевидно но видимо люди всё ещё не до конца понимают что это значит.

Трёхмерный объект по Английски называется Mesh. Mesh по словам Википедии это набор вершин и многоугольников, определяющих форму трёхмерного объекта. У трёхмерного объекта есть вершины, грани и полигоны.

Для наглядности я использую модель куба, оранжевое это то что выделено.

Образно говоря полигоны образуют поверхность, то что мы видим и воспринимаем как объект. Допустим мы делаем ящик, и вроде форма та, но он просто серый, цвет не тот ! Значит нужно натянуть на него текстуру, и вот тут у полигонов есть удобная фича UV mapping или по Русски - развёртка. Если просто, то это система координат которая помогает программе "знать" на каком месте 3д модели, какого цвета будет пиксель.

Вот так это выглядит - полигоны модели располагаются в двумерном пространстве, и на них сверху рисуется "текстура".

Текстура это собрание пикселей разных цветов, в двумерной системе координат. В итоге они образуют изображение. В данном случае изображение деревянного ящика.

Вот наша модель без текстуры и с ней.

Бонусом расскажу то, что текстура бывает не только для передачи цвета. Например самая популярная в прошлом это текстура Bump или по Русски - Рельефное текстурирование. Это чёрно белая (точнее оттенки серого, а ещё точнее 255 оттенков а не 50 как могли некоторые подумать :D ) текстура, которая добавляет деталей в виде выпуклостей/впуклостей. При этом сама модель не деформируется, тоесть "сбоку" эффекта не будет видно.

Пример

Эффект древний и сейчас чаще используют его приемника Normal Mapping или ещё более продвинутый Parallax mapping.

Есть ещё много разных текстур для разных эффектов, но это выходит за рамки данной статьи. А сейчас самое время подвести итоги.

Итак, вот у нас есть какая никакая модель коробки. Эту коробку мы экспортируем из нашего 3д пакета, в движок игры на котором эта самая игра будет работать. Компилируем игру и играем. Игра называется "Царь коробки" ! Суть очевидна - нужно залезть на коробку. Игра включилась, мы залезаем на коробку и вдруг ВНЕЗАПНО мы проваливаемся внутрь неё и застреваем по торс. При этом нам не выбраться за пределы этой самой коробки, а в ней мы можем передвигаться. В итоге при попытках вылезти мы вообще провалились под уровень.

Теперь, с новыми знаниями полученными сверху, проанализируем ситуацию. Наш ящик это мэш или 3д объект, модель в конце концов. Получается что мы застряли не в текстурах ! Мы застряли в 3д модели, а несчастная текстура делает своё дело вполне исправно. И в итоге, мы провалились не под текстуры карты/уровня, а под 3д модель уровня. Да да, уровень это тоже полигоны, тоже 3д модель !

Под текстуру просто невозможно провалиться, это как наклейка на реальном предмете !

В общем и целом это всё что я хотел рассказать Вам, при этом на простом языке своими словами. Я и не надеюсь что после прочтения данной статьи, все внезапно перестанут говорить это глупое выражение. Однако я надеюсь что Вы что то да вынесли для себя или было хотя бы просто интересно ! В конечном счёте можно говорить что мир вокруг нас на самом деле плоский, на трёх слонах, которые на черепахе летят в бытие... но будет ли это правильно ?

Читать далее