Форум » ПРОГРАММЫ И УТИЛИТЫ ПЕРВОЙ НЕОБХОДИМОСТИ » Segment Editor (Создание стен, полов, потолков, дверей и окон) » Ответить

Segment Editor (Создание стен, полов, потолков, дверей и окон)

TesarracT: Segment Editor Программа FPS Creator полностью оправдывает своё название – игровой конструктор, и, если вы думаете создавать в нём, например, свою длинную стену из кусочков своих же маленьких моделей-стен, то это будет непросто. Главный «косяк» вылезет сразу же – «рябь» на стыках стен. Кроме того, очень долго и нудно вертеть предметы в самом конструкторе, с целью подогнать их друг к другу ровно. Для этого-то разработчиками и придуман Segment Editor – редактор «деталек» для конструктора! Всё логично – свой уровень в конструкторе собираем из деталей! Скачать Полный Официальный Segment Editor + обучающее видео Скачать вариант без видеоуроков ----------------------------- Не зря в конструкторе есть элементы T-junc, Corner, Straight и Dead end! Словом, если мы хотим смешать 2 сегмента - внешняя стена первого при соприкосновении начинает отсутствовать. Поэтому, если возле сегмента подразумевается "открытое пространство" (а НЕ ДРУГАЯ КОМНАТА), эти пространства и делаются вышеназванными сегментами (T-junc, Corner, Straight и Dead end). Сейчас покажу на примере скринов. Скрин01 [more][/more] Обратим внимание, что внешняя стена сегмента комнаты начинает отсутствовать, при соприкосновении с внешним сегментом. Скрин02 - а вот что мы имеем, когда соседние сегменты переделаны в Corner, Straight и T-Junc соответственно: [more][/more] Да, и - самое главное - ПОЛ у всех элементов типа (T-junc, Corner, Straight и Dead end) должен иметь свойство NO-CSG Расшифровка элементов: Dead end - тупик Сorner - угол Straight - протяжка с 2мя "стенками" по бокам. T-Junc - протяжка с 1й "стенкой" сбоку. Важно! Кнопкой "С" регулируется просчёт столконовений mesh'ев (коллизии) !! (наконец-то я скачал видеоуроки по segment editor'у с официального сайта и познал это!) P - столкновения по полигонам В - box столкновения (куб вокруг модели) R - редуцированные (упрощённые) полигональные столкновения NC - cтолкновения не просчитываются (no collision) по умолчанию коллизии mesh'ев выставляются P - по полигонам, поэтому, целесообразно выставлять простым моделям B-коллизии, чтобы уменьшить тормоза (проверил на практике!) ---------------------------------------------------------------------------------------

Ответов - 34

scorpion_alfa: [url=]скриншот.[/url] Итак сначала создаём все 3 модели:лудку,дверь с анимацией и шаблон создающий дыру(работает по пинципу Boolean в 3д максе).Модели ложим в папку Мeshbank\user,а текстуры в Тexturebank\user.(формат DDS и обязательно дописывать "_D2",например: Doska_D2.DDS). Теперь открываем сегмент едитор и жмём Мesh,ищем в папке user нашу Лудку и ставим её посередине как на рисунке,теперь жмём Change texture и выбираем для неё текстуру.Для того чтобы наш шаблон потом не отрезал лудку,мы выделяем её и нажимаем "i",напротив лудки появится надпись (no CSG),значит всё сделано правильно. Затем жмём CSG и выбираем модель,которая будет шаблоном и назначаем ей Punch,ставим её там где для двери по вашему должна быть дыра. Теперь пришло время для двери,жмём Add Entity и выбираем там файл my door.fpe. Взять эти файлы нужно из скачанного вами файла с сегмент едитором по ссылке: Creator\FPSCreator_SegmentKit\FPSCREATOR-SEGEDKIT\Files\entitybank\user\scenery\doors\ . Чтобы энтити увидел именно вашу модель,откройте файл .FPE любым текстовым редактором и укажите здесь путь к своей модели: model = meshbank\user\scenery\doors\mydoor\door.x Чтобы анимация прошла быстро,при экспорте из макса нужно указать точное колличество кадров анимации и выставить Key Frames и Position,Scale & Rotate. В самом низу есть С и О,перед сохранением нужно нажать О чтобы появилось OVDIR. Поставив всё на свои места,жмём сохранить и обязательно дописываем .FPS,например Doska.fps. Чтобы увидеть в сегмент едиторе как будет работать она в реальном времени нужно нажать"Tab".

TesarracT: Сегменты имеют крутую фишку, которая называется multimesh Суть заключается в том, что на стены, пол, потолок можно накладывать разные текстуры (и даже создавать таким же образом разные модели (например, разбитые разные стены) ! (чтобы не было однообразия). Для того, чтобы использовать различные текстуры для одной и той же стены (пола, потолка), нам нужно выставить mesh'у свойство multimesh нажатием кнопки "М" После этого мы сохраняем различные текстуры одной и той же стены (пола, потолка) в какой-либо папке (называем текстуры, например mywall_01_d2, mywall_02_d2 и.т.д.). После этого назначаем mesh'у первую текстуру (которая _01), остальные текстуры из папки программа найдёт сама. ------------------------------->>> В результате получаем разные текстуры на одном сегменте (присмотритесь к скрину. Это один сегмент, но текстуры стен разные)

TesarracT: Пытаюсь сделать окна, правда пока без стекла. Кто-нибудь может объяснить, чем отличается зелёный weld от красного punch? (punch делает "дыры" в стенах) И ещё. Кто может примерно сказать, какой уровень прозрачности должен стоять на стекле? 90% или меньше?


ZbVld: Я пробовал 50% - для чистых окон супер.

TesarracT: Измучался с этими окнами... тёмные получаются и всё, хоть тресни... Или туплю уже, а озарение не приходит Всё, разобрался. Я тупил просто, перепутал, что чёрный цвет-то прозрачный!!! А я настойчиво белый втюхивал и матерился, почему стекло тёмное )) Думал - белый = светлый )) Всё типа правильно Чёрный цвет - прозрачность. Белый цвет - непрозрачность.

TesarracT: Важно! Кнопкой "С" регулируется просчёт столконовений mesh'ев (коллизии) !! (наконец-то я скачал видеоуроки по segment editor'у с официального сайта и познал это!) P - столкновения по полигонам В - box столкновения (куб вокруг модели) R - редуцированные (упрощённые) полигональные столкновения NC - cтолкновения не просчитываются (no collision) Не знаю как вам, а мне пришлось переписать все сегменты с полным пересохранением, т.к. по умолчанию коллизии mesh'ев выставляются P - по полигонам. Протестировал уровень свой заново - результат налицо - прекратились тормоза при добавлении врагов!! Пост отдублирован в шапке темы, как особо важный. Со старыми сегментами fps падал до 18-и!

Rocotos: Всё нормально у меня теперь.У текстур в названии _d2 должно быть.

TesarracT: Короче изломал все мозги, а создал только одно окно. Вот какой я сделал вывод: Лучше (и проще, но, правда, не совсем удобно) - делать сегмент окна без стекла. А стёкла подгонять потом (удаляется стена, подгоняется стекло к оконной раме, ставится стена). Это уж лучше, чем полдня наблюдать глюки с пропаданиями/появлениями стёкол. + можно ставить в раму разные разбивающиеся стёкла

ZbVld: Для дверной рамы нужно толи ovdir толи ovfull(ии как там, не помню уже) назначить.

TesarracT: ZbVld Нифига, всё, я разобрался, надо по-ходу полу присваивать NOCSG !

TesarracT: Илья Лестницу проще сделать - энтити. Чтобы не резался пол, попробуй выставить лестнице OVFULL

Илья: Спасибо, работает) Кстати, пробовал я энтити- персонажи по ней ходить отказались и все как один стали проходить сквозь неё (наверное нужно другой тип столкновения присвоить)

TesarracT: Левша пишет: В том то и дело выставляю... а он что с боксовыми, что с полигональными ведет себя одинаково. Странно, странно.. хотя, я склонен поверить, т.к. сам это не пробовал. Левша пишет: А ты попробуй сгладь и увидишь (повторюсь), на каждой ступени перс будет зависать над поверхностью.=== Его анимация. Левша пишет: А теперь обьясни где тут полигональные коллизии? При полигональных коллизиях гг. лазиет по сегментам (в теории) и энтитям (на практике!). При боксовых - застревает в них (сам шаришь по какой причине...)

Левша: TesarracT пишет: === Его анимация. Нет анимация не при чем, камера ГГ ведет себя аналогично. Переходит ступенчато. Я из за этого от сегментов отказался в своем проекте, усложнив себе работу. Провозился неделю и все без толку. TesarracT пишет: При полигональных коллизиях гг. лазиет по сегментам Да нет скорее при боксовых, ты смотрел как сегмент лестница сделана? там 9! мешей! Многомешевый сегмент не имеет своей коллизии, там коллизии по каждой меши работают свои. И они все же боксовые, уж не спорьте, все перепробовал. TesarracT пишет: и энтитям (на практике! С ентитями все пучком, что назначишь, то и есть.

warr11r: Но ведь есть наклонные сегменты от romhub. И ГГ по ним ходит нормально, и персы. Они что, из множества мелких ступенек мешами состоят?

TesarracT: warr11r Я вот и пытаюсь доказать, что на них спец. коллизии просто включены.

warr11r: Вот fps наклонного меша: ;Segment Spec ;Created by: Maurehago ;fps.romhub.at ;Header partmax = 0 lastmeshmax = 0 ;Segment Parts partmode0 = 0 meshname0 = segments\romhub\rampe\rampe01.x offx0 = 0 offy0 = -47.5 offz0 = 0 rotx0 = 0 roty0 = 0 rotz0 = 0 texture0 = segments\romhub\rampe\grass01.dds transparency0 = 0 effect0 = colmode0 = 0 csgmesh0 = csgmode0 = 0 csgimmune0 = 0 lightmode0 = 0 multimeshmode0 = 0 materialindex0 = 0 ;Segment Visibility visoverlay = 0 visfloor = 0 visroof = -1 viswallb = -1 viswallr = -1 viswallf = -1 viswalll = -1 viscornertl = -1 viscornertr = -1 viscornerbr = -1 viscornerbl = -1 ;Segment Blueprint mode = 1 symbol = 0 floorsizey = 1 sidesizex = 100 sidesizey = 1 sidesizez = 100 groundmode = 0 kindof = 0 ;end А в обычных все так же, но colmode0 = 1 и csgimmune0 = 1. Первый - это боксовая колизия, а второй параметр что означает? И еще в обычных groundmode = 2.

TesarracT: Левша Блин, в шапке же написано... TesarracT пишет: Важно! Кнопкой "С" регулируется просчёт столконовений mesh'ев (коллизии) !! (наконец-то я скачал видеоуроки по segment editor'у с официального сайта и познал это!) P - столкновения по полигонам В - box столкновения (куб вокруг модели) R - редуцированные (упрощённые) полигональные столкновения NC - cтолкновения не просчитываются (no collision) по умолчанию коллизии mesh'ев выставляются P - по полигонам, поэтому, целесообразно выставлять простым моделям B-коллизии, чтобы уменьшить тормоза (проверил на практике!) т.о., как писал выше Вова - там сollisionmode=1 = P - полигональные коллизии врублены по умолчанию. Сколь уж можно тереть про это - это уже даааавно бородой поросший пройденный этап год назад.

warr11r: Да, персы тоже без проблем по нему путешествуют, правда, после смерти проваливаются наполовину в землю.

TesarracT: Никита Мне кажется, что просто для углов стандартный PUNCH просто мелковат (коротковат). Не пробовал сделать свой?

Никита: Нет, панч как раз. Вот скрины этого чуда: Панч - это вроде как некая зеленая фиговина? На первом скрине видно, что она полностью прорезает угол, а на втором дырки нет.

Никита: В раме? Это в ёё FPE? Нет. Но дело в том, что обычные комнатные сгменты дырявит, а угол нет. Завтра посмотрю раму, а щас уже спать иду может вещий сон приснится +)

TesarracT: Никита Раме ОБЯЗАТЕЛЬНО нужно присваивать NOCSG. Ты видишь, у тебя стены дырявит, а раму нет.

Никита: Что-то я не очень-то пойму... Хорошо, пока ничего лишнего спрашивать не буду поставлю раме (это такая металлическая штучка, да?) параметр NOCSG

Никита: Почитал урок. Поразмыслил о NO CSG. Как я понял это просчет коллизии, да? Если это тот параметр, то в текстовом файле FPS это строчка будет выглядеть так: colmode0 = 0 ? Там ноль как стоял так и стоит. Заметил еще вот такую писанину: csgimmune0 = 0 изначально стояло значение 1. Пойду потестирую. Позже: Не помогло. Вывод: углы не дырявятся зелёной фигнюшкой.

anti0: Создал свой сегмент с помощью сабжа.Свои текстуры поставил.В программе они отображаются нормально.В самом конструкторе всё белым бело. Что не так сделал?

anti0: TesarracT пишет: anti0 Расширение _D2 добавлял? Имена оставил точно такие же как в примере. Там _D2 было. Так , стоп.А шейдеры обязательно прикручивать?

TesarracT: anti0 пишет: Так , стоп.А шейдеры обязательно прикручивать? А от них там вроде все стены чёрные. Не знаю, я их не юзаю.

anti0: Проблема решена ) Косяк в очередной раз мой ) Забыл все папки скопировать из Segment Editor.Товарищи не забывайте этого делать

dm_ash: Прошу прощения, но мне не до конца понятно вот что: возможно ли наклонять сегмент. Просто вижу три оси x, y, z. Первые две меняются а 3-я остается неизменной :) Качал версию без уроков)

TesarracT: dm_ash Можно крутить на 45 градусов. Но, если надо наклонить, лучше сделать сразу наклоненную(ый) mesh

dm_ash: TesarracT через скрипт здесь выложенный?

stuff: ДА легко!

Денис: TesarracT пишет: Расшифровка элементов: Dead end - тупик Сorner - угол Straight - протяжка с 2мя "стенками" по бокам. T-Junc - протяжка с 1й "стенкой" сбоку. Большое спасибо за это пояснение! Очень пригодилось!



полная версия страницы