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

Бьющиеся лампочки


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

Да не мерцают лампы дневного цвета! Не мерцают! :)

А вот лампы накаливания могут - и моргать, и менять степень светоотдачи и т.д.

У меня вопрос. Хотя тут и проскакивали вопросы насчет реализации неисправностей

люминисцентных ламп, хотел спросить и такое. В игре, если мне не изменяет память,

довольно много обжитых мест, в которых светит свет только в помещениях.

В Чистом Небе я впервые увидел, что появляется свет в ночное время суток (болота:

насосная станция и башня на болоте). В связи с этим вопрос. Как возможно в ТЧ "оживить"

в ночное время безглазые фонари?

по идее никак.

скорее это фитча движка.

в ЧН тоже когда день, то костер не горит, а когда ночь горит.

Кх... Сделать то можно...

Название скрипта: DynLightsLevels.script

local lights_table = {
"level_prefix_lights_hanging_lamp_0000",
"level_prefix_lights_hanging_lamp_0001",
"level_prefix_lights_hanging_lamp_0002",
"level_prefix_lights_hanging_lamp_0003",
"level_prefix_lights_hanging_lamp_0004",
"level_prefix_lights_hanging_lamp_0005",
"level_prefix_lights_hanging_lamp_0006",
"level_prefix_lights_hanging_lamp_0007",
"level_prefix_lights_hanging_lamp_0008",
"level_prefix_lights_hanging_lamp_0009",
"level_prefix_lights_hanging_lamp_0010",
"level_prefix_lights_hanging_lamp_0011",
"level_prefix_lights_hanging_lamp_0012",
"level_prefix_lights_hanging_lamp_0013",
"level_prefix_lights_hanging_lamp_0014",
"level_prefix_lights_hanging_lamp_0015"}

function dynamic_lights()
   local hours = level.get_time_hours()
   if hours > 6 and hours < 22 then
    local id, obj
    for id=0, 65535 do
        obj = level.object_by_id(id)
        if obj ~= nil and
           obj:section() == "lights_hanging_lamp" and
           string.find(obj:name(), lights_table) --{как сделать применение всех лампочек по порядку?}имя лампочки или костра, который нужну выключить(ещё по всем локам удалить партиклы костров и сделать динамические партиклы тоже)
        then
            local hl = obj:get_hanging_lamp()
            if hl ~= nil then 
                     hl:turn_off() --указываем, включить или выключить
            end
        end
    end
else
    local id, obj
    for id=0, 65535 do
        obj = level.object_by_id(id)
        if obj ~= nil and
           obj:section() == "lights_hanging_lamp" and
           string.find(obj:name(), lights_table)
        then
            local hl = obj:get_hanging_lamp()
            if hl ~= nil then 
                     hl:turn_on() --указываем, включить или выключить
            end
        end
    end
end
end

Засунуть в bind_stalker.script в апдейт актора:

DynLightsLevels.dynamic_lights()

 

Но не делать бездумно!

Я лампочки выбрал наугад!

Надо в sdk искать все костры , лампочки.

Прошу! Не пихайте бездумно! На синтаксис не проверял, делал за минуту.

Строгое предупреждение от модератора n6260
Юзаем "спойлер".
Изменено пользователем n6260

А знаете, чего я в ЗП заметил? Короче там на полном дин. освещении лампочки бьются! И гранатой, и ножом, и ПМ-ом! А на статике остаются в рабочем состоянии, хоть с РПГ лупи. И их "разбитость" сохраняется навсегда.

Сорри за оффтоп, но вдруг кого на какие идеи наведёт.

У меня два вопроса: 1) у меня лампочки все равно не бьются (проверял в конуре у Сидора и на Агропроме) и 2) как можно установить изначальный фонарик, просто я глобалку с усложнением гемплея делаю, а широкий фонарь в это не вписывается.

Следи за орфографией.

Изменено пользователем Ааз

Тема не закрыта, думаю можно её поднять...
У меня вопрос на счёт реализации данной фичи.

Сравнивал оригинальные объекты ламп и в Майке и в AE, но какой-либо разницы между ними не заметил...

Как получилось сделать их бьющимися?

@macron, спасибо, похоже я при сравнении был невнимателен, поэксперементирую со значениями в AE...


И ещё вопрос на счёт светильников, почему обрывается тень от корпуса у таких светильников?

2bddaa40f9c5cc8fe312829aa6039c49.jpeg
Проблема в движке или шейдерах?

  • Нравится 1

Хорошо бы партикл искр приписать при разбивании лампочки...Кто нибудь знает как это сделать?

Да и мигающим лампам можно добавить чтоб искрили как в хоррорах..

@dromundus, Хм... Можно попробовать источник света(например лампочку или светильник) сделать по образу артов и прописать в настройках партикл искр...

Надо пробовать...

р.s: Вопрос на счёт обрезанных теней, в предыдущем моём посте, остаётся в силе...
Пробовал разные шедеры, но везде одно и тоже, смотрится это дело убого <_<

Изменено пользователем CuJIbBEP

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

Конечно не очень хорошо в этом разобрался, но на уровне оригинала смог на создавать.

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

Так же надо учитывать тип освещения Point или Spot. Настройки можно посмотреть в оригинале.

 

@CuJIbBEP,

 

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

@ScaarjScout, Да это понял, но свет можно поставить и без модельки (если не назначать визуал), модельку лампочки перевязал и ту косточку, к которой привязан свет, поместил внутрь модели лампочки...
Но результат ожидаемый - теже обрезанные тени от решеток светильника, на скрине показано, обрати внимание на пол, на полу тень обрезается...

@dromundus, проще тогда убрать решетку и смастерить стеклянный плафон, так как-то логичней получается...
Но тогда и нет смысла замарачиваться этим вопросом, ведь весь интерес был в отбрасывании теней моделью решеток светильника...


Загвоздка в том что модель решеток очень близко к источнику света, если сам светильник увеличить в размерах, тем самым отдалив его решетки от источника света, то тогда тени отбрасываются нормально...

Изменено пользователем CuJIbBEP

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

  • Спасибо 1

@ScaarjScout, утолщение тут не помогает, только отдаление геометрии от источника света, много раз проверил...
Но попробую в помещении, хотя что-то мне подсказывает что будет тоже самое...

На скрине шар с источником света, пока шар приличного размера тени отрисовываются нормально:

bba3b9f29743cc1f050211f845c4bac2.jpeg

 

 

Уменьшил шар, странно, но тени есть по всей длине...
Однако есть и такие артефакты, как будто обрезанные линии теней, хотя в развётке uv шара нет никаких разрезов:
6cab9f992e8f06e854a2380ef3b04ca9.jpeg


В общем надо ещё эксперементировать :wacko:


Убедился снова, похоже есть какое-то ограничение в расстоянии между источником света и геометрией его светильника:
0e3aec2af402795ec390a339d1d2d945.jpeg

 

Отсюда следует, что компактные светильники лучше использовать со слабыми источниками света... -_-

Изменено пользователем CuJIbBEP

 

 

есть какое-то ограничение в расстоянии между источником света и геометрией его светильника:

Конечно есть. В оригинале есть такой параметр, как виртуальный радиус у ламп, но он нерабочий. Задается в СДК в свойствах ламп. Если ты работаешь под ТЧ, то там КД делал движковую правку, если не ошибаюсь, и все работало. В ЗП же или ЧН придется либо увеличвать изуал, как ты и экспериментировал, либо кость лампы выносить за пределы модели, как это сделано у ПЫС.

там КД делал движковую правку

Да, нашел такую в X-Ray extensions в правке R2, пропатчил эту dll`ку, но при синхронизации получаю "stack trace" даже на минимальных настройках...

Хотя ранее патчил библиотеку и проблем не было, даже с приличной прорисовкой травы на максимальных настройках :blink:

Изменено пользователем CuJIbBEP

Подскажите как через all.spawn изменить цвет лампочки? Сдк не предлагать.

Изменено пользователем HellRatz

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

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