Ku2zoff отлично получилось, кстати пистолет в руке большой, это ты научил игру аттачить w_модели? Вообще забавно выглядит то что w_модели оружия в халве какие-то огромные, больше чем p_модели. Кстати во второй халве там тоже как и в ХЛ1 у оружия есть кости руки там, то есть тоже игра соединяет скелет моделей оружия с моделью игрока или НПС.
Chyvachok писал: Вообще забавно выглядит то что w_модели оружия в халве какие-то огромные, больше чем p_модели.
Не та игра, чтоб делать всё с пропорциями как ИРЛ, ИМХО. Я в своё время когда-то пробовал подогнать скейл w-моделей к p. Получилось, как минимум, просто некрасиво. Стволы выглядели преуменьшенными, и я не всегда замечал их на фоне текстур и прочего.
>>Осталось решить пару проблем, и можно в виде тутора это сделать. Для сингла на данный момент всё отлично, а вот в мульте кое-какие огрехи проявляются.
Ku2zoff писал: Игрок ростом 36 юнитов, масштаб уменьшен в два раза. p_ и w_ модели я не скейлил ещё.
Точно вспомнил, ты вроде мир же у себя уменьшаешь, тогда понятно чего пест большой, а то увидев его сначала подумал что ты убрал p_модели и сделал как-то чтобы w_модели аттачились Из-за того что w_ модели в оригинальной халве больше чем p_модели.
А вообще у тебя крутые вещи выходят, сам бы я такое никак не запилил бы, не только лежание на земле, но и вообще все что у тебя на ютубе есть, я даже эффекты для своего плазмогана не смог закодить как хотел.
Игроки также становятся несолидными друг для друга, когда ползают под func_wall'ами, которые блокируют проход стоячим и присевшим игрокам.
В кратце, механизм такой: когда игрок ползёт, в боксе, равном его сидячему хуллу, ищутся от 1 до 8 func_wall'ов с определённым флагом. Как только в бокс попадает нужный валл, он и игрок получают общее pev->groupinfo, чтобы не коллайдить между собой. Это позволяет ползущему игроку заползать в низкие лазы, а сидячему и стоячему - нет.
Так вот, если в данный момент под валлом ползут два игрока - они могут ползать сквозь друг дружку. Во-первых, это как-то стрёмно выходит, придётся или позволить игрокам вообще проходить сквозь других игроков в любом случае, либо искать другой способ. Во-вторых, это приводит к застреванию одного игрока в другом, если один почти вылез из-под валла, но ещё несолиден для других ползущих игроков, а второй полностью вылез, и у него сменилось pev->groupinfo, и первый стал для него солидным. Конечно, второму игроку (застрявшему) достаточно нажать на прыжок, и он высвободится. Но прыжок в ползании так-то не работает, и игроку будет сложно об этом догадаться.
Добавлено 20-09-2017 в 22:11:
Я ещё попробую игнор физэнтити в трейсе в pm_shared. Если это сработает, то такой вариант будет лучше.
Добавлено 20-09-2017 в 22:15:
Цитата:
Chyvachok писал: А вообще у тебя крутые вещи выходят
Во многом это заслуга Дяди Миши: открытые сорцы ксаша и просто его советы. Часть идей я позаимствовал из других модов и игр и развил, а часть придумал сам. Ну и ещё часть - это буржуйские статьи, которые немного неполные или только теоретические. Не такой уж я хороший кодер на самом деле.
Добавлено 20-09-2017 в 22:18:
Ну и эта... Вообще искать функ_валлы из кода игрока каждый кадр глупо. Лучше взять механизм от trigger_inout: при входе в триггер (валл) включать нужное свойство игроку и валлу, а при выходе - выключать.
А я не думаю отказываться от сингла пока. Так что большие монстры не выкинуты. Ну и задумка на кооп ещё есть.
Цитата:
Yo Den писал: воу, так у тебя полностью получилось?
С одной оговоркой: без хотя бы одного игрока на сервере (в мультиплеере) не работает, т.к. доступ к моделям (которые model_t) можно получить только из PM_PlayerMove.
Цитата:
Ku2zoff писал: Я ещё попробую игнор физэнтити в трейсе в pm_shared
Короче, надо серьёзно шаманить с MOVETYPE_WALK в pm_shared, чтобы не использовать UTIL_SetGroupTrace.