симе. Буду писать простым языком, неофицыальным, за ошибки в речи заранее простите. Сразу скажу урок
подразумевает некоторое наличие знаний работы в Гмаксе. Многоие английские слова буду пистаь русскими
буквами в тексте, не охота заморачиваться с написаниеа на английском.
И так поехали:
Для начала сделаем некоторую подготовку. Первое что нам надос делать, это текстуру. Она должна быть в БМП
формате, не конвертированная в ДХТ1 или ДХТ3, так как Гмакс не распознает их. То есть простая БМП-шка, в
Сим-же вы можете пихать БМП-шу конвертированную в любой БХТ формат. Далее надо произвести некоторые
расчеты. для того чтоб узнать сколько-же текстур поместится на нашу полосу. Я приведу пример со своего
аэропорта Талаги. Полоса в нем имеет размеры 2500х44 метра. Полоса уложена плитами ПАГ-18 имеющими размер
2х6м. Для того чтобы текстура смотрелась нормлаьно я принял решение что по ширине полосы у меня уйдет две
текстуры, то етсь получается что плоса шириной в 44 метра имеет 22 плиты шириной по 2 метра, то есть на
мою текстуру по ширине уйдет 11 плит. Так как текстуры в симе имеют квадратные размеры (256х256,512х512 и
т.д.), то соответственно мне надо подогнать плиты на текстуре так чтобы они занимали форму максимально
приближенныю к квадрату. Мы уже выяснили что по ширине в текстуре у меня идет 11 плит по 2 метра шириной,
то есть в симе текстура по ширине занимает 22 метра. Зная что длина каждой плиты 6 метров, мы берем по
длине 4-ре ряда плит, то есть получается 4плиты х 6метров =24 метра. В итоге получили почти квадрат 22х24
метра. С учетом некоторых погрешностей мы это все пихаем в текстуру, в итоге получается текстура 4х11
плит. Далее нам надо определить сколько текстур ляжет по полосе в длину. зная что наши 4-ре плиты занимают
в длину 24 метра, а длина полосы 2500, получаем 2500/44=56,82, огругляем все это до целого исла и получаем
57 текстур. То есть в итоге полоса у нас получается состоит из 57 текстур в длину и из двух текстур в
ширину. В примере у мня указан произвольный полигон не имеющий отношение к этим цифрам.
Ну и приступаем собственно к работе в Гмаксе.
Все пункты идут по порядку согласно скриншотам.
Создаем плоский полигон, и указывем его длину и ширину (1), в Талагах там были бы цифры 2500 и 44.
Далее указываем количество частей из которых будет состоять наш плоский полигон (2), в примере у меня
стоит 2 и 4, в Талагах бы стояло 2 и 57.
Переводим полигон в Эдитобол Поли (3), и нажимаем на кнопку Гмакс материал Эдитор (4).
Далее в строке Дифюс Колор нажимаем на Нон (7) (если будут использоваться ночные текстуры, то нажимаем на
замочек рядом и так-же как и в п.7. нажимаем на Нон в первой строке над дифюс колор (7.1))
Далее после того как нажали на Нон выскачит окошко, где нажмите на Битмап (8).
Прикрепленные изображения
фотошоповском), нажимаете открыть (9). После этого жмете на синий кубик(10), и нажимаете эпплай (11)
Вуаля на вашем полигоне появилась ваша текстура. Но теперь она растянута по всему полигону вам, надо чтоб
текстура ложилась отдельно в каждой части. Для этого идете в список модификаторов (12)
Выбираете в списке УВВМап (13)
Прикрепленные изображения
Прикрепленные изображения
догадаться для чего идут остальные настройки. Я их сейчас касаться не буду. Вобщем выбрали мы фейс и
текстура у нас легла как надо.
Предположим такая ситуация что текстуру надо развернуть на 90 градусов, то есть чтобы плиты шли
перпендикулярно полигону, для этого опять идем в список модификаторов и выбираем УнрапУВВ (15)
Прикрепленные изображения
Прикрепленные изображения
поворачивать (18)
Прикрепленные изображения
Мы сделали что надо, сохраним терь это, и терь надо снам это добро пихнуть в сим. Для этого понадобится
2002-й геймпак, где и как и что с ним делать читайте в FAQ, сейчас-же мы нажимаем на экспорт(19)
Прикрепленные изображения
Прикрепленные изображения
выбираем градус на который он будет повернут (21) (проблема 2002-го в том что в нем можно выставлять
только целые градусы, то есть на пол градуса повернуть уже неудастся, проблема не решаема. Выход только
один-поворачивать полигон в самом Гмаксе на те доли градуса которые надо, а здесь уде выставлять целые).
Выставляем дистанцию с которой нашь полигон удет отображаться (22), и выставляем детализацию сцены при
которой нашь полигон будет виден (23), жмкм на Старт (24)
Видим как идет процесс компилирования БЖЛ. Вконце окошко просто исчезнет.
Прикрепленные изображения
Storm (5.02.2008 00:40):
Может просто воспользоваться тайлингом!? Зачем так много полигонов 🙂
жкспортировали свое творение, видим там БЖЛ и два файла с разрешением асм. один ***.asm, второй ***_.asm,
где ***-имя с которым вы экспортировали файл. Если асм файлы не появятся, то поищите на форуме что надо
оьавить в файл настройки МэйкБЖЛ чтобы они появились. Надеюсь пять инут поиска вас не убьют, тут много об
этом писалось.
Ту БЖЛ что у нас получилась можем смело удалять, она нам не нужна. Нам нужны асм файлы. Открываем первый,
тот который ***.asm, и ищем там в тексте строчки
OBJECT_0_START label word
ADDOBJ OBJECT_0_SCALE
SHADOW_CALL OBJECT_0_SCALE
Удаляем строку SHADOW_CALL OBJECT_0_SCALE (как я понимаю она отвечает за тени, который у плоского обьекта
как у нас просто нет :))
А в строке ADDOBJ OBJECT_0_SCALE, меняем ADDOBJ на ADDCAT, и в конце через запятую ставим слой в
котором будет лежать нашь полигон, то есть в итоге должно получится так:
OBJECT_0_START label word
ADDCAT OBJECT_0_SCALE, 30
где 30-слой нашего полигона.
Далее открывем второй асм файл, тот который ***_.asm, находим там строки
TEXTURE_LIST_BEGIN
TEXTURE_DEF TEXTURE_AIRCRAFT , <255,255,255,255>, 21.213203, «Имя текстуры.BMP» ; 0
TEXTURE_LIST_END
Тут мы заменяем TEXTURE_AIRCRAFT на TEXTURE_GROUND, зачем сам не понимаю, так как вроде и со старым
работает, но гуру сказали надо, и я меняю!
Сохраняем все это дело, и теперь, выделяем файлы в начале ***_.asm потом ***.asm. У нас два выделенных
файла, наводим мышку на ***.asm и правой кнопой мышы, открыть с помощью, и выбираем БЖЛкомп. Он
запускается, тарахтит доли секунд и у вас появляется готовая БЖЛ-ка. Вставляем ее в сим и смотрим что у
нас вышло.
Как дополнение могу сказать что асм файлы не перемещайте из той папки в которой они были созданы, и не
растаскивайте их один от другого, так как в них в каждом прописан пути друг к другу, и в итоге компилятор
просто ниче вам не с компилирует.
Вот и все на седня!
По второму пункту, согласен есть более оптимальный способ создаия, одним плигоном когда его не надо делить. но на практике его не применял, знаю лишь в теории. Возможно как-нить допишу потом. Если есть еще к чему придраться, пиши нестесняйся, всем поможешь, заодно мот и я чего нового узнаю:).
P.S. Полоса из трех продольных полигонов оправдана тогда, когда хочешь сделать отдельной текстурой боковую кромку. Только в этом случае текстура должна быть категории Multi-Sub object, позволяющей хранить под одним идентификатором несколько текстур. Выделяя нужный полигон, в самом низу «свитка» параметров ищи секцию, в которой выбираешь номер вложенной текстуры (из выпадающего списка). Так можно назначить для одного объекта (полоса, РД, здание…) столько текстур, сколько необходимо, храня их в стеке под одним идентификатором. Но это уже из серии — не для начинающих.
Сообщение отредактировано FlyingKot: 05 Февраль 2008 — 04:36
Сообщение отредактировано FlyingKot: 05 Февраль 2008 — 10:37
Caramelis_Rex (5.02.2008 14:24):
Интересно, а как в случае с FSX обстоит дело с номерами слоев!?
причина того, что один полигон не должен быть более 100 метров — введеная в FSX кривизна земной поверхности (не РЕЛЬЕФ!). Номера слоев могут запросто игнорироватся. Без экспериментов — не узнаешь
Сообщение отредактировано FlyingKot: 05 Февраль 2008 — 11:54
Интересно, а как в случае с FSX обстоит дело с номерами слоев!?