Мир танков - Part 2

  • Автор теми Автор теми SLAVIK
  • Дата створення Дата створення
А что гравитация? Как ты это компу объяснишь? Даже если и гравитация - есть вполне физически обоснованые случаи, с гравитацией, когда так стоять и останется. Поэтому я и говорю - физику надо внедрять полностью, а не просто вектора скорости верхнего объекта сделать такими же как нижнего
 
есть вполне физически обоснованые случаи, с гравитацией, когда так стоять и останется.

и че их на суперклей клеили???

Поэтому я и говорю - физику надо внедрять полностью, а не просто вектора скорости верхнего объекта сделать такими же как нижнего

в смысле с сопротивлением воздуха и силой трения???
 
Вот бери учебник физики за 8 класс и учи. В данном случае верхнее тело будет в покое (при покое нижнего) если вектор гравитации, проходящий через центр масс верхнего тела, будет проходить через "пятно контакта". Что такое центр масс объяснять надо?
Ты пойми, что комп "сам" ничего не делает. Это тебе надо определить, столкнулись ли объекты и в какой точке. Это тебе на основании этого их надо повернуть, переместить и т.д., описать какие-то правила по которым оно всё будет проходить. Вот например пускай один параллелепипед упал чётко на другой. Нижний резко стартанул. Верхний тоже стартанёт с такой же скоростью или съедет в бок? В реальности - съедет в бок. Как сильно? И съедет ли? А может вообще останется на месте и упадёт? Это зависит от массы верхнего тела, силы трения между ними и ещё кучи факторов. Поэтому сделать более-менее реалистичное падение одного танка на другой в трёхмерном пространстве и тем более езду один на другом - это не просто вектора сложить
 
Вообще по неоднократному заявлению КВГ на просчёт видимости у них тратится до 50% ресурсов сервера. По идее расчёт не особо сложный, хотя геморрои конечно есть. Так вот, расчёт физики движения имхо в разы накладней по траффику и ресурсоёмкости. Если мы говорим о полном расчёте конечно, вместе с физикой движения, полном collision detection, а не только столкновений танков.

Трудно сказать, все зависит от того как делать трассировку и как делать физику. Трассировка, пожалуй, по объему кода меньше, а вот по объему вычислений - не факт. ИМХО задачи приблизительно одной сложнности.

То что ты написал - это теоритический идеал. А практически - достаточно принять танки за 2 параллепипеда. Движется только нижний, как и двигался, а верхний повторяет его траекторию, но в Х метрах над землей.

Тут согласен с АSDev. Глупости пишете.

да возьми те же вы учебник физики за 8 класс прогульщики....

Физика за 8-й класс рассматривает максимум двумерный случай для некоторых частных случаев взаимодействия тел. Полноценная физика танка в трехмерном пространстве несколько сложнее. Раз так в N-дцать.
 
Плюс физику локально можно ускорить аппаратными методами, если использовать определённые API. Не исключено конечно что и сервак там сможет использовать какие-то аппаратные ускорители, но мне кажется что вряд ли

Трудно сказать, все зависит от того как делать трассировку и как делать физику. Трассировка, пожалуй, по объему кода меньше, а вот по объему вычислений - не факт. ИМХО задачи приблизительно одной сложнности.

Полный collision detection с окружающим миром с гравитацией танка будет жрать прилично. Сейчас там ни о какой гравитации и речи нет, танк просто повторяет углы наклона полигонов местности и всё, как бы "прилеплен" к ним. А вот при вводе полноценной гравитации - придётся делать полноценный collision detection и с поверхностью. Что вкупе с обработкой столкновений танков друг с другом даст нехилую нагрузку, если принять во внимание кол-во играющих. Вот сам подумай - раньше лаги были из-за того что как ты сам говоришь координаты передавались не в каждом пакете. А теперь объём данных, передаваемых в каждом пакете ,многократно возрастёт
 
Первого? Не верю, давай скриншот!!!
 
Только вывел перша в топ - и сразу Мастер (кстати дался легче, чем на т20... по кол-ву опыта)
чтото хозяин твоего старого акка забил на танки

Интересно какой у них физический движок... Я в своё время много перепробовал, во всех глюки есть
найти правильный из готовых это еще та задача...
 
Ну почему же, вот например
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
Его используют очень многие серьёзные конторы в не менее серьёзных проектах, почитай там, много всего узнаешь :) В моё время его ещё не было, я newton engine юзал, по тем временам один из лучших бесплатных был. Быстро встраивался в любой граф. движок
 
Плюс физику локально можно ускорить аппаратными методами, если использовать определённые API. Не исключено конечно что и сервак там сможет использовать какие-то аппаратные ускорители, но мне кажется что вряд ли

Насколько мне известно на данный момент специальных аппаратных ускорителей физики нет, уже давно все эти функции переложили на GPU. А вот насколько реально использовать GPU для ускорения физики на свервере - я хз.

Полный collision detection с окружающим миром с гравитацией танка будет жрать прилично.

Обнаружение коллизиий у них уже есть. Учет гравитации - это аж два умножения и одно сложение для каждого объекта на каждом такте ( V.y -= g*t ) :D. Что может быть проще я уж и не знаю.

А вот при вводе полноценной гравитации - придётся делать полноценный collision detection и с поверхностью.

Не факт. Если запретить танку переворачиваться - то полноценную физику столкновения с поверхностью делать нет необходимости.

А теперь объём данных, передаваемых в каждом пакете ,многократно возрастёт

Схуяли? Как передавались координаты на текущем такте так и будут передаваться. Максимум добавятся величины смещения катков, хотя и они не нужны. Огибать катками поверхность можно и на клиенте.
 
Вот бери учебник физики за 8 класс и учи. В данном случае верхнее тело будет в покое (при покое нижнего) если вектор гравитации, проходящий через центр масс верхнего тела, будет проходить через "пятно контакта".

а теперь возьми два деревянных бруска и покажи на практике :D
 
До недавнего времени подвески в танках не было, была её имитация. Да и сейчас не уверен что есть... На самом деле кинематика подвески - довольно сложная для описания вещь, я даже используя движок заебался кодить работу подвески автомобиля. Тут же скорее всего какое-то сильное упрощение. И что сложного в 3 точках? Вы же не будете писать столько процедур обработки сколько точек ))) Для каждой точки расчёты однотипны, в цикле, вот комп - да, это на его плечи ляжет нелёгкий труд по расчёту

да ну, подвеска давно используется
многие движки уже имеют объекты типа "колесо"

Проверяется очень легко, разгоняетесь на Т-50-2 и выдергиваете сетевой шнур. Профит. Никто ничего не поддерживает
ага, если ты отпал - танк едет туда куда ехал
пруф вчера был: комп завис практически после старта упражнения, пока перегрузился - т-54 мой убили за серединой карты, при этом он задавил амх12 :D
 
Вот например пускай один параллелепипед упал чётко на другой. Нижний резко стартанул. Верхний тоже стартанёт с такой же скоростью или съедет в бок? В реальности - съедет в бок. Как сильно? И съедет ли? А может вообще останется на месте и упадёт? Это зависит от массы верхнего тела, силы трения между ними и ещё кучи факторов. Поэтому сделать более-менее реалистичное падение одного танка на другой в трёхмерном пространстве и тем более езду один на другом - это не просто вектора сложить

масса верхнего тела + момент силы нижнего+ гравитация.. трением и сопротивлением пренебрежем
 
Тоже хочу 5коп сунуть! :)
Dima12345 сказав(ла):
Ни разу не видел ничего подобного. Бывают лаги и рывки при частичной потере пакетов или тормозящем сервере. При полной потере пакетов все стоят. И так было всегда.
при обрыве соединения танк может крутить башней? - может, и все счётчики прицела продолжают считать - значит движение моего танка (динамическая 3Д модель танка) обрабатывается нихрена не сервером, так?
Логично предположить и физику на клиенте
 
а теперь возьми два деревянных бруска и покажи на практике
Ты говоришь об однородном теле, у которого ЦТ в геометрическом центре. Не все тела однородны и одинаковы )))

да ну, подвеска давно используется
многие движки уже имеют объекты типа "колесо"
Я ж писал, что делал хардкорную кинематику. Это несколько сложнее


Обнаружение коллизиий у них уже есть. Учет гравитации - это аж два умножения и одно сложение для каждого объекта на каждом такте ( V.y -= g*t ) . Что может быть проще я уж и не знаю.

Сейчас передвижение танка по карте сделано не обнаружением коллизий как таковым, а ОЧЕНЬ сильно упрощённо, подразумевает что танк не может отрываться от поверхности. Был такой конструктор игр, BlitzBasic, там это было в одном из первых примеров. А если делать полноценно - то процесс усложнится на порядок
 
Плюс физику локально можно ускорить аппаратными методами, если использовать определённые API. Не исключено конечно что и сервак там сможет использовать какие-то аппаратные ускорители, но мне кажется что вряд ли
аппаратно можно токо видеокартой

А теперь объём данных, передаваемых в каждом пакете ,многократно возрастёт
так ведь клиентам нада передавать только что и передавали - положение танков в пространстве, по сути ничего не меняется в трафике, разве что они еще будут подвеску отрисовывать в зависимости от рельефа
 
масса верхнего тела + момент силы нижнего+ гравитация.. трением и сопротивлением пренебрежем

И что будет? Трение пренебрежёшь в 0 или в 100%?

так ведь клиентам нада передавать только что и передавали - положение танков в пространстве, по сути ничего не меняется в трафике, разве что они еще будут подвеску отрисовывать в зависимости от рельефа

Вот я об этом и говорю, что обработка коллизий должна быть на клиенте а не на сервере
 
Ну почему же, вот например
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
Его используют очень многие серьёзные конторы в не менее серьёзных проектах, почитай там, много всего узнаешь В моё время его ещё не было, я newton engine юзал, по тем временам один из лучших бесплатных был. Быстро встраивался в любой граф. движок

ну, я немножко тоже знаю про движки :) сам конечно не писал, но некоторые пользовал
мы PhysX и Vortex(он по сути из ODE вырос) используем

аппаратных ускорителей нет
агейя пыталась сделать, но после покупки нвидией все перенесли в видуху

при обрыве соединения танк может крутить башней? - может, и все счётчики прицела продолжают считать - значит движение моего танка (динамическая 3Д модель танка) обрабатывается нихрена не сервером, так?
Логично предположить и физику на клиенте
я думаю это сделано на клиенте (вращение башни) чтоб не было рывков, а то куда реально башня смотрит - вот это и есть серверный прицел
 
Ты говоришь об однородном теле, у которого ЦТ в геометрическом центре. Не все тела однородны и одинаковы )))

супер клей решит проблему????

И что будет? Трение пренебрежёшь в 0 или в 100%?

естественно в 0, в точке соприкосновения тел... ибо площадь очень мала

Вот я об этом и говорю, что обработка коллизий должна быть на клиенте а не на сервере

а как же читы???? если на клиенте обрабатывать, то это открывает массу интересных перспектив
 
Назад
Зверху Знизу