HLFX.Ru Forum Страницы (4): [1] 2 3 4 »
Показать все 54 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Увеличение размеров карты (https://hlfx.ru/forum/showthread.php?threadid=5033)


Отправлено Ku2zoff 09-08-2017 в 07:30:

Half-Life Увеличение размеров карты

Доброго времени суток всем, кто ещё моддит, ну или просто почитывает периодически этот форум. Так как в разработке своего долгостроя я достиг критической точки, после которой внесение каких-либо масштабных изменений в код будет грозить массовой переделкой всех карт, сейчас нужно определиться, в каком масштабе эти карты строить.
Можно ничего не трогать, и работать со стандартной сеткой 8192х8192х8192, но есть несколько наработок, которые требуют, как минимум, более длинных (в одном измерении) карт. Выходов из ситуации есть два. Первый: обойти ограничение на 8192 юнита в дллках и delta.lst. Второй: уменьшить все объекты в игре в два раза, и работать со стандартной сеткой в уменьшенном масштабе.
И то, и другое реализуется без особых проблем. Но и то, и другое имеет различные минусы. Минус обхода ограничения - надо писать свою собственную мессагу для темпэнтить. А возможно, и ещё какие-то мессаги переделывать, чтобы координаты правильно передавались по сети. Минус уменьшения масштаба - нужен хак с размерами хуллов, и задержка падения энтить на пол до спавна первого игрока на сервере.
В общем, куда ни кинь - всюду клин. Вариант с масштабом на самом деле предпочтительнее, т.к. если уж вдруг придётся ЕЩЁ увеличить карту, то можно будет применить поверх него снятие ограничения на размер. Правда, такой сценарий мне слабо представляется, разве что за пределами 8192 юнитов будет не игровая, а декоративная часть карты с плавным переходом в 3д небо.
Собственно, к чему все эти рассуждения? При каком из вариантов выше шанс вылезти за лимиты компиляторов? Я не о том, чтобы заваливать всю карту деталями, а о неожиданных ошибках, связанных со скейлом текстур/лайтмап и лимитах. Есть у кого-нибудь соображения? Конечно, я ещё сам протестирую пару карт на предмет оптимизации, но хотелось бы услышать мнения.


Отправлено Дядя Миша 09-08-2017 в 07:52:

В разумных пределах масштабирование даёт сравнимый эффект, например, в халфе камера на высоте 72 юнита, а в кваке - 56 юнитов, но громадные квейковские карты с халфовской точки зрения кажутся тесными и игрушечными А ведь хуллы даже почти совпадают.

Добавлено 09-08-2017 в 10:52:

Изменения для корректной потдержки больших размеров карт можно поискать в ксаше по строчке ENGINE_WRITE_LARGE_COORD.
Их там весьма немного: длина трассы до скайбокса, чтобы взять освещение от неба, а не с земли. sv_zmax максимальный становится 131070 или около того ну и пресловутый WriteCoord. Внутри халфы он используется, например для декалей, звуков и партиклей. Ну их тоже можно переделать на кастомные, а на клиенте вызывать эти звуки или партиклы. А амбиент саунд, это обычный саунд с каналом CHAN_STATIC.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Ku2zoff 09-08-2017 в 08:13:

Дядя Миша спасибо, что упомянул про некоторые изменения. Работы выходит довольно много, особенно с кастомными мессагами. Так что я использую уже отработанный вариант с масштабированием. И если уж захочется ещё увеличить, то сниму ограничения на размер, но темпэнтити, декали и всякое разное за пределами старых размеров располагать не буду, пусть там будет только ландшафт.
В общем, буду активно мапать "маленькие" карты.


Отправлено Ku2zoff 10-08-2017 в 03:51:

Дядя Миша у меня попутный вопросец возник: я в теме про глобальное изменение масштаба упоминал про неправильный скейл хитбоксов по ключу $scale при компиляции моделей. То есть сама модель скейлится, а хитбоксы остаются тех же размеров, что и прописаны в qc-файле. Только если отскейлить модель во вьювере и пересохранить, они уменьшаются.
Ты не выкладывал сорцы своего studiomdl с поддержкой тайлинга и увеличенными лимитами? Я бы попробовал исправить для себя этот баг. Ну и по Motion Extraction хотелось бы что-то придумать тоже на этапе компиляции. А то уч0ные ростом 36 юнитов бегают со скоростью как при 72 юнитах, приходится в самом коде монстров использовать хак:

C++ Source Code:
1
DispatchAnimEvents( flInterval );
2
#ifdef _HALFSCALE
3
flInterval *= 0.55;
4
#endif
5
if ( !MovementIsComplete() )
6
{
7
  Move( flInterval );
8
}


Отправлено Дядя Миша 10-08-2017 в 14:55:

Цитата:
Ku2zoff писал:
Ты не выкладывал сорцы своего studiomdl с поддержкой тайлинга и увеличенными лимитами? Я бы попробовал исправить для себя этот баг.

Не знаю, видел ты или нет, но вот мега-навороченный модельвьювер, поддерживает развесовку из хл2, жрёт модели из хл2 и умеет почти все фишки из хл2, кроме конечно вертексной анимации. При этом бинарно совместим с голдсорсом: http://cs-mapping.com.ua/forum/showthread.php?t=38472
Аналогично тот компилятор в комплекте скейлит и хитбоксы и ататчменты, корочи полный комплект удовольствий. Ему можно прямо модельки из хл2 совать и он их сожрёт не поперхнувшись. И по идее скейл учтётся для ExctractionMovement, но тут неуверен - тестить надо.

Добавлено 10-08-2017 в 17:55:

Цитата:
Дядя Миша писал:
жрёт модели из хл2

Я имел в виду, после компиляции тем компилятором, который входит в комплекте, чтобы не возникало недопонимания.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 10-08-2017 в 15:04:

Цитата:
Дядя Миша писал:
но вот мега-навороченный модельвьювер

А на хлфх его не выкладывали, что ли? Как-то это странно.

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!


Отправлено Дядя Миша 10-08-2017 в 18:31:

Ну я создал тему, но всем было настолько наплевать, что я не стал её продолжать.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 11-08-2017 в 02:27:

А, это... Ну понятно.
Да у нас тут вообще всем на всё наплевать по большей части.

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!


Отправлено FiEctro 12-08-2017 в 14:09:

Цитата:
XaeroX писал:
А, это... Ну понятно.
Да у нас тут вообще всем на всё наплевать по большей части.


А ты донатов заслал ?


Отправлено XaeroX 12-08-2017 в 14:20:

FiEctro
Если я правильно понимаю, то донаты должен засылать не я, а мне. Так?

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!


Отправлено Ku2zoff 12-08-2017 в 14:55:

Цитата:
XaeroX писал:
Да у нас тут вообще всем на всё наплевать по большей части.

Здесь моделлеров нет. Почти. И любителей таскать модели из сорса, видимо тоже. Т.к. главаная фича новых тулзов именно в развесовке, никто и не заинтересовался.


Отправлено Ku2zoff 16-08-2017 в 05:12:

Ещё один вопрос. Есть жёсткий лимит на 512 моделей (браши + спрайты + студио), на больших картах это может быть весьма актуально. Со спрайтами просто: можно запаковать несколько с одинаковой палитрой в один файл и управлять рисованием с помощью кадров. Со студийными тоже просто: бодигруппы + секвенции = несколько моделей в одной. А как быть с брашами? Квейк может грузить маленькие bsp файлики как модели, некоторые итемы там так и сделаны. Халфа по-моему не дублирует одинаковые брашевые энтити как разные модели. А что, если она умеет грузить bsp модели как Квака? Знаю, что ксаш умеет, а вот в халфе не пробовал.

Добавлено 16-08-2017 в 12:12:

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


Отправлено Crystallize 16-08-2017 в 09:05:

Ku2zoff "использование BSP ресурсов" на КСМ


Отправлено Дядя Миша 16-08-2017 в 09:19:

Цитата:
Ku2zoff писал:
А что, если она умеет грузить bsp модели как Квака?

умеет.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Ku2zoff 16-08-2017 в 12:25:

Crystallize а можно прямую ссылку? Что-то не гуглится и поиском по форуму не находится.


Временная зона GMT. Текущее время 20:37. Страницы (4): [1] 2 3 4 »
Показать все 54 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024