???
Математика на уровне МГУ

Показано с 1 по 25 из 535

Тема: Создание карт в РоФ.

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #6
    Як52,18,12,Вильга,Бланик Аватар для ROSS_DiFiS
    Регистрация
    29.03.2003
    Адрес
    Moscow
    Возраст
    52
    Сообщений
    3,194

    Re: Создание карт в РоФ.

    хорошо получилось.

    По деревьям - смотри.

    Глобальные деревья на карте задаются картой global_forest.bmp. Разрешение такое же как и у карты высот, т.е. при размере 256 на 256 - 1 пиксел - 50 метров. Но! global_forest.bmp - он задается единым файлом, а не режется. И еще у него особенность - он натягивается на карту автоматически, по какому то своему, мне не ведомому алгоритму. В данном случае, если карта у нас 256 на 256 - то global_forest.bmp надо делать размером 1024 на 1024. Если же карта у нас болеше чем 1024 на 1024 - то global_forest.bmp должен иметь разрешение 2048 на 2048. Т.е. заполняем неиспользуемые тайлы черным цветом.

    global_forest.bmp - отвечает только за генерацию и расстановку деревьев по карте. Далее потребуется маска под лес -сейчас это темнозеленая рябая текстура, делающая низ леса темным.

    Маска задеатся следующим образом. То же разрешение 50м на пиксель, но в RGB каналах располагаются маски трех типов. В Красном канале - задается маска песка, в зеленом канале задается маска подложки леса, в синем канале задается маска подложки линии фронта. Когда все три типа подложек в текстуре маски заданы - надо перевести битмап в режим 8 бит (256 цветов). И в таком виде записывать а каталог масок.

    расположение масок задается в файле typemap.bmp, в котором каждый пиксел - это RGB - цвет (код номера маски). Т.е. грубо говоря мы можем задать вот такое количество различных масок "FF FF FF" Конечно - это избыточное число, но так сделали для удобства кодирования номера маски. Имена масок та и заданы в файле textures.ini. Например строчка: 001 255 000 =graphics\LANDSCAPE\Mask\mask_01.bmp - значает, что если на карте масок встретится пиксель, со значением RGB = (R)001 (G)255 (B)000 (яркозеленый) - то на карте в это место поставится маска "Mask\mask_01.bmp". Установка масок по карте начинается в левом нижнем углу. Если у нас размер карты всего 256 на 256, то это будет всего одна маска 256 на 256, и соответсвенно файл typemap.bmp - будет состоять всего из одного пикселя.

    Но помимо деревьев, которые генерятся на основе файла global_forest.bmp, есть еще деревья, которые устанавливаются отдельно точесной расстановкой тайлами ковра. Это те деревья которые образуют маленькие опушки у полей, стоят вдоль дорог или на перекрестках (так как глобальной картой леса нельзя создать такую точность). Вот эти деревья могут доставлять неприятность тем, что выводятся в местах, которые нам не нужно - например по берегам рек на песке, или в местах, где мы хотим нарисовать аэродром, и т.п.
    Вот и остается еще один важный файл - forest_cut.wtr. Это файл отвечает за убирания деревьев в нужных нам местах. Он имеет такое же разрешение как и карта высот - 50м на пиксель. Создается отдельная карта вырезания деревьек BMP с тем же принципом нумерации как и карта воды (за исключением разрешения, его не надо увеличивать в 5 раз) и на основе этих файлов подсовывается в тот же WaterCompress.exe только размеры указываются соответсвующие тазмеру текстуры (например в нашем случае 1 на 1, 256 px. и блокрезолюшн - 64 - почему так не знаю.)
    на выходе получаем файл forest_cut.wtr, который будет убирать ВСЕ деревья и ТРАВУ в нужных местах. Я обычно делаю его простой копией с карты песка. (возможно для более точного убирания деревьевв можно использовать разрешение большее - т.е. такое же как и карты воды. Но я не экспериментировал.
    Крайний раз редактировалось ROSS_DiFiS; 08.12.2012 в 18:31.
    My Dream, it's to Fly, over the rainbow in the Sky

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •