Jump to content
Korean Random

Гравитация снаряда на WG клиенте после 1.26


SoprachevAK
Go to solution Solved by StranikS_Scan,

Recommended Posts

Начиная с версии 1.26 WG клиента, у меня в базе wotstat'a начали появляться разные значения гравитации у одних и тех же снарядов (которая определяет траекторию). На лесте всё нормально.
Есть ли у вас идеи с чем это может быть связано?


Гравитацию беру напрямую из def show_tracer(...)

Есть предположение, что это может быть связано с перками на скорость снаряда, и под скорость подстраивается гравитация (что странно).
Скорость я беру их BigWorld.player().vehicleTypeDescriptor.shot.speed и вот она не меняется никак. 

Может кто уже изучал вопрос, и знает где брать либо актуальные ттх на текущий момент, либо причина не в этом

  • Upvote 1
Link to comment
Short link
Share on other sites

1 минуту назад, KPOT2338 сказал:

По крайней мере получается 140 значений гравитации

И каждая точка после пересчёта гравитации на скорость даёт +0,1% к скорости

v1/v2=(g2/g1)^0,5

2024-10-28_01-03-31.png.e7bec13992d6c3ceab8f58083b62f5f7.png

А откуда ты скорость брал?
Та которая shellSpeed, она судя по всему неправильная

Link to comment
Short link
Share on other sites

2 минуты назад, SoprachevAK сказал:

А откуда ты скорость брал?
Та которая shellSpeed, она судя по всему неправильная

Скорость относительная, т.е. v1/v2, а гравитация известна

2024-10-28_01-11-15.png.348daaeaa2ebfb5dcde65b179389e5e2.png

Link to comment
Short link
Share on other sites

5 минут назад, KPOT2338 сказал:

Скорость относительная, т.е. v1/v2, а гравитация известна

2024-10-28_01-11-15.png.348daaeaa2ebfb5dcde65b179389e5e2.png

А, умно, умно
Ну значит видимо действительно связано с перком на скорость снаряда. Забавно, что они корректируют траекторию, как будто бы это не очень логично. Я могу поверить, что экипаж научился больше пороха заряжать в снаряды, из-за чего они летят быстрее, но гравитация то тут причём)

Надо бы найти как актуальные ттх брать на момент боя с учётом перков. 

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

Link to comment
Short link
Share on other sites

1 час назад, StranikS_Scan сказал:

Тип боя какой? Это не эвенты? 

Рандом
 

https://wotstat.info/session/shots?mode=any&nickname=Vasiliy_123&tank=france:F69_AMX13_57_100&shot=17121393355930000340861

https://wotstat.info/session/shots?mode=any&nickname=Vasiliy_123&tank=france:F69_AMX13_57_100&shot=17259250608040000282398
 

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

 

Link to comment
Short link
Share on other sites

11 минут назад, SoprachevAK сказал:

Рандом
 

https://wotstat.info/session/shots?mode=any&nickname=Vasiliy_123&tank=france:F69_AMX13_57_100&shot=17121393355930000340861

https://wotstat.info/session/shots?mode=any&nickname=Vasiliy_123&tank=france:F69_AMX13_57_100&shot=17259250608040000282398
 

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

 

 

У тебя версии игры по ссылкам разные. Это как бы не то. От версии к версии ттх снарядов меняют.

Edited by StranikS_Scan
Link to comment
Short link
Share on other sites

1 час назад, StranikS_Scan сказал:

 

У тебя версии игры по ссылкам разные. Это как бы не то. От версии к версии ттх снарядов меняют.

 

Правда.
Вот, eu_1.26.0_7, бб, один и тот же снаряд, одна и та-же версия мода, разная гравитация, рандом и там и там

https://wotstat.info/session/shots?mode=any&nickname=test&shot=17285765841860000142957
https://wotstat.info/session/shots?mode=any&nickname=test&shot=17279636159820000324922

И это вообще повсеместно, на всех танках и разные гравитации. Скорее всего реально перки новые влияют. До 1.26 подобного не было


Версия игры – название танка – тип снаряда
uniqGravityValues – количетво разных значений гравитации
Список значений гравитации

image.thumb.png.03a966abb1180a5aa1638d9b10ddfac3.png

Link to comment
Short link
Share on other sites

4 минуты назад, StranikS_Scan сказал:

 

А точнее?

PlayerAvatar.showTracer(self, shooterID, shotID, isRicochet, effectsIndex, refStartPoint, velocity, gravity, maxShotDist, gunIndex)

Скорость от сюда не беру, потому что, точка появления трассера не совпадает с точкой вылета снаряда (иногда очень сильно), а скорость трассера меняется в разных точках траектории (чем выше по дуге, тем скорость медленнее)

Link to comment
Short link
Share on other sites

1 час назад, SoprachevAK сказал:


И это вообще повсеместно, на всех танках и разные гравитации. Скорее всего реально перки новые влияют. До 1.26 подоб

Если взять одного игрока на одном танке, то гравитация должна расти от боя к бою, если это действительно перк

Link to comment
Short link
Share on other sites

  • Solution
10 минут назад, SoprachevAK сказал:

PlayerAvatar.showTracer(self, shooterID, shotID, isRicochet, effectsIndex, refStartPoint, velocity, gravity, maxShotDist, gunIndex)

Скорость от сюда не беру, потому что, точка появления трассера не совпадает с точкой вылета снаряда (иногда очень сильно), а скорость трассера меняется в разных точках траектории (чем выше по дуге, тем скорость медленнее)

 

Вообще поглядел. Раньше был только один корректор projectileSpeedFactor, который всегда по умолчанию равен 0.8 в клиенте игры и применяется к скорости и гравитации с сохранением траектории для снижения времени полёта и отрисовки снаряда: velocity / 0.8 и gravity / 0.8**2. А два месяца назад в патче 1.26.0.0 добавили еще и второй корректор gunShotsSpeed:

 

def getVehicleShotSpeedByFactors(factors, speed, gravity=1.0):
    projectileSpeedFactor = vehicles.g_cache.commonConfig['miscParams']['projectileSpeedFactor']
    newProjectileSpeedFactor = projectileSpeedFactor * factors.get('gunShotsSpeed', 1.0)
    speed = speed / projectileSpeedFactor * newProjectileSpeedFactor
    gravity = gravity / projectileSpeedFactor ** 2 * newProjectileSpeedFactor ** 2
    return (speed, gravity)

 

И судя по коду, параметры на него умножаются: velocity * gunShotsSpeed и gravity / gunShotsSpeed**2. Фактор в исходниках называется так 'gun/shots/speed'. Однако к какому перку он привязан не понятно.

 

Так что гравитация в трассере может и меняться, однако я думаю, что меняется и модуль начального velocity значения тоже у трассеров.

  • Upvote 1
Link to comment
Short link
Share on other sites

Только что, KPOT2338 сказал:

Так скорость снаряда же

2024-10-30_00-02-12.png.6605ace85435edd3ea4513fe7cbf4ad6.png

 

Нет. Перк 404 раньше имел вот такие параметры:

 

  <perk>
    <id>	404	</id>
    <defaultBlockSettings>
      <arg>
        <argId>	shotDemaskFactor	</argId>
        <value>	0.001	</value>
      </arg>
      <arg>
        <argId>	foliageMaskingFactor	</argId>
        <value>	0.0002	</value>
      </arg>
    </defaultBlockSettings>
  </perk>

 

и 0.001 это демаскирующий фактор 

Link to comment
Short link
Share on other sites

1 минуту назад, StranikS_Scan сказал:

 

Нет. Перк 404 раньше имел вот такие параметры:

 

  <perk>
    <id>	404	</id>
    <defaultBlockSettings>
      <arg>
        <argId>	shotDemaskFactor	</argId>
        <value>	0.001	</value>
      </arg>
      <arg>
        <argId>	foliageMaskingFactor	</argId>
        <value>	0.0002	</value>
      </arg>
    </defaultBlockSettings>
  </perk>

 

и 0.001 это демаскирующий фактор 

404 по твоей ссылке на перки скорость снаряда

Изменено два месяца тому

Link to comment
Short link
Share on other sites

6 минут назад, KPOT2338 сказал:

404 по твоей ссылке на перки скорость снаряда

Изменено два месяца тому

 

Скорость снаряда это свойство перка номер 404. И его просто переименовали, было shotDemaskFactor стало shellVelocity, при  том же значении 0.001, которое никак не вяжется с формулой getVehicleShotSpeedByFactors. Так что это не то. Параметр gunShotsSpeed должен быть в районе единицы, а не 0.001.

 

Я вообще думаю, что мы не туда копаем. Скорее всего с патча 1.26 учитывается влияние препятствий на траекторию или параметры трассера. Вот и получаем кучу рандомных гравитаций.

Edited by StranikS_Scan
Link to comment
Short link
Share on other sites

26 минут назад, StranikS_Scan сказал:

 

Скорость снаряда это свойство перка номер 404. И его просто переименовали, было shotDemaskFactor стало shellVelocity, при  том же значении 0.001, которое никак не вяжется с формулой getVehicleShotSpeedByFactors. Так что это не то. Параметр gunShotsSpeed должен быть в районе единицы, а не 0.001.

Так это ж приращение скорости на процент перка

Т.е. +10% на 100% перка

з.ы.: Картинка во втором посте темы

--------------------------------------------------------------------------------------------------

https://db.wotstat.info/play?user=public#c2VsZWN0IAljb3VudCgpLAogICAgICAgCXNxcnQoZ3Jhdml0eS82LjI3ODQpCmZyb20gRXZlbnRfT25TaG90CndoZXJlIAlyZWdpb249J0VVJwogIGFuZCBiYXR0bGVNb2RlID0gJ1JFR1VMQVInCiAgYW5kIHRhbmtUeXBlICE9ICdTUEcnCmdyb3VwIGJ5IGdyYXZpdHkKb3JkZXIgYnkgZ3Jhdml0eSA=

6.2784 - минимальная (базовая) гравитация

Edited by KPOT2338
Link to comment
Short link
Share on other sites

3 часа назад, StranikS_Scan сказал:

 

Вообще поглядел. Раньше был только один корректор projectileSpeedFactor, который всегда по умолчанию равен 0.8 в клиенте игры и применяется к скорости и гравитации с сохранением траектории для снижения времени полёта и отрисовки снаряда: velocity / 0.8 и gravity / 0.8**2. А два месяца назад в патче 1.26.0.0 добавили еще и второй корректор gunShotsSpeed:

 

def getVehicleShotSpeedByFactors(factors, speed, gravity=1.0):
    projectileSpeedFactor = vehicles.g_cache.commonConfig['miscParams']['projectileSpeedFactor']
    newProjectileSpeedFactor = projectileSpeedFactor * factors.get('gunShotsSpeed', 1.0)
    speed = speed / projectileSpeedFactor * newProjectileSpeedFactor
    gravity = gravity / projectileSpeedFactor ** 2 * newProjectileSpeedFactor ** 2
    return (speed, gravity)

 

И судя по коду, параметры на него умножаются: velocity * gunShotsSpeed и gravity / gunShotsSpeed**2. Фактор в исходниках называется так 'gun/shots/speed'. Однако к какому перку он привязан не понятно.

 

Так что гравитация в трассере может и меняться, однако я думаю, что меняется и модуль начального velocity значения тоже у трассеров.

Действительно, спасибо. 
Надо будет тогда обновить модик, и не просто делить на захардкоженное 0.8, а всё таки нормально вычислять этой функцией. 

Вроде бы когда то я слышал, что увеличение скорости перком объясняли как раз более качественным орудием, видимо по этому и gunShotsSpeed. Что именно пушка влияет на скорость снаряда. Странно, что ещё и на гравитацию, какой то баг гейм дизайна как по мне


ps. Нейминг newProjectileSpeedFactor конечно забавный) Это когда сами уже забыли зачем был нужен projectileSpeedFactor, и решили добавить new

Link to comment
Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...