Текущее время: 28 мар 2024 13:59

Часовой пояс: UTC + 3 часа


Правила форума


Внимание! Все права на материалы опубликованные в этом форуме принадлежат их авторам! Перепечатка туториалов и статей разрешена только со ссылкой на этот сайт! В противном случае факт перепечатки считается нарушением авторских прав!



Новая тема Ответить
Страница 1 из 3
[ Сообщений: 40 ]
На страницу 1, 2, 3  След.
Автор
Сообщение
Заголовок сообщения: [Мануалы] Архитектура и построение уровней
СообщениеДобавлено: 02 июл 2006 22:48
Использование Areaportal’ов

Если перед игроком находится дверь, то движок игры просчитывает все, что находится за ней, хотя игрок этого и не видит – естественно это сильно снижает фпс. Чтобы этого избежать – нужно использовать Areaportal – текстуру из папки common, которая будет блокировать просчет графики за дверью. Areaportal сработает как триггер когда вы задействуете дверь и «включит» пространство за ней для вашего обозрения.

Правило №1Areaportal должен находиться внутри дверей (func_door и func_door_rotating) чтобы работать. На рисунке ниже – простой пример скользящей двери (func_door) и Areaportal’а с ней. Заметьте, что границы Areaportal’а больше границ двери – это допуск для того чтобы открылась дверь.
рис1
рис2

Правило №2 Areaportal не должен касаться пустоты. Обращайтесь с ним как с другим телом однако не углубляйте его значительно в пустоту на карте – он не будет работать правильно.

Правило №3Areaportal должен использоваться в глухом объеме. Пример: комната с 4-мя стенами и дверью с Areaportal’ом – работает хорошо, но если вы добавляете в комнату окно, Areaportal работать не будет вообще.

Пример использования Areaportal’а:

Ниже приведен образец карты с дверями и Areaportal’ами в них.
рис3

Вы можете видеть что пространство за дверями отрисовывается только в моменты когда игрок подходит к двери или открывает ее.
рис4
рис5
рис6

Мануал составил hiperon.
Заголовок сообщения: Азбука картостроения
СообщениеДобавлено: 02 июл 2006 23:22
Несколько текстур, которые используются с целью получить тот или иной эффект в игре.

Areaportal
Bsp тулса использует ареапорталы чтобы создавать сильные визуальные разрывыразломы между локациями на карте. Пока не сработает ареапортал, геометрия за ним блокируется для отрисовки. Ареапортал должен быть тонким брашем. Он должен прикасаться ко всем брашам, которые формируют переход между порталами. Он должен быть размещен внутри двери, открытие которой ведет к срабатыванию браша, закрытие двери вернет все назад. Текстура ареапортала должна поностью наглухо запаивать одно пространство от другого (возможно с использованием других порталов). Если дверь используется для закрытия от просмотра пространства - размещайте в ней ареапортал.

Caulk
Текстура, которая не просчитывается редактором при компилировании. Рекомендуется присваивать эту текстуру всем граням и поверхностям, которые не будут видны игроку на карте. Также эту текстуру располагают позади кривых (Curves).

Clip
Невидимая текстура, которая блокирует передвижение игрока (но не выстрелы оружия), используется для сглаживания перемещения игрока. Полезна в местах со сложной архитектурой.

Cluster Portal
Работает как ареапортал НО только для навигации ботов. Кластер портал используется bspc утилитой для разделения карты на маленькие места для рассчета навигации ботов.

Cushion
Падение игрока на такую текстуру не приносят ему повреждения. Звук падения не слышен.

Do Not Enter
Используется для исправления проблем с навигацией ботов. Если вы наблюдаете, неадекватное поведение ботов, в каком то месте на вашей карте – попытайтесь исправить это с помощью этой текстуры.

Hint
Помогает определять vis порталы. Используется как подсказка компилятору в течение vis фазы, когда разделяется мир (карты). В общем, они используются, чтобы исправлять vis проблемы, которые проявляются как "коридор зеркал" заметный в игре. Это может быть исправлено корректным размещением данной текстуры. Если вы заполняете объем, где есть подобная ошибка - проблема может исчезнуть при следующей компиляции.

Invisible
Текстура, которую вы увидите, только если будете стрелять в нее.

Nodrawnonsolid
То же самое что и nodraw.

Noimpact
Используется для создания поверхностей не блокирующих выстрелы из оружия.

Origin
Эта текстура нужна для двигающихся объектов, таких как b_models или дверей.

Slick
Текстура, снижающая трение на поверхности.

Trigger
Используется для создания триггер брашей.

Weapon Clip
Этот вариант текстуры «клип» блокирует только выстрелы из оружия. На поверхности следы не остаются. Используйте ее для отделки моделей, таких как misc_model.

Мануал составил hiperon.
Заголовок сообщения: Азбука картостроения
СообщениеДобавлено: 02 июл 2006 23:24
Делаем арки

Рисуем браш размерами с предпологаемую арку.

Затем идём в закладку Curve и там выбираем End cap...
Изображение
Жмём, получаем арку... В таком варианте её можно конечно использовать для создания многих объектов. Но чаще всего нам нужны арки других форм... Для этого жмём вот на эту кнопочку, выскочит вот такое окошко
Изображение
В нём жмём например Inverted Endcap, и получаем такую арку.... Чтоб более точно подогнать арку под нужный размер, селектируем её и нажимаем клавишу V - выделятся вершины арки, перемещая которые, придаём арке нужный размер и форму.
Изображение
Ещё совет от Privа:
Цитата:
Добавил бы очень важный момент ... как наложить правильно текстуру... Ну обычно боковые стенки арки это части стен (кирпич), а внутренняя поверхность (сама арка) - это например штукатурка... Дак вот фокус в том что заселектировав арку и многие другие фигуры из бизье мы можем получить доступ к отдельным частям фигуры .. Происходит это при нажатии клавиши TAB Т.е. селектируя отдельные поверхности придаем им нужную текстуру...
Заголовок сообщения: Азбука картостроения
СообщениеДобавлено: 02 июл 2006 23:41
Делаем цилиндры, трубы, провода

Всё как и в случае с арками... сначала - рисуем браш нужного размера, идём в закладку Curve и там выбираем Cylinder... Получаем то, что хотели...
Изображение
Если цилиндр нужен какой-то хитрой формы, то жмём не на Cylinder, а на More Cylinder и выбираем нужный вариант. Далее, заселектировав полученный цилиндр, нажав V и меняя проекции по осям, получаем возможность гнуть его и изменять форму. Чтоб вывернуть его текстурой внутрь, например для создания шахты канализации, достаточно нажать комбинацию Ctrl+i
Заголовок сообщения: Азбука картостроения
СообщениеДобавлено: 03 июл 2006 10:24
Создаём ландшафты
----
начнем. сначала вы естественно должны скачать easygen http://digilander.iol.it/ilbanca/files/EasyGen_v14.zip
тулу не нужно инсталировать, просто распакуйте куда вам удобно. запускайте прогу и сразу запускайте wisard настроек.
что настраивать:
Export folders
work mod: wolfensteinmain folder
bitmaps: wolfensteinmainmaps (но этот пункт не нужен, если вы не будете нуждаться в битовом массиве после создания карты. (just an example you don't have to take this one as you won't need the bitmap anymore after having created the map!)

Import folder
bitmaps: (могут быть везде где вам удобно, это просто место где EasyGen ищет ваши heightmap) (can be wherever you like. it's only the place easygen looks at to find your heightmap - i ll describe the expression later!)
(не знаю как это перевести с технической точки зрения. вам виднее :) )
остальные настройки оставьте по дефолту и жмите ОК.

теперь создайте heightmap. используйте любой графический редактор. изображение должно быть 8-bit grayscale и размером 33x33 пикселя. как например на картинке:
Изображение
какого хрена, спросите вы. неужели из такой маленькой пикчи можно сделать территорию? да, расслабтесь, это так.

возвратитесь в EasyGen, выберите file>import>heightmap
если у вас не установлен путь до ваших bitmap, то укажите путь до них вручную.
откроется небольшое окно, в правом углу увидете цифры. это высота карты. дефолтным значением стоит 256, что является гладким покрытием. изменив значение на 1024, вы можете изменять рельеф. должно получиться что-то типа этого:
Изображение
можете крутить ландшафт как вам удобно, зажимая левую и правую кнопки мышки.
теперь давайте поменяем ландшафт под ваши нужды. на сетке ландшафта нажмиет на modifier. функция scale отвечает за вытягивание по осям. удерживая shift + правую кнопку мышки, вытягивайте ландшафт вниз или вверх.
Изображение
теперь, коглда у вас готов ландшафт, приступим к его текстурированию. если у вас не распакованы текстуры, придется это сделать. текстуры ландшафта брать из wolfensteinmainpak0.pk3. добавлять menu terrain>add folder и указать директорию с текстурами. текстуры должны отображаться в левом углу окна.
что бы создать свою alphamap текстуру, кликните на одном из черных полей. запустится визард, для установки цвета, задайте зеленый. затем из директории текстур выберите что нить погрязнее :) сделайте то-же самое для двух других текстур. я выбрал ГРЯЗЬ и СКАЛА.
Изображение
теперь вы имеете 3 текстуры для закрашивания ландшафта. выберите текстуру которая вам нарвится, кликая по цветам которые вы им задали, зажмите Ctrl, shift и левую кнопку мышки и закрасьте текстурой ваш ландшафт. примерно так это выглядит:
Изображение
почти все готово, надо лишь экспортировать вашу карту в Radiant. кликните на exp map в меню. в окне введите значения как на скриншоте:
Изображение
(это на техническом языке. сами переводите :) )
You can't see that here so i' ll tell you: the alphamap has to be in the main-folder, and the metashader in the scripts folder. I am not sure if they all have to have the same names as the map but to be sure do that. When you entered everything click on continue. You will be asked for the map name, take 'terrain_tut' and save it in your maps- folder.

теперь откройте это в Radiant.
Изображение

Мануал составил Хеш

Совет от Priva:

Цитата:
Хотелось бы добавить... Размер битмапа (33х33) не от балды Он должен соответствовать разметке территории причем к размеру каартинки прибавляется по 1 пикслю т.е если территория делится на сетку 32х32 квадрата, то картинка 33х33 пикселя... Либо надо использовать кратность..
Заголовок сообщения: Азбука картостроения
СообщениеДобавлено: 03 июл 2006 10:42
Делаем двери
1. Рисуем браш по размерам двери.
2. Натягиваем "дверную" текстуру (нужно внимательно просмотреть, чтоб везде текстура легла корректно)
3. Далее рисуем браш высотой в нашу дверь и толщиной не шире толщины двери. Даём ему текстуру origin. Текстура origin находится в папке common.
4. Этот origin-браш вставляем в дверь и именно в то место, где должна быть ось вокруг которой дверь и должна открываться (как правило ближе к какому-нибудь краю, особое внимание при этом обратить на расположение текстуры двери - на некоторых из них нарисованы петли или ручки).
5. Далее селектируем оба браша и даём им функцию door_rotating
6. Вставляем готовую дверь в подготовленный проём.
7. Дверь надо использовать в обрамлении дверной коробки, чтоб выглядело всё красиво.
8. Чтоб дверь функционировала с сответствующим ей звуком, нужно в её свойствах (вызываются клавишей N) указать её тип (метал, дерево):
type 1 - металл
type 4 - дерево и т.д.

Но это ещё не всё. Есть еще один очень важный "дверной" секрет:
чтоб немцы не залипали за дверью и чтоб дверь не прижимала плеера - необходимо нарисовать с одной и другой стороны двери два браша, шириной примерно с ОТКРЫТУЮ дверь, натянуть на них текстуру trigger (обитает тоже
в common) и дать этим брашам функцию ai-door.
Далее, необходимо поставить 2 ai-markerа возле этих триггер-брашей и привязать по очереди с помощью комбинации клавиш Ctrl+K: ai-marker - trigger. Затем, сняв выделение и заселектировав заново привязываем
trigger - дверь. Потом повторяем эту операцию с объектами по другую сторону двери...
В этом случае, при приближении немцев - дверь будет открываться и они не будут залипать...
Заголовок сообщения: Азбука картостроения
СообщениеДобавлено: 03 июл 2006 10:50
Цилиндры

Для создания брашей с цилиндрической формы необходимо создать обыкновенный браш. А затем сделать следуещее преобразование Curve-Cylinder. Тут же ваш браш превратиться в цилиндр, основание которого будет точно вписываться в основание браша - основы. Для получения цилиндра с идельно круглым оснаванием, нужно просто создавать его из браша с квадратным основанием.
В любом случае вы получите цилиндр без поперечных образующих. То есть такой простой цилиндр нельзя преобразовывать, перемещая образуещие его вершины. ( мнимые вершины если быть точнее ).

При необходимости в дальнейшем искажать внешний вид вашего цилиндра, воспользуйтесь следующим меню: Curve-More Cylinders-Dense Cylinder (цилиндр с одной образующей поперечной окружностью, делящей его пополам.
Curve More Cylinders- Very Dense Cylinder( цилиндр с тремя образующими поперечными окружностьями, делящими его на четыре равные части).
Пукт Curve-More Cylinders- Squre Cylinder Преобразует ваш ЛЮБОЙ браш в параллелепипед по габаритным размерам.
_________________
Одно неловкое движение, и ты отец.
Заголовок сообщения: Азбука картостроения
СообщениеДобавлено: 06 июл 2007 22:46
Создаем лестницы (спиральные)

1. Создайте 4 браша и сделайте их как крест. Как показано на рисунке.
Изображение

2. Выделим все 4 браша и нажмем пробел при копировании они должны были сместиться.
3. Теперь активируй инструмент Free Rotation (клавиша R) и поверни браши как показано на рисунке
ниже;
Изображение

4. Нужно это делать пока у вас не получиться круг как показано на рисунке ниже.
Изображение

5. Далее выделим один из брашей и спустим его вниз, затем следующий и так по порядку пока у вам не получиться как на рисунке.
Изображение
Заголовок сообщения: Азбука картостроения
СообщениеДобавлено: 06 июл 2007 22:55
Спасибо Андрюха, хорошие мануальчики сделал! Изображение
От себя добавлю в отношении винтовой лестницы, да и не только.... Я инструментом Free Rotation не пользуюсь вообще. Работает он крайне не корректно, браши искажаются, частенько образуются браши не правильной формы при пользовании этим инструментом. Как следствие - на большой карте возникают баги, и найти их потом, когда вся карта постороена подобным образом - крайне сложно. Поэтому лучше ручками порезать брашики и всё сделать ровно и красиво с самого начала. Да, это займёт немного больше времени. Но это не сравнимо с тем, сколько времени потом прийдётся убить на поиски кривых брашей и их исправление.
Заголовок сообщения: Азбука картостроения
СообщениеДобавлено: 06 июл 2007 23:36
Цитата:
От себя добавлю в отношении винтовой лестницы, да и не только.... Я инструментом Free Rotation не пользуюсь вообще. Работает он крайне не корректно, браши искажаются, частенько образуются браши не правильной формы при пользовании этим инструментом. Как следствие - на большой карте возникают баги, и найти их потом, когда вся карта постороена подобным образом - крайне сложно. Поэтому лучше ручками порезать брашики и всё сделать ровно и красиво с самого начала. Да, это займёт немного больше времени. Но это не сравнимо с тем, сколько времени потом прийдётся убить на поиски кривых брашей и их исправление.

Вообщем я исправлял методом Subtract и получалось все гладко и красиво.
Заголовок сообщения: Re: [Мануалы] Архитектура и построение уровней
СообщениеДобавлено: 26 дек 2008 14:48
Еще пару слов по ландшафтам, а точнее об альфа-карте.

Если формат альфа-карты pcx или bmp, то да, размер картинки должен быть по ширине и высоте больше на 1 пиксель, чем число квадратов на карте в редакторе, т.е. если террейн размером 52х52 квадрата, то альфа-карта 53х53 пикселя.

Эту проблему можно избежать, если составлять альфа-карты в формате tga. :)
_________________
Вот уже много лет российский народ качает права. Пока удалось скачать около 20%. (с)
Заголовок сообщения: Re: [Мануалы] Архитектура и построение уровней
СообщениеДобавлено: 12 июн 2010 18:36
Сегодня нашел забугорные туторы по hint брашам.

Начнем:

Давайте начнем с простой карты. Это будет много квадратных комнат с различными способами соединения, наряду с различными способами использовать hint-браши, чтобы управлять потенциально видимым набором (PVS).

В этом скрине есть две комнаты со сформированной прихожей в виде буквы L.
Заметьте, что угол зала должен блокировать видимость между этими двумя комнатами. Также заметьте, что, когда я создавал эту простую карту, у меня был показ блоков включен, помните, что Q3map сокращает карту, запускающуюся с блоков. У синих линий блоков будут порталы там на поверхности листовых узлов, которые они создают.
Изображение

С хорошим планированием Вы можете управлять листовыми узлами. Поскольку комнаты создаются в блоках будет только один листовой узел для каждой структурной браши. Таким образом комнаты не будут нарисованы в игре из других комнат. В этом случае, комнаты - только три сложенных листовых узла (есть три браша, составляющие стены) и портал (от того листового узла), дверные проемы из обеих комнат не могут видеть друг друга, потому что они блокируются углом зала.
Изображение

В скрине ниже (использование команды r_showtris 1) движок из-за этого не рисует другую комнату.
Изображение

Тот же самый дверной проем, используя команду \r_lockpvs 1, которая была введена в консоль от того же самого места как рис., что я принял с \r_showtris 1 управление.
Изображение

Заметьте, что с командой \r_lockpvs 1 все узлы листа, которые не могут быть замечены, не рисуются и будут похожи на пустоту.
Эта команда может быть очень полезной в выяснении, что Ваш PVS для любого места Вашей карты.

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

И в этомскрине можно видеть, что обе комнаты рисуются, когда Вы стоите в этом месте в прихожей.

Давайте загрузим карту. Я сделал полную компиляцию, чтобы сохранить .prt опцией на vis стадии.
Этим путем я мог загрузить портального вьювера (находится в пункте плагинов). Тогда загрузите портальный вьювер в тоехмерном виде.
Без hint-брашей это - то, как эта прихожая выглядела.
Изображение

Заметьте портал в середине зала. Это объясняет, почему та комната была нарисована из зала. Поскольку та дверь могла видеть двери от двери и комнаты, это нарисовало все браши в тех узлах листа - в этом случае, комната, которую мы не должны видеть.

Так, что сделать? Я знаю, давайте добавим пару hint-брашей, чтобы управлять дверями на новых узлах листа, таким образом, мы не можем видеть те другие узлы листа. Примечание: Вы делаете hint-браши из текстуры common/hint.
Как это:
Изображение

Поскольку двери, которые создаются угловым лицом hint-брашем, не могут видеть друг друга, узлы листа, которые создают hint-браши, не могут видеть друг друга. И теперь дверные проемы не будут нарисованы, когда Вы будете стоять в одном из тех узлов листа. Как это.
Изображение

И дверные проемы не будут рисоваться, когда Вы смотрите прихожую также. Круто?
Изображение

Есть также другие способы получить тот же самый результат. Вы могли поместить hint-браш как здесь. (заметьте, в этом примере не имеет значения, какой путем это делается как число узлов листа, и двери будут тем же самым).
Изображение

Это - то, как hint-браши с обоих примеров производят двери. Вот скриншот портального вьювера.
Изображение

Заметьте, что оригинальная дверь все еще там. Все, что мы сделали, добавляется две новых портальных поверхности, которые не могут видеть друг друга (угловые).

Теперь есть другой способ сделать это, но этот сделал бы еще один портал в зале, который не нужен.
В этом плохом примере hint-браши делают дополнительный портал, Вы знали?
Изображение

Хорошо я покажу дополнительный портал.
Изображение

Заметка, хинты в картах id в качестве примера мне не имеют смысла.

Bill Brooks © 1999
Контактный адрес: [url]bbrooksiii@gmail.com[/url]
_________________
Официальный сайт Project-X

Заголовок сообщения: Re: [Мануалы] Архитектура и построение уровней
СообщениеДобавлено: 03 мар 2011 16:10
Привет всем. Кто знает как зделать пещеру из ландшафта?
Заголовок сообщения: Re: Азбука картостроения
СообщениеДобавлено: 02 окт 2011 16:06
Krot писал(а):
Делаем двери
1. Рисуем браш по размерам двери.
2. Натягиваем "дверную" текстуру (нужно внимательно просмотреть, чтоб везде текстура легла корректно)
3. Далее рисуем браш высотой в нашу дверь и толщиной не шире толщины двери. Даём ему текстуру origin. Текстура origin находится в папке common.
4. Этот origin-браш вставляем в дверь и именно в то место, где должна быть ось вокруг которой дверь и должна открываться (как правило ближе к какому-нибудь краю, особое внимание при этом обратить на расположение текстуры двери - на некоторых из них нарисованы петли или ручки).
5. Далее селектируем оба браша и даём им функцию door_rotating
6. Вставляем готовую дверь в подготовленный проём.
7. Дверь надо использовать в обрамлении дверной коробки, чтоб выглядело всё красиво.
8. Чтоб дверь функционировала с сответствующим ей звуком, нужно в её свойствах (вызываются клавишей N) указать её тип (метал, дерево):
type 1 - металл
type 4 - дерево и т.д.

Но это ещё не всё. Есть еще один очень важный "дверной" секрет:
чтоб немцы не залипали за дверью и чтоб дверь не прижимала плеера - необходимо нарисовать с одной и другой стороны двери два браша, шириной примерно с ОТКРЫТУЮ дверь, натянуть на них текстуру trigger (обитает тоже
в common) и дать этим брашам функцию ai-door.
Далее, необходимо поставить 2 ai-markerа возле этих триггер-брашей и привязать по очереди с помощью комбинации клавиш Ctrl+K: ai-marker - trigger. Затем, сняв выделение и заселектировав заново привязываем
trigger - дверь. Потом повторяем эту операцию с объектами по другую сторону двери...
В этом случае, при приближении немцев - дверь будет открываться и они не будут залипать...


С дверью проблема, походу я не врубился, сначало ставлю браш с текстурой двери, после нажемаю Brush Cleanup, а после, с краю двери на нее в одну линию натягиваю браш Common -> Origin! Вопрос - В какой из этих брашей ставить func door rotating, что б дверь нормально открывалась???
_________________
Воздух, я Земля.
Как слышно?
Заголовок сообщения: Re: Азбука картостроения
СообщениеДобавлено: 02 окт 2011 16:17
Блазкович писал(а):
С дверью проблема, походу я не врубился, сначало ставлю браш с текстурой двери, после нажемаю Brush Cleanup, а после, с краю двери на нее в одну линию натягиваю браш Common -> Origin! Вопрос - В какой из этих брашей ставить func door rotating, что б дверь нормально открывалась???

Krot писал(а):
5. Далее селектируем оба браша и даём им функцию door_rotating
_________________
Официальный сайт Project-X

Показать сообщения за:  Поле сортировки  
Страница 1 из 3
[ Сообщений: 40 ]

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Кто сегодня был на конференции за последние 24 часа

Пользователи смотревшие этот форум за последние 24 часа: нет зарегистрированных пользователей и 20 гостей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения
Перейти:  
cron

Работает на phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB