![]() |
Страницы (8): [1] 2 3 4 5 » ... Последняя » Показать все 110 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Hull'ы (https://hlfx.ru/forum/showthread.php?threadid=4587)
Hull'ы
В коде компиляторов и функциях GetHullBounds на сервере и клиенте задефайнены размеры хуллов игрока. Три штуки: в полный рост, в присяде и точечный нулевой. Чтобы изменить размер игрока, надо поменять значения во всех трёх местах. Сегодня убедился экспериментально, пересобрав ещё и компиляторы. Это не беда, сделать не сложно. Но можно ли добавить ещё один хулл для лежачего игрока? Подозреваю, что нет, и это ограничение формата карт и движка. А для чего юзается точечный хулл? С первыми двумя понятно - для размеров игрока сидя и стоя. Ну а третий для чего? Для дохлого игрока? Можно ли его заюзать для своих целей?
Ku2zoff для всего юзается. Просто прям для всего. Особенно для трейсов, вроде.
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
~ X ~ понял. Трейс он ведь точечный. Значит и все точечные энтити, тоже его юзают. И монстры, им ведь можно без труда задавать произвольный размер, в отличие от игрока.
Добавлено 21-04-2015 в 17:15:
Можно модифицировать компиляторы и добавить ещё один хулл, только вот прожуёт ли это дело движок? Я тут в DoD поэкспериментировал. Хулл у лежачего игрока такой же как и у сидячего. Забавно наверное выглядит со стороны, когда один игрок запрыгивает на другого в таком случае.
Добавлено 21-04-2015 в 17:27:
Похоже, нельзя добавить. Всего движок юзает 4 хулла: 3 для коллизии, про которые и идёт речь и один визуальный.
Есть мысль сделать хулл в присяде изначально маленьким, для лежачего игрока и как-то искусственно блокировать движение, когда игрок в присяде, а пространство не позволяет пролезть.
На самом деле нулевого хулла не существует.
__________________
ДМ вот чё мне писал "в pm_shared функция pmove->usehull.
Там есть нулевой - это обычный хулл игрока, есть первый - это присевший игрок и есть второй - точечный. Засада в том, что третий хитрая халфа может вообще не добавить в эту структуру.
Так что попробуй pmove->usehull = 3, но предупреждаю - может и не сработать."
__________________
МОЙ НОВЫЙ ПАБЛИК ПО ХЛ))
__________________
Почитал на русском форуме, посвящённом AMX. У чувака получилось хакнуть GetHullBounds и применить к игроку второй (третий по счёту) Vector(0,0,0), нулевой хулл. На скрине видно, что залез в узенькую щель (юнита 3) между ящиками на дедасте. Значит для игрока сработает usehull = 2.
Я боюсь, что если изменю его размеры в компиляторах и в движке, то что-нибудь изломаю.
1 | /* |
2 | ================================ |
3 | GetHullBounds |
4 |
5 | Engine calls this to enumerate player collision hulls, for prediction. Return 0 if the hullnumber doesn't exist. |
6 | ================================ |
7 | */. |
Методом тыка выяснил, что в GetHullBounds можно подставлять любые значения (и в любой кейс), лишь бы они совпадали с хуллами, задефайнеными в компиляторах, и кейс соответствовал pmove->usehull.
1 | vec3_t g_hull_size[NUM_HULLS][2] = |
2 | { |
3 | {// 0x0x0 |
4 | {0, 0, 0}, {0, 0, 0} |
5 | } |
6 | , |
7 | {// 32x32x72 |
8 | {-16, -16, -36}, {16, 16, 36} |
9 | } |
10 | , |
11 | {// 64x64x64 |
12 | {-32, -32, -32}, {32, 32, 32} |
13 | } |
14 | , |
15 | {// 32x32x36 |
16 | {-16, -16, -18}, {16, 16, 18} |
17 | } |
18 | }; |
1 | для игрока |
2 | mins = Vector(-16, -16, -36); |
3 | maxs = Vector(16, 16, 36); |
4 | потому что ориджин в пузе |
1 | для монстра, ростом с игрока |
2 | mins = Vector(-16, -16, 0); |
3 | maxs = Vector(16, 16, 72); |
4 | потому что ориджин в ногах |
__________________
>Хотя бывает, что нод вроде бы вот он, а монстр к нему не идёт).
оох, как же это выматывает.
__________________
http://www.moddb.com/mods/monorail-quest
Замечал, кстати, если менять UTIL_SetSize монстрикам на свои, более подходящие к модельке, то бывает монстры перестают ходить по лестнице, высота ступенек которой равны 16 юнитам. В итоге у меня все монстрики размером 32х32х72. Ходят по ступенькам хорошо, но вот когда прыгают в сторону стены, то наполовину в стену уходят. Есть какое-то решение?
__________________
Base Defense on Steam, ModDB
__________________
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
Временная зона GMT. Текущее время 16:39. | Страницы (8): [1] 2 3 4 5 » ... Последняя » Показать все 110 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024