Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Способ создания локаций большого размера
GAMEINATOR forums > S.T.A.L.K.E.R. > Мастерская: создание модов для S.T.A.L.K.E.R.
Страницы: 1, 2, 3, 4, 5, 6, 7
de_fact
Kostya V
Всё таки лучше выражаться более правильно - это займёт меньше места в тексте и, следовательно, будет более понятно обывателю.
Способы создания больших локаций в других движках давно известны - отсечение геометрии не попадающей в поле зрения игрока и использование LODов для геометрии. Ещё очень важный фактор - наличие компиляторов сделанных для этих самых больших локаций(не будем вдаваться в технические подробности). Из 3х перечисленных условий - 2 в x-ray не очень подходят по критериям:
- по LODам я уже задавал вопрос какое количество поддерживает движёк и работает ли с ними вообще, а в ответ - тишина;
- помню только компилятор к первому СДК, что попал в комьюнити - размер карты лимитировался конфигурацией системы и говорить о какой либо оптимизации не приходилось.

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

abramcumner
Я привожу примеры своих познаний в любом сообщении, если требуется, воспользуйся поиском и убедись. Да и глупо как то не можешь сделать так, сделай лучше или молчи.
abramcumner
de_fact, обсуждалось совсем же не это.
K.D. написал программу для объединения скомпилированных лок в одну большую. как показала практика почти все ТЧшные локи можно объединить в одну и движок сталкера это переваривает.
Надо подогнать локации из ТЧ, чтобы они состыковались между собой, что Костя и описывал.
Причем здесь ЛОДы, условия, другие движки и прочее вообще не ясно.


Цитата(de_fact @ 27.04.2013, 20:04) *
abramcumner
Я привожу примеры своих познаний в любом сообщении, если требуется, воспользуйся поиском и убедись. Да и глупо как то не можешь сделать так, сделай лучше или молчи.

А бревнышко то вот оно:
Цитата
Kostya V
AMK, такой АМК, ничего не изменилось. Описать толково процесс не хватает ни терминологии, ни опыта.

Ни познаниями, ни как показала практика вникания в тему разговора и не пахнет.
de_fact
abramcumner
Меня совсем не то возмутило. Давай по-порядку:
Цитата
Каждая локация имеет свои координаты в пространстве

1. не локация, а геометрический объект, будь он статическим или динамическим - не важно.
2. не координаты в пространстве, а относительно 0 глобальной системы координат, что передаются с 3д редактора в движок
Цитата
Переносим террейн Кордона в Майю, он встает на свое место, потом в эту же сцену переносим террейн Свалки. Теперь нужно соединить эти террейны вместе. Но что мы видим? Оба террейна находятся в одном и том же месте, т.е. накладываются друг на друга.

Это как раз всё по пункту 2: у каждой локации свой 0 относительно которого располагаются координаты объектов уровня. И естественно если сопоставить условия: поместить обе локации в один ноль - будет налаживание.
Цитата
Для того, чтобы соединить эти террейны необходимо разнести их в пространстве друг от друга. Делаем это. Потом соединяем, путем добавления новых полигонов.

По первому согласен, по второму - нет, можно просто подогнать вершины, а потяжки исправить. При экспорте смещённый терейн уже будет находится относительно абсолютного нуля того, что не правился.
Цитата
Террейны поменяли свои координаты, а объекты, расположенные на этих террейнах до этого, остались на своих местах.

Опять таки пункт 2, кстати можно бы и воспользоваться координатами перемещения терейна - можно подставить для других глобальных объектов: группы зданий и строений, а мелкие пропсы можно и заново разбросать и деревья с травой рассадить.
MrObs
de_fact, всё конечно хорошо. Но на кой было таким макаром:
Цитата(de_fact @ 27.04.2013, 19:34) *
Kostya V
AMK, такой АМК, ничего не изменилось. Описать толково процесс не хватает ни терминологии, ни опыта.
Если есть уточнение, пояснение, его и нужно приводить. А не уличать кого либо в чём-то.
hi_flyer
Kostya V,
Как-то сложно. Вот моя мысль: соединяем все локации в одну, причём так, что-бы расстояние между ними было порядка 50 метров, загружаем террейны всех локаций в 3дмакс (с таким же расстояниями между ними как уже соединено в карте), рисуем соединительный террейн для этих локаций, выпиливаем террейны. Всё, собсно, добавляем получившийся соединительный террейн к основной карте.
abramcumner
Вопрос: при соединении свалки и кордона разве не надо отрезать кусок локации? Вроде ворота на свалке это ворота на кордоне или нет?

de_fact,
что мешало сразу это написать.
А придираться к терминологии можно бесконечно: не "налаживание", а "наложение" smile.gif
Скиф
Цитата(abramcumner @ 27.04.2013, 20:55) *
А придираться к терминологии можно бесконечно: не "налаживание", а "наложение" smile.gif

Еще можно сказать "накладывание".
abramcumner
Цитата(Скиф @ 27.04.2013, 20:58) *
Еще можно сказать "накладывание".

у локаций именно наложение, в смысле совмещение, а не накладывание, в смысле наваливание.
Так что нельзя smile.gif
de_fact
MrObs и abramcumner
Это личное к АМК, но пожалуй не имеет к Kostya V отношение, сыграла политика уровняловки.
кузенька
Расскажу Вам как оно есть на самом деле (соединение террейнов, без учета проги КД), без всяких фантазий.
1. Импортируем в 3д редактор все террейны.
2. Раставляем их относительно друг друга (оставляя один (например Кордон) на своем месте)
2.1. Я оставляю на каждом террейне 1 объект для подальшей координации.
3. Соединяем все локации.
4. Рисуем новую текстуру террейна (маска, детейлы).
5. Импорт в СДК.
6. Теперь начинаеться самое интересное: загружаем Кордон, удаляем террейн и импортируем мега-террейн.
Имеем отличный кордон с остальной "лысой" ЗО. Сохраняем. Открываем постепенно все локации и копируем все обжекты с локаций (без террейна) и переносим их на мега-террейн (учитывая - тот объект, который оставили для координации на каждой локации).
7. Послое нескольки часов/дней/недель таких танцев с бубном имеем мега террейн со всеми объектами.
8. Шаманим со всеми настройками, создаем траву. Создаем с ноля АИ-сетку, которая будет с оригинала только на Кордоне.
9. Начинаеться пляска с бубном вокруг деревьев. Ибо будет вылет с ошибкой ЛОДов. Все деревья типа гарбедж/янтарь/дарк-скейп/прочее_трис_сух_10 надо поменять на всех локах (скопом - в СДК есть такая возможность) на деревья визуально одинаковые, но называемые по типу ескейп_трис_сух_34.
10. После этих махинаций и сохранения режем террейн на нужные куски в 3д редакторе и частями импортируем в СДК убирая лишние обжекты для каждого "куска" отдельно.
11. Включаем шаман-машину от КД.

Возможно кое-какие ньюансы пропустил. Писал по памяти.
Скиф
abramcumner, как раз в смысле "наложить на все это дело" сказать и употребить можно.))
K.D.
Все пишут какие-то странные вещи. Нафига на общем террейне перерасставлять объекты? Ведь программа именно для того сделана, чтобы две _уже скомпилированные_ локации можно было соединить. Необходимо сделать общий террейн - да. И тут же его разрезать на части, после чего подставить эти части вместо родных террейнов локаций. Все. Потом нужно компилировать как обычно, после компиляции запускать мою прожку. Единственный нюанс - если нужна связная аи-сетка, надо следить, чтобы она проходила впритык к границе "склейки".
hi_flyer
кузенька,
SDK не потянет много объектов на одной карте.
кузенька
т.е. создаем общий террейн, потом разрезаем приблезительно по старым "линиям", раставляем на законные места подменяям каждую отдельно в сдк, компилим и включаем шаман машину?
а как происходит процесс изменения координат локаций? и подгонка их друг к другу?

hi_flyer, все локации не пробовал но до 4х тянула, скрывал и тянула.
Если не идет процесс после нажатия build - применяем след.финт ушами - отворачиваемся от локации в пустоту - сохраняемся. Перезапускаем СДК, не поворачиваемся - жмемм build.

Но так как Константин пояснил все по другому, то данное шаманство - не нужно.
K.D.
Цитата(кузенька @ 27.04.2013, 21:33) *
а как происходит процесс изменения координат локаций?

Тут варианта два. Если все делается с нуля - в 3d редакторе можно сразу сдвинуть объекты так, как надо. Если изменяется существующее - на этот случай у прожки есть настройка "сдвига" координат. Это ключи -x, -y, -z. Конечно, подбор нужных значений будет итеративный, но тут деваться некуда.
кузенька
т.е. выше приведенный мною вариант таки имеет право на жизнь, как более точный?
K.D.
кузенька, да можно и так, конечно. Только надо все же работать с каждым куском как с отдельной локацией. Тогда не придется шаманить с лодами и удалением объектов. Программа просто создаст несколько лод-текстур и поправит ссылки на них в level.details. Да, еще нюанс - общее число моделей травы не должно превышать 63 на всех соединяемых локациях. Увы, тут уж все в движке зашито.
krovosnork
Цитата
Если изменяется существующее - на этот случай у прожки есть настройка "сдвига" координат. Это ключи -x, -y, -z. Конечно, подбор нужных значений будет итеративный, но тут деваться некуда.

А подогнать нужный террейн в сдк и поставить его координаты не выйдет?
K.D.
krovosnork, объекты-то тоже нужно сдвигать.
Р.М.А.
А я, когда год назад объединял старый кордон со старой свалкой без дополнительных программ, делал так: загружал свалку, выделял всё на ней, группировал, сохранял выделенное (Save Selection As), загружал кордон, загружал выделенное (Open Selection), перемещал группированную свалку, как надо, снимал группировку. После этого объединял два рельефа в редакторе. Но так перемещаются не все объекты - ии-карту, сетора, порталы и тп заново приходилось делать.
кузенька
Аналогично объединял новый кордон с новой свалкой, только без сейв/оупен селектион и группировок.
Kostya V
K.D.,
Понятно, значит все можно сделать значительно проще.
А как потом соединять АИ сетку после объединения локаций? При условии, что она будет вплотную подходить к месту разреза террейнов.
K.D.
Цитата(Kostya V @ 28.04.2013, 15:22) *
А как потом соединять АИ сетку после объединения локаций?

Все делает программа.
hi_flyer
Вот запилил видео - https://www.youtube.com/watch?v=x9DUskfWkTQ
Все локации ТЧ в одной глобальной карте
jocker_27
Неужели никак нельзя уменьшить нагрузку на железо? Скажем сделать динам подзагрузку текстур итд (как в том же вов и л2) wink_old.gif
Tron
сорцов нет
Скиф
Tron, они есть, но они не в паблике.
jocker_27
Цитата(Tron @ 03.05.2013, 03:03) *
сорцов нет

И что с того? Камрад Alex реализовал АИ в мп и без сорцов! Неужели тут нельзя ничего сделать без кода???
K.D.
jocker_27, конечно, можно. Изучай ассемблер. Лет через десять ждем подзагрузку в сталкере.
hi_flyer
Ну с половиной карт нагрузка вполне приемлимая.
jocker_27
Цитата(K.D. @ 03.05.2013, 22:26) *
jocker_27, конечно, можно. Изучай ассемблер. Лет через десять ждем подзагрузку в сталкере.

Проще контент на другой двиг перенести
K.D.
Цитата(jocker_27 @ 23.05.2013, 23:02) *
Проще контент на другой двиг перенести

Конечно, можно. Переноси контент. Лет через десять ждем сталкира на другом движке biggrin.gif
jocker_27
Цитата(K.D. @ 23.05.2013, 22:33) *
Цитата(jocker_27 @ 23.05.2013, 23:02) *
Проще контент на другой двиг перенести

Конечно, можно. Переноси контент. Лет через десять ждем сталкира на другом движке biggrin.gif

Ололо. Все очень печально(
tankist
Товарищи, подскажите, как вводить полученные локации в игру? Где взять all.spawn с этой локацией? Или нужно обязательно использовать сдк?
K.D.
В сингл? Спавн заранее приготовь, после объединения поправь вертексы у нужных объектов. Ну или заселяй после объединения дедовскими методами (т.е., через ацдц).

Вообще, можно и без всего этого обойтись. Это ж обычная локация, прогони xrai, начиная с -m. Получишь и спавн, и граф.
tankist
Цитата
Спавн заранее приготовь.

Хотелось бы конечно более подробных объяснений, если можно, как начинающему, я уже почти всё забыл.
K.D.
tankist,
Цитата(K.D. @ 06.06.2013, 19:51) *
прогони xrai, начиная с -m
Pavel_Blend
Цитата
прогони xrai, начиная с -m

tankist, Это, как я понял, нужно воспользоваться xray_re-tools. Начиная с -m - это начать с компиляции графа (т.е. пропустить первые три стадии компиляции). А потом компилить спавн.

Кстати, я объединил кордон, свалку, агропром, тёмную долину из тч. На семёрке 32 бит 2 гб озу. Во время игры тормозов нет. Потребляет озу в игре (1.8 ГБ - 0.5ГБ) = 1.3ГБ.
Скиф
Pavel_Blend, запускаешь со всем остальным контентом типа заселения, квестов и т.д., или голую геометрию?
Pavel_Blend
Скиф, только голую геометрию. Соединил ещё и бар. Но росток уже не смог подсоединить, вылетает на склейке geom.
П.С. мне кажется, что у меня многовато оперативы требуют уровни, по сравнению с теми, которые описывали в этой теме.
Pavel_Blend
Собрал агропром и свалку для сингла (аи сетка, но граф, спавн делал сам, не оригинальные).
На свалке нпс и собака. На агропроме ещё ничего не спавнил.
Я хочу удалить невидимые преграды. Как это легче сделать? Перекомпилить до стадии build uv? Или ещё есть способы?
macron
Цитата(Pavel_Blend @ 07.06.2013, 14:42) *
Я хочу удалить невидимые преграды. Как это легче сделать? Перекомпилить до стадии build uv?

Ну да. Прерываем (закрываем компилятор) на стадии build UV mapping или позже. И подставляем новый level.cform в ранее скомпиленный уровень.
Antnigm
Цитата(hi_flyer @ 29.04.2013, 18:28) *
Вот запилил видео - https://www.youtube.com/watch?v=x9DUskfWkTQ
Все локации ТЧ в одной глобальной карте

Дилетантский вопрос - почему на ЗП тоже самое не провернуть? Там же, вроде, есть динамическая подгрузка и тормозов должно быть в разы меньше...
hi_flyer
Цитата(Antnigm @ 07.06.2013, 22:10) *
Там же, вроде, есть динамическая подгрузка

Нет там её. А провернуть можно хоть на билде 1114.
K.D.
Цитата(Pavel_Blend @ 07.06.2013, 14:42) *
Я хочу удалить невидимые преграды. Как это легче сделать?

Легче всего - почитать ридми к merger biggrin.gif
Pavel_Blend
Читал ридми. Не могу понять, там вроде бы про коллизию ничего не написано.
П,С, Я имел в виду удалить невидимые объекты не средствами mergera, и не обязательно в склеенных уровнях, а вообще в любых других.
K.D.
Pavel_Blend, там есть ключ -remove_fake, с ним при склеивании убираются невидимые поверхности с материалами materials\\fake и materials\\death. Если у тебя в ридми такого нет - значит, не последнюю версию используешь.
Pavel_Blend
Я использую beta7. А где можно скачать более новую версию?
Кто нибудь уже соединял уровни со спавном, графом, аи сеткой для сингла?
K.D.
Цитата(Pavel_Blend @ 10.06.2013, 15:51) *
Я использую beta7

Эта последняя.
Pavel_Blend
У кого нибудь была такая проблема, или это только у меня?:
При склеивании двух уровней (в моём случае свалка и агропром из тч) пропадают часть нодов ai сетки второго уровня. И при добавлении этого уровня в игру происходит вылет, из-за того что нпс и монстры спавнятся не на аи сетке (there is no specified level in the game graph)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.