phobos2077 45 Опубликовано 20 Октября 2016 (изменено) Стало интересно как все-таки работает система видимости 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 (нужно больше времени чтобы полностью обнаружить объект в поле зрения.) Изменено 20 Октября 2016 пользователем phobos2077 3 Поделиться этим сообщением Ссылка на сообщение
phobos2077 45 Опубликовано 20 Октября 2016 Ну это уже все знают(кто хочет что-то вообще знать), вот только было-бы не плохо, глядя в исходники, пояснить работу этого параметра. С учетом того, что для актера он равен 1.0, а для псевдогиганта 100.0. Это типа, актера разглядят в 100 раз быстрее, чем 1.5-тонную тушу топтуна ? Так я же выше описал всю суть этого параметра. Он регулирует как быстро данный непись обнаруживает других, в т.ч. игрока. Для актера 1.0 т.к. для него этот код просто не используется, вместо него - монитор и глаза игрока Поделиться этим сообщением Ссылка на сообщение