что такое lerp в css
Форум проекта sourceplay.ru
Часовой пояс: UTC+03:00
Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней. | Страница 1 из 1 | [ 14 сообщений ] |
|
Автор | Сообщение | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
qwist | |||||||||||
Зарегистрирован: 06:33 Суббота, 24 Сентябрь 2011 |
| ||||||||||
Зарегистрирован: 06:25 Суббота, 20 Март 2010 |
| ||||||||||
Зарегистрирован: 06:25 Суббота, 20 Март 2010 | |||||||||||
Зарегистрирован: 12:56 Понедельник, 22 Сентябрь 2008 | |||||||||||
Зарегистрирован: 05:30 Четверг, 21 Январь 2010 | |||||||||||
Зарегистрирован: 11:54 Пятница, 20 Ноябрь 2009 | |||||||||||
Зарегистрирован: 19:45 Понедельник, 03 Январь 2011 | |||||||||||
Зарегистрирован: 12:56 Понедельник, 22 Сентябрь 2008 | |||||||||||
Зарегистрирован: 05:30 Четверг, 21 Январь 2010 |
Часовой пояс: UTC+03:00 Кто сейчас на конференцииСейчас этот форум просматривают: нет зарегистрированных пользователей lerp и его особенностиПо сути, значение lerp определяет пропорцию между пакетами, пришедшими от сервера, и пакетами, сгенерированными на клиенте. Чем меньше значение lerp, тем меньше пакетов будет «придумано» на клиентской стороне, тем точнее то, что вы видите, будет соответствовать тому, что происходит на сервере. Чем больше значение lerp, тем большую долю в вашей картинке будет играть интерполяция. 1) Ваш интернет канал оставляет желать лучшего. 2) Настройки серверов непозволяют клиентской части выставлять необходимые значения некоторых переменных. 1) Напишите в консоли cl_updaterate и запомните значение этой переменной Например: Вывод: Чтобы не париться с математикой, можно забиндить клавиши так: bind «INS» «lerpa+» Что такое lerp в cssИнтерполяция помогает сделать игровой процесс более плавным, даже при потере пакетов, или в ожидании обновления пакетов. При использовании значения интерполяции в 100 мс, всё, что вы видите (другие игроки/позиции объектов), является интерполированным состоянием игры, которое получается из: последнее полученное состояние игры (последнее обновление/тик) и состояние игры 100 миллисекунд назад. В сущности, это означает, что при cl_interp 0.1 то, что вы видите будет отставать на 100 мс от последнего состояния игры, полученного вами. Добавьте к этому пинг в 50 мс, и, по итогу, то, что вы видите, отстает от происходящего на сервере на 150 мс при каждом обновлении. Поэтому выставив значение интерполяции на 0, вы потеряете плавность (многие люди жалуются на дёргающихся мобов и Особых Зараженных), но получите самое последнее состояние игры из возможных при вашем пинге, а также даст вам больше времени на то, чтобы дать приклад Охотнику и т.д. В целом, вам следует ставить значение интерполяции ниже 100 мс. Многие люди меняют свой лерп при смене сторон, но очень часто это осуждается остальными игроками. Текущие конфогловские конфиги отслеживают смену лерпа и сообщают о ней в общий чат, а лиги и турниры разрабатывают правила насчет смены лерпа. При игре за Выживших лерп следует ставить как можно ниже. Максимальное используемое значение обычно не превышает 67 мс, а минимальное 0 мс. Другие популярные значения: 10 мс, 16.7 мс, 20 мс, 33 мс, 38 мс, 40 мс. Важно упомянуть, что время между тиками в L4D2 составляет 33 мс, поэтому мы видим разделение в предпочтении 1 тика интерполяции. Теоретически, многие из этих значений излишни, и мало влияют на то, что вы будете видеть на своем экране и как сервер высчитывает ваше положение и ваши удары. За Зараженных будут более полезны более высокие значения лерпа, так как Выжившие чаще всего убегают в противоположную от Зараженных сторону. Обычно Выживший старается выйти из зоны поражения Танка. Но если танк использует высокое значение интерполяции, то он не увидит, что Выживший начинает двигаться на дополнительные 100+ мс. Используя очень высокие значения лерпа, такие как 400 мс или 500 мс, данная проблема значительно усугубляется. Этот же феномен возникает, когда Особые Зараженные царапают Выжившего. По этой причине Конфогл блокирует значения лерпа выше 100 мс. В общем и целом, не смотря на то, что вы можете по-прежнему выполнять свои функции в роли Зараженного с лерпом 0, рекомендуется выставлять ваш лерп таким образом, чтобы вам было удобно играть с ним за обе стороны. Также, чем выше ваш лерп, тем сложнее вам будет напрыгивать на Выжившего или пробивать его, так как позиция Выжившего, которую вы видите, будет не соответствовать его положению на сервере. Вы будете чаще замечать, что вы пролетаете насквозь выжившего и не попадаете по нему. Теперь по-русски: ваше значение cl_interp ограничено до минимума значением cl_interp_ratio/cl_updaterate и до максимума в 0.5 (500 мс), и устанавливается значением консольной переменной cl_interp. Обратите внимание, что, например, cl_interp 0.04 равняется 40 мс. При выставлении своего лерпа, будет отличной идеей выставить переменную cl_updaterate как можно выше, cl_interp_ratio как можно ниже, а cl_interp выставить по вашему желанию. Это минимизирует лимит, наложенный значением cl_interp_ratio/cl_updaterate и позволит выставить нужный вам лепр. Обычные сервера допускают 60 updaterate и минимальное количество точек интерполяции (cl_interp_ratio ) в 1. Конфогловские сервера позволяют выставлять значение updaterate на 100 и позволяют ставить количество точек интерполяции 0. Обратите внимание, что исходя из представленного выше кода, обычно советуют увеличивать ваше значение rate до максимального позволенного в L4D2 равного 100000, что в свою очередь даст серверу знать, что вы способны получать до 100000 байтов, с которым может справиться любое современное соединение. Я также предпочитаю ставить равные значения для cl_cmdrate и cl_updaterate, не смотря на то, что из-за технических ограничений движка, в техническом плане нет особой разницы используете ли вы 30 или 100 cmdrate. Если вы будете использовать приведенный выше код, то отредактируйте значение cl_interp по вашему желанию, в зависимости от того, какой лерп вы используете. Обратите внимание, что на обычных серверах, таких, как официальный, минимальный лерп, который вы сможете использовать – 16.7. Значение вашего лерпа отображается на net graph’е примерно посередине: Это значение, в большинстве случаев, является вашим финальным высчитанным значением, т.е. это значение будет результатом, высчитанным по приведенной выше формуле min/max. Это может быть полезным при определении того, выставлены ли ваши консольные переменные правильно или нет. 35 на серверах Valve оранжевого цвета является нормой. Он является предупреждением о возможной потере пакетов. Желтый цвет говорит о потере пакетов. Я знаю это всё с чужих слов и решил не ознакомляться с существующей литературой на эту тему. Ваше значение интерполяции выставлено ниже чем 2/updaterate. Этот цвет может появиться только если не вызвано состояние Желтого лерпа. Все эти сказки про Оранжевый лерп также являются бредом сивой кобылы. По сути Оранжевый лерп является предупреждением, что если у вас начнется потеря пакетов, то объекты вокруг начнут дергаться. Значение, которое они используют (2/updaterate), не является абсолютно произвольным. Если вы попробуете выставить значение вашей интерполяции 2/updaterate или выше, вы получите 2 дополнительных буферных пакета в диапазоне вашей интерполяции в случае, если пакет обновлений будет потерян. Еще раз, Оранжевый лерп является лишь предупреждением о том, что объекты вокруг вас могут начать дергаться при потере пакетов. Ни желтый, ни оранжевый лерп на net graph’е не является показателем потери пакетов или каких-то проблем с сетью. Если у вас желтый лерп, то будет неплохой идей попросить администратора сервера повысить частоту кадров на сервере. На практике цвет лерпа не имеет никакого значения. Правда ли, что нужно выставлять свой лерп в значение близкое к пингу? Правда ли, что чем выше лерп, тем более неточными будут хитбоксы? Я джае могу увидеть различия, когда включаю отображение хитбоксов! Мой лерп стал цветным! Я теряю пакеты! Что такое lerp в cssЕсли Вы заметили, после последнего обновления сетевой код CS:S был изменен. Появилось несколько новых переменных и одна из основных это LERP. По сути, значение lerp определяет пропорцию между пакетами, пришедшими от сервера, и пакетами, с генерированными на клиенте. Чем меньше значение lerp, тем меньше пакетов будет «придумано» на клиентской стороне, тем точнее то, что вы видите, будет соответствовать тому, что происходит на сервере. Чем больше значение lerp, тем большую долю в вашей картинке будет играть интерполяция. С самого начала кажется, что в идеале lerp должен быть равен 0, ведь при таком значении lerp нет интерполяции и клиент видит то же, что видит сервер. Вы НЕ можете себе позволить lerp = 0 по двум причинам. 1) Ваш интернет канал оставляет желать лучшего. И так, как настроить? 1) Напишите в консоли cl_updaterate и запомните значение этой переменной Чтобы не париться с математикой, можно добавить в autoexec.cfg: напомню, autoexec.cfg находится: ваш путь:/Steam/steamapps/ИМЯ АККАУНТА/counter-strike source/cstrike/cfg/. если такого файла нет, то его нужно создать используя любой текстовый редактор. значение LERP вовремя игры можно посмотреть включив net_grah 1 Что такое lerp в cssНебольшой ликбез Настройки клиентской части по умолчанию: cl_updaterate 20; cl_interp_ratio 2; cl_interp 0.1. Как это работает По сути, значение lerp определяет пропорцию между пакетами, пришедшими от сервера, и пакетами, сгенерированными на клиенте. Чем меньше значение lerp, тем меньше пакетов будет «придумано» на клиентской стороне, тем точнее то, что вы видите, будет соответствовать тому, что происходит на сервере. Чем больше значение lerp, тем большую долю в вашей картинке будет играть интерполяция. После теории перейдем к практике. С самого начала кажется, что в идеале lerp должен быть равен 0, ведь при таком значении lerp нет интерполяции и клиент видит то же, что видит сервер. Вы НЕ можете себе позволить lerp = 0 по двум причинам. 1) Ваш интернет канал оставляет желать лучшего. 2) Настройки серверов не позволяют клиентской части выставлять необходимые значения некоторых переменных. 1) Напишите в консоли cl_updaterate и запомните значение этой переменной Например: Вывод Добивайтесь минимального значения lerp, оставляя его белым на каждом сервере, на котором играете. Это позволит вам снизить к минимуму все проблемы, связанные с вашим соединением с интернетом. Ещё совет Чтобы не париться с математикой, можно забиндить клавиши так: bind «INS» «lerpa+»
|