![]() |
Страницы (32): « Первая ... « 22 23 24 25 [26] 27 28 29 30 » ... Последняя » Показать все 479 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Наши проекты (https://hlfx.ru/forum/forumdisplay.php?forumid=1)
-- XashNT: блог разработчика (https://hlfx.ru/forum/showthread.php?threadid=6097)
Навскидку могу сказать, что вероятно, будучи обеспеченный мощной системой поиска пути, которая независит от нодов, расставленных дизайнером (или же наоборот - не расставленных\расставленных неверно),
AI должен заработать лучше чем в халфе.
Правда мне сперва надо будет подружить эти две системы. К примеру в той же халфе монстр хранит всего-навсего 8 ближайших точек маршрута, причём расстояние между точками может быть произвольным. Очевидно это не ложится на мою систему, которая просто заспамит этот путь коротеньким отрезком, юнитов на 128, не больше.
Возможно надо будет сделать повторную симплификацию пути, вернув только ключевые точки маршрута.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша А какой ещё бывает? о_О
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Давно ничего не писал. Ну зато вот вспомнил про Сферические Гауссовы Лайтмапы и решил с ними разобраться на досуге.
https://mynameismjp.wordpress.com/2...epresentations/
Ссылка на цикл статей. Это от авторов имплементации в Order 1884.
Наверное это заверщающая техника, которая меня интерисовала в лайтмаппинге. Всё остальное я там в принципе уже попробовал и реализовал.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Ну чтоже, вот мы с вами потихоньку и добрались к очередному моменту принятия решений. Напомню вам как долго и мучительно я создавал свою систему материалов, размышляя над ней почти четыре года. Но в итоге создал и остался доволен. Следующая задачка попроще, но тоже ответственная. Поскольку я портирую ксаш-мод на XashNT, естественным образом появилась потребность в говорящих монстрах и сентенциях.
Новому ксашу достался звуковой движок в наследство от старого, это единственная вещь, которую я вообще не трогал с 2019-го года. Единственное что сделал - это поддержку ogg-формата.
Ну вот теперь пришла пора его отрефакторить. Сам рефакторинг видится мне довольно прозрачным, особых вопросов не вызывает.
Но надо определиться с системой описания звуковых материалов.
Да, звуки - это не рендеринг, они больше зависят от окружения, то есть какой-то фундаментальной привязки к текстовым настройкам тут как правило нет. Но тем не менее, какая-то система должна быть.
И вот вопрос - какая?
Добавлено 03-02-2025 в 00:05:
Поизучал уже существующие решения по быстрому и минимальное понимание появилось. В Doom3, как вы знаете, были так называемые звуковые шейдеры - по аналогии с обычными, где указаны текстуры.
Скорее всего их реализовали просто для консистенции. Потому что эта конструкция настолько надуманная и неудобная, что они даже толком параметры для нее придумать не смогли.
Звук в игре - это такая штука, которая привязана к конкретной точке.
А точка может перемещаться. И звук должен перемещаться вместе с ней.
Это поведение по умолчанию и не существует ситуации, когда бы нам потребовалось его изменить. Либо звук стоит на месте, либо движется вместе с объектом. Два варианта. Очевидно никакие материалы для описания этого не нужны.
Пойдем дальше. Так-то какие-то скрипты для звуков нужны, безусловно, но как вы знаете, тот простейший набор параметров, предложенный ещё Кармаком в ку1, в подавляющем большинстве случаев оказался достаточным.
Вспомним что там у нас было?
Канал - номер канала. Ну тут понятно, либо чтобы затереть один звук другим, либо чтобы проиграть несколько звуков вместе.
Затухание - дистанция до звука, на которой его ещё будет слышно. В принципе там есть три константы. Амбиентный звук, откуда-то издалека. Рычание монстров и типичное затухание, разговор или перестрелка.
Громкость - тут требуется пояснение. В норме этим параметром никто не пользуется. Его используют если попался слишком громкий звук, а под рукой нет редактора, чтобы нормализовать. Обратите внимание, что если звук слишком тихий, то вам этот параметр никак не поможет, он в норме стоит на максимуме. Valve добавила в этот набор ещё один параметр - pitch. Стало возможным динамически менять тон проигрываемого звука.
Используется в двух случаях - либо для иммитации раскрутки\останова func_rotating, либо для разнообразия голосов монстров. Хотя для голосов наверное параметров могло бы быть и поболее. Но не суть.
При портировании ксаш-мода на HeadShot я для удобства завернул функцию проигрывания звука прямо в базовый класс энтити и назначил аргументам дефолтные параметры
void EmitSound( int channel, const string sample, float volume = VOL_NORM, float attn = ATTN_NORM, int pitch = PITCH_NORM ); |
1 | soundDef "tele_sound" |
2 | { |
3 | sound "misc/r_tele1.wav" |
4 | sound "misc/r_tele2.wav" |
5 | sound "misc/r_tele3.wav" |
6 | sound "misc/r_tele4.wav" |
7 | sound "misc/r_tele5.wav" |
8 | volume "1.0" |
9 | channel "voice" |
10 | attenuation "0.8" |
11 | pitch "100" |
12 | } |
1 | TE_TELEPORT |
2 | { |
3 | ParticleEffect( "tele_splash" ); |
4 | PlaySound( "tele_sound" ); |
5 | } |
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Зачем писать каждый раз:
sound "misc/r_tele1.wav"
sound "misc/r_tele2.wav"
sound "misc/r_tele3.wav"
sound "misc/r_tele4.wav"
sound "misc/r_tele5.wav"
Когда можно написать что то вроде:
sequence "misc/r_tele"
type "wav"
Ну или что нить в духе: sound "misc/r_tele[].wav" ?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Тем не менее, один момент, для которого нам всё-таки нужны текстовые описания у нас есть, это как вы догадались - сентенции.
У вальвы сентенции описаны довольно лаконично, но не особо понятно
Пример
1 | HG_COVER0 hgrunt/clik (t30) take! cover!(t0) clik |
2 | HG_COVER1 hgrunt/clik (t45) (e75) I!(e80) need!(e80) suppressing!(t20) fire!(t10) clik |
3 | HG_COVER2 hgrunt/clik (t45) we! need! backup!(t10) clik |
4 | HG_COVER3 hgrunt/clik(p120) (t40) two!(e75) hot!(e80) here! clik |
5 | HG_COVER4 hgrunt/clik(p110) (t30) fall!(e80) out! clik clik |
6 | HG_COVER5 hgrunt/clik(p120) (t20) clear! this! area! clik |
7 | HG_COVER6 hgrunt/clik (t40) god! damn! clik |
8 | HG_COVER7 hgrunt/clik (t40) cover!(e75) fire! clik |
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
В плане звуков не хватает наложения на них каких-либо DSP-эффектов, когда не хочется применять глобальный room_type, но на звук надо навесить.
Еще не хватает сдавливания верхних частот, когда звук находится за глухой стенкой.
То же самое касается, когда звук находится на дистанции (но, если добавлять такой параметр, ему следует быть опциональным). Я у себя реализовал нечто подобное путем смешения заранее заготовленных звуков, сдавленного и обычного в зависимости от дистанции. А вот за стенкой уже не выйдет сделать.
Ах да, было бы неплохо еще иметь крутилку для high pass и low pass, чтобы можно было их крутить как pitch и volume.
__________________
Мой мод на Xash
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
__________________
Kiss my ass if you don't like my Ford!
------------------------------------------
Game Area51 Update 1
First Person Shooter Released Jul 24, 2017
The game is a 3d shooter with the elements of the quest.
http://button.moddb.com/download/medium/125531.png
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
Мой мод на Xash
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Временная зона GMT. Текущее время 02:34. | Страницы (32): « Первая ... « 22 23 24 25 [26] 27 28 29 30 » ... Последняя » Показать все 479 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024