Немного не понял вопроса. х.х
У меня есть набор тайлов, скомпанованный в атлас. Размер одного тайла 32x32 пикселя:
http://i.imgur.com/yzjxyCL.png?1Ландшафт описывается:
1) Картой высот (256x256, 8bit)
2) Картой тайлов (256x256, 16bit)
Карта тайлов используется для сопоставления тайла из атласа с клеткой ландшафта.
Берём вторую клетку ландшафта. Значение из карты высот - 0x31D
tileX = (0x31D % 32)*32;
tileY = (0x31D / 32)*32;
tileU = tileX / 512.0f;
tileV = tileY / 1024.0f;
Подобной логикой и пытаюсь руководствоваться, описывая материал. Но пока ничего не получается. Не пойму, как добавить в проект обычный двоичный файл и скормить его в качестве входного параметра материала в виде массива UInt16. Попробовал сконвертировать в текстуру, аналогично карте высот, но что-то не учёл и материал не отображается:
http://i.imgur.com/FIbKExk.png?1Может быть, я неверно представляю себе - что находится в LandscaepCoords.
Просто собрать все тайлы в одну большую текстуру я могу. Но Unity, как написано в мануале, поддерживает только текстуры 8192x8192, а у меня получается 32768x32768
Пойду искать ваше видео. (:
UPD: Это?
http://www.youtube.com/watch?v=nE6xuTW9G4sUPD2:Вопрос понял. :) Нет, это не текстура тайлится, а она сама является набором тайлов, которые каким-то образом нужно сопоставить с моделью ландшафта.
UPD3:Ага, проблема была в том, что я работал с RGB каналом. Заменил на красный (изображение с картой тайлов чёрно-белое), получил такой вот результат:
http://i.imgur.com/vufd3Qp.png?1Вот только... теперь вся карта умещается в одной клетке и многократно дублируется на весь ландшафт.
И, сдаётся мне, что это несколько не тот путь, которым стоит идти.
Возможно, есть каое-нибудь описание формата "Landscape Painting", чтобы я мог самостоятельно конвертировать исходную карту в него и не мучил ни себя ни движок старомодными тайлами?
В документашке нашёл описание для местных Tile Sheet и Tile Map, но, к сожалению, они работают только с двумерными уровнями, а в моём случае это трёмерный ландшафт, вымощенный тайлами.
UPD4:Как я понял, мне нужно идти в данном направлении:
https://docs.unrealengine.com/latest/IN ... index.html"Уровни" действительно экспортировать единой текстурой, без извращений с тайлами, а в случае больших карт использовать "Level Streaming".