Welcome to U.A.C.
login / register 
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Громкость дождя
   Список разделов - Местечко мапперов и моддеров - Громкость дождяОтветить
АвторСообщение
qwe8013
- Master Corporal -
Next rank: = Master Corporal = after 30 points
210

Doom Rate: 1.93

Posts quality: +67
Ссылка на пост №1 Отправлено: 21.08.26 06:28:27
Считаем что работаем с UDMF под UZDoom.

Решил использовать для создания дождя скрипт отсюда: https://forum.zdoom.org/viewtopic.php?t=70432
Но возникла проблема: звук дождя слышен везде. Да, он приглушается в секторах без неба, но проблема в том, что в некоторых помещениях его не должно быть слышно вообще. Можно ли такого добиться?
TheTaintedSlav
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 5 points
1635

Doom Rate: 1.36

Posts quality: +367
Ссылка на пост №2 Отправлено: 21.08.26 20:20:07
уж пардоньте за каламбур но блэт, не мог упустить возможность кринжануть.

Громкость дождя *ПАУ*
Радость вождя *ПАУ*
И вновь паранойя восходит на троооон! *УАУ*

Громкость дождя
Безысходность полдня
И сегодня мыыыыы есть княааааазь!


шиза крепчала, да.

Теперь по сабжу.
по идее можно, но для этого насколько понимаю необходимо прописывать кастом-проперти звука для конкретных секторов, иначе звук так и будет везде где только можно.
7 1
JSO x
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 132 points
1508

Doom Rate: 2.39

Posts quality: +819
Ссылка на пост №3 Отправлено: 22.08.26 19:58:21
Создание зачётного сообщения/новости (+20)
qwe8013 пишет:
Но возникла проблема: звук дождя слышен везде. Да, он приглушается в секторах без неба, но проблема в том, что в некоторых помещениях его не должно быть слышно вообще. Можно ли такого добиться?

Насколько помню, Universal Rain and Snow в этом плане очень сильно ограничен, он проверяет только условие "Под небом"/"Под твёрдым потолком" (по крайней мере так было в тех версиях, которые я видел), и под потолком звук просто в два раза тише. Так что, если с тех пор ничего не изменилось, то либо городить дополнительную математику, либо, как сказал TheTainedSlav, вводить пользовательские свойства секторов и буферную зону для звука, чтобы дождь при заходе в здание затухал постепенно, а не резко отключался рубильником.

Как вариант на рассмотрение, есть временно замороженный проект https://github.com/MorthimerMcMare/weathremum/ (я к нему обязательно вернусь и переделаю в человеческий вид) — в нём, грубо говоря, громкость звука рассчитывается на основе расстояния от ушей игрока до пола ближайшего сектора под открытым небом. В качестве легко реализуемого бонуса там есть дифференциация звука в зависимости от поверхности под небом — недалеко от воды один звук и эффект падения капель, на траве другой, на металле третий, при движении они все мягко сменяют друг друга и уходят в тишину, если рядом нет секторов, в которых идёт дождь. С него тоже что-то можно взять, ту же математику расчёта расстояния...

Рейтинг сообщения: +2, отметил(и): BeeWen, Bessa Me Muchos
3 10 1
Bessa Me Muchos
= Corporal =
Next rank: - Lance Corporal - after 16 points
114

Doom Rate: 1.7

Posts quality: +53
Ссылка на пост №4 Отправлено: 23.08.26 09:03:32
JSO x пишет:
В качестве легко реализуемого бонуса там есть дифференциация звука в зависимости от поверхности под небом — недалеко от воды один звук и эффект падения капель, на траве другой, на металле третий, при движении они все мягко сменяют друг друга и уходят в тишину, если рядом нет секторов, в которых идёт дождь.

JSO x пишет:
Как вариант на рассмотрение, есть временно замороженный проект


1) КРУТО!!!
2) Так а что, в Гоззе до сих пор нормальный дождь не сделали?

Такие вот "парадоксы" иногда возникают, когда есть много возможностей, как, например, в GZDoom/UZDoom (и, как некоторый побочный эффект, завышенные ожидания).
1
qwe8013
- Master Corporal -
Next rank: = Master Corporal = after 30 points
210

Doom Rate: 1.93

Posts quality: +67
Ссылка на пост №5 Отправлено: 23.08.26 21:03:40
Я в WTHRINFO прописал

MinPrecipitationVolume = 0.0

Правда теперь дождь не слышно даже в секторах "рядом с небом", как-то так.
Bessa Me Muchos
= Corporal =
Next rank: - Lance Corporal - after 16 points
114

Doom Rate: 1.7

Posts quality: +53
Ссылка на пост №6 Отправлено: 23.08.26 21:45:22
Если вдруг этого окажется недостаточно, а вариант, предложенный JSO x, окажется тяжеловат (будет тормозить), то предлагаю следующее простое обобщение минималистичного варианта. Сделать, чтобы были сектора трёх типов:

1) - где идёт дождь, и там громкость дождя полная.
2) - секторы, окружающие область с дождём ("рядом с небом"). В этих секторах громкость уменьшенная. Эти секторы маппер должен будет отметить сам, типа поставить галочку (иначе в некоторых случаях может получиться кривовато).
3) - все остальные секторы - там никакого звука дождя просто нет.

Плюс, можно сделать изменение громкости при переходе между секторами разных типов не мгновенным, а плавным во времени (скажем, громкость меняется градиентом в течение полсекунды).

Думаю, это хороший рабочий вариант.

Если вдруг будет представлять затруднение ввести новое свойство сектора, включаемое галочкой, можно пойти по пути либо формата MBF21, где есть обобщённые свойства секторов (как, например, Kill Players), либо по ещё чуть более древнему - ввести объект (Thing) специального типа. Объект ставится в сектор (или несколько секторов). Если в том же секторе оказывается игрок, происходит определённое действие (например, включается звук дождя половинной громкости).

Рейтинг сообщения: +1, отметил(и): JSO x
1
MyNameIs
- Captain -
Next rank: = Captain = after 232 points
2108

Doom Rate: 2.01

Posts quality: +946
Ссылка на пост №7 Отправлено: 24.08.26 17:51:55
у меня такой дождь
я сделал по-тупому, дождинки спавнятся в неком радиусе вокруг игрока в секторах с небом
считаю количество дождинок на карте и умножаю на громкость постоянно существующего звука

Скрытый текст:


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


Рейтинг сообщения: +1, отметил(и): JSO x
1 1 1
qwe8013
- Master Corporal -
Next rank: = Master Corporal = after 30 points
210

Doom Rate: 1.93

Posts quality: +67
Ссылка на пост №8 Отправлено: 24.08.26 23:44:54
MyNameIs
Вы на основании дождя, который у меня сделали, или у вас свой дождь?
MyNameIs
- Captain -
Next rank: = Captain = after 232 points
2108

Doom Rate: 2.01

Posts quality: +946
Ссылка на пост №9 Отправлено: 25.08.26 01:44:43
qwe8013
Скрытый текст:


кто мы-то?


не, у меня свой, через партикли (кроме лужицы на земле, потому что флатспрайт партиклем не сделать, что жаль)
1 1 1
qwe8013
- Master Corporal -
Next rank: = Master Corporal = after 30 points
210

Doom Rate: 1.93

Posts quality: +67
Ссылка на пост №10 Отправлено: 29.08.26 03:01:56
MyNameIs
А он публично выкладывался? (Может я бы взял вместо того, что у меня сейчас)
JSO x
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 132 points
1508

Doom Rate: 2.39

Posts quality: +819
Ссылка на пост №11 Отправлено: 29.08.26 19:54:41
Bessa Me Muchos пишет:
2) Так а что, в Гоззе до сих пор нормальный дождь не сделали?

Ну, когда-то в Сети были представлены три универсальных мода на дождь, и ни один меня не устраивал. Я решил сделать свой. Теперь в Сети есть четыре универсальных погодных мода, и ни один меня не устраивает :⁣) .


Bessa Me Muchos пишет:
предлагаю следующее простое обобщение минималистичного варианта. Сделать, чтобы были сектора трёх типов:
MyNameIs пишет:
считаю количество дождинок на карте и умножаю на громкость постоянно существующего звука

Ах ты ж блин, а я все простые способы забыл! Поддерживаю, эти для скорого допиливания подходят лучше.


Bessa Me Muchos пишет:
Если вдруг этого окажется недостаточно, а вариант, предложенный JSO x, окажется тяжеловат (будет тормозить)

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

Интересно, сейчас проверил — на UZDoom 4.14.3 почему-то всё работает в два раза медленнее, чем на LZDoom 3.87. Снова в движке что-то сломали... Так, тогда ещё советую посмотреть ветку multiplayer — из-за асинхронного рандомайзера мод на ней должен работать быстрее основной ветки.

Если потребуется, можно заменить дождинки с наследования от Actor на наследование от VisualThinker (когда начинал делать, последнего ещё не существовало), а карту определения "текстура пола ↔ вид дождя" — на HashMap, самодельный или встроенный (встроенного тоже тогда не было, о своём в тот момент как-то не подумал). Дальше уже по обстоятельствам, надо смотреть на итоговую производительность.

Рейтинг сообщения: +3, отметил(и): BeeWen, Bessa Me Muchos, raspad
3 10 1
MyNameIs
- Captain -
Next rank: = Captain = after 232 points
2108

Doom Rate: 2.01

Posts quality: +946
Ссылка на пост №12 Отправлено: 01.09.26 09:44:50
qwe8013
не, не выкладывал
могу вытащить, чуток подпилить и релизнуть

Рейтинг сообщения: +2, отметил(и): JSO x, Bessa Me Muchos
1 1 1
Страница 1 из 1Перейти наверх
   Список разделов - Местечко мапперов и моддеров - Громкость дождя