HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Замена punchangle
Страницы (2): « 1 [2]   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 33041
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FaL_DissecTor писал:
Извиняюсь конечно за нубские вопросы, но действительно человеку не особо знакомому с кодерством, многие очевидные вещи кажутся не такими очевидными ).

Не за что извиняться. Наоборот очень приятно, что еще хоть кого-то интерисует как всё это работает. Остальным только готовый тутор и подавай

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | IP: Записан
Сообщение: 64474

Старое сообщение 23-09-2010 13:45
-
FaL_DissecTor
Let the killing begin

Дата регистрации: Aug 2008
Проживает: Россия
Сообщений: 178
Возраст: 36

Рейтинг



Я попробовал написать свой punchangle, основанный на setview, долго мутил разные штуки ), оказывается что во многих случаях все делается гораздо проще. И все же панч даже с setview очень глючен.

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

Имхо лучший вариант для шутера это тот что предложил Plut.

Сообщить модератору | IP: Записан
Сообщение: 64478

Старое сообщение 23-09-2010 15:54
- За что?
FaL_DissecTor
Let the killing begin

Дата регистрации: Aug 2008
Проживает: Россия
Сообщений: 178
Возраст: 36

Рейтинг



Таакс, извиняюсь что поднял старую тему, но я наконец таки понял как работает разброс в Counter-Strike, отчасти потому что посмотрел исходники =) которые теперь найти не могу, потому что сайт где они лежали более не доступен.

Собствено работает он так.
Делем всю систему на 2 части:
1. Разброс (SPREAD)
2. Отдача (PUNCH)

1. Разброс всегда постоянен, он задан константами в коде каждой пушки. Меняется он лишь при условиях
Стоя на месте
Скорость > 70% от 320
Скорость > 0
Приседание
Игрок в воздухе.

Для каждого из этих случаев задан свой вектор разброса, больше они нигде и никогда не меняются. А между этими условиями разброс меняется мнгновенно, потому что задача вектора разброса стоит перед вызовом firebullets.

2. А вот отдача это то самое что делает нашь разброс таким разным в разных случаях.
Отдача растет по какой-то неизвестной мне схеме(линейной?), условно от 0% до 100%, то есть от минимальной до максимальной.

Так же как и в выше описанных случаях для каждого состояния игрока стоят свои параметры по отдаче. Смысл в том что чем "хуже" положение игрока тем быстрее отдача приближается к 100% значению.
То есть если мы будем стоять на месте и стрелять, то патрону к 10-15 мы достигним максимальной отдачи, а если мы прыгнем и выстрелим 2 раза, то мы сразу перейдем к максимальной отдаче, которая будет медленно угасать.
По этому чтобы стрелять точно, нужно стрелять только в положении стоя и короткими очередями, тогда точность практически не падает. (все игроки хорошо играющие в кс это знают). На скорость угасания отдачи положение игрока в пространстве не влияет.

Отдача - основопологающий фактор в кривости пушек.

Собственно буду пробывать делать такую систему панч+разброс, она очень выгодно смотриться на двигле goldsource.

Правда все еще остается вопрос каким образом вальвовцы пофиксили расхождение между трейсами физики (пуль) и трейсами декалей.

__________________
Такие дела...

Сообщить модератору | IP: Записан
Сообщение: 68860

Старое сообщение 17-12-2010 15:24
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6853
Возраст: 34

Рейтинг



>>расхождение между трейсами физики (пуль) и трейсами декалей.

А разве есть расхождение Координаты точек вылета и попадания отсылаются на клиент в эвенте, там делается ev_hldm_firebullets, и по переданным координатам рисуются трейсеры и декали. Единственное, расхождение может быть, когда трейсер сделан на клиенте, а декаль на сервере и наоборот, и то только в том случае, если раньше был один вектор разброса, теперь мы его сменили на другой и забыли скомпилить клиент заново.

Сообщить модератору | IP: Записан
Сообщение: 68867

Старое сообщение 17-12-2010 15:51
- За что?
FaL_DissecTor
Let the killing begin

Дата регистрации: Aug 2008
Проживает: Россия
Сообщений: 178
Возраст: 36

Рейтинг



Ku2zoff
Не знаю в чем причина, но когда делал через обычный панч, пули улетали выше чем рисовались декали. Попробую сейчас тщательно это сделать с нуля, мож действительно где-то косяк был.

__________________
Такие дела...

Сообщить модератору | IP: Записан
Сообщение: 68869

Старое сообщение 17-12-2010 15:55
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6853
Возраст: 34

Рейтинг



Хотя верно, что-то я не подумал. Вектор разброса же будет динамический, а на клиенте фиксированный сохраняется. Если предиктинг и клиентские оружия убрать, проблема отпадёт.

Сообщить модератору | IP: Записан
Сообщение: 68870

Старое сообщение 17-12-2010 15:55
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 00:42. Новая тема    Ответить
Страницы (2): « 1 [2]   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Замена punchangle
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

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