Перейти к контенту

[SoC] Ковыряемся в файлах


Halford

Рекомендуемые сообщения

Стало интересно как все-таки работает система видимости NPC и luminocity_factor (фактор освещения) в частности. Посмотрел исходники, нашел такую формулу:

koef = exp(log(luminocity) * luminocity_factor)

Где koef - коеффициент который умножается на итоговое значение видимости на каждой итерации обсчета видимости (если больше 1 то обнаружение быстрее, если меньше то медленнее);

luminocity - реальная освещенность объекта, рассчитанная движком (не может быть ниже 0.001, верхняя граница - предположительно 1.0);

luminocity_factor - значение одноименного параметра из конфига (например m_actor.ltx).

 

Если построить график по этой функции и менять значение luminocity_factor, то станет ясно что по сути оно задает степень линейности прироста видимости ГГ в зависимости от освещения. При низких значениях (в районе 0.2-0.6) даже при минимальном освещении (т.е. в полной темноте) неписи будут видеть ГГ очень хорошо, и только если выпрямить кривую (значения порядка 0.8-1.4) тогда в темноте значение koef будет минимальным и будет равномернее расти по мере увеличения luminocity.

 

Стоит учитывать это при изменении данного параметра.

 

И по поводу visibility_threshold - на одном форуме читал что это якобы какая-то дальность в метрах - бред. На самом деле этот параметр задает максимальное значение при котором объект считается видимым. Единица измерения условна, это просто число которое накапливается с течением времени (зависит от всех остальных коэффициентов) и как только превышает данный лимит - объект видим (в ТЧ этот процесс можно наблюдать ростом полоски видимости в интерфейсе). Другими словами чем выше данный параметр тем ниже скорость реакции NPC (нужно больше времени чтобы полностью обнаружить объект в поле зрения.)

Изменено пользователем phobos2077
  • Полезно 3

Поделиться этим сообщением


Ссылка на сообщение

Ну это уже все знают(кто хочет что-то вообще знать), вот только было-бы не плохо, глядя в исходники, пояснить работу этого параметра. С учетом того, что для актера он равен 1.0, а для псевдогиганта 100.0. Это типа, актера разглядят в 100 раз быстрее, чем 1.5-тонную тушу топтуна ?

 

Так я же выше описал всю суть этого параметра. Он регулирует как быстро данный непись обнаруживает других, в т.ч. игрока. Для актера 1.0 т.к. для него этот код просто не используется, вместо него - монитор и глаза игрока :) 

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...