Внимание! Все права на материалы опубликованные в этом форуме принадлежат их авторам! Перепечатка туториалов и статей разрешена только со ссылкой на этот сайт! В противном случае факт перепечатки считается нарушением авторских прав!
Ну да, ну да, не хочется отказываться. Значит оставляй. Ну пусть гдет фпсит. Это кстати карта ещё немного кривоватая помоему. Когда на старом планшете её проходил постоянно фпсила и вылетала и без прожектора. Так что оставляй.
Да, спасибо за поддержку. Мы с коллегой такое и приняли решение. Мы оставим и сделаем возможность в консоли регулировать диаметр светового пятна. Это всё-таки способно немного облегчить ситуацию с фпс, но если итак не будет помогать, то можно переключиться на лампу. Благо таких мест не много, да и лампа всё равно хороша сама по себе, ненамного хуже.
Поэтому оставляем. Так что в целом полагаю по части именно программных правок в движок мы сделали всё, что хотели. Теперь постараемся сконцентрироваться на оставшихся пробелах: озвучке, некоторых моделях, текстурах итп.
Настройки фонаря куда вынесете ?
Фонарю в консоли отведено четыре квары: 1. Вкл/выкл фонаря 2. Изменить режим фонаря (лампа/прожектор) 3. Изменить диаметр светового пятна 4. Изменить яркость светового пятна
Но для большего удобства мы добавили пункты в настройках клавиатуры, можно на всё, кроме диаметра, назначить кнопки
Но и для опытных юзверей желательно эти квары прописать в конфиге )))
Ну что ж, представляю на ваш строгий суд пожалуй наверное итоговый вариант фонаря, который будет реализован в нашем моде.
Решено оставить оба варианта фонаря, над которыми мы работали: статический (лампа) и динамический (фонарь). Переключение между ними будет одной кнопкой. Предлагаю вашему внимание записанное мной второе техно-демо.
Я не случайно выбрал карту Манор1, а потому что хотел продемонстрировать все сложности реализации фонаря. Одна из самых главных проблем - "абсолютно чёрные поверхности". Это когда разработчик карты в каком-то месте не сделал вообще никакого освещения. Дело в том, что динамическое освещение в этом движке работает таким образом, что рендерер как бы умножает собственные цвета текстуры на указанный коэффициент. Но если текстура полностью чёрная, эффект будет нулевым, потому что по сути мы умножаем коэффициенты на ноль. Поэтому вы можете видеть мои мучения, когда я стою в углу и пытаюсь лампой засветить стену - часть стены горит ярко, а другая часть по-прежнему чёрная.
Таких абсолютно чёрных поверхностей конечно немного. В оригинальных картах их нет вообще (разрабы игры знали об этой проблеме). Но встречаются в моддерских - в маноре, в КлонВорс2044, в метро1, в мэджик скаллс самая тяжёлая ситуация.
Однако, в принципе, можно поступить иначе. Дать рендереру команду выполнить другие OpenGL инструкции при реализации динамического освещения. Именно это и сделано мной во втором режиме фонаря, и поэтому он может (как видно на видео) просвечивать даже чёрные места, но такой вариант тоже далёк от идеала - в этом случае как бы создаётся туманное пятно, которое ложится поверх текстур. Да, текстуры становятся чуть ярче и лучше видны, но в то же время они выглядят как будто немного в тумане.
Короче оставляем оба варианта и что-то менять видимо уже не будем. Выжать большее из дряхлого движка 2001 года нереально. Напоминаю, что мы работаем с базовым рендерером который OpenGL1. Rend2 не юзаем принципиально, ибо считаем его уродским забагованным позорищем.