Дядя Миша писал: В CL_LerpPoint условие под #ifdef, так вот то что под 1 - оно больше подходит для синглплеера, а то что в отключённой части - больше для мульта. Надо тестировать.
Поменял их местами, конечно фреймтайм больше не улетает в бесконечность, как это было с исходным вариантом, но и плавно не стало.
Хелп! Вот такая проблема… У меня нпс сидит в далекой комнате, и его видно через монитор. Там же лежит scripted_sentence. Так вот сентенс не играется почему-то. Нпс не шевелит ртом. Но если я ноуклипом подлечу к комнате, то сентенс работает. Ртом шевелит, звук идет. И если отлететь очень далеко, звук не пропадает (в том плане, что когда я прилетаю обратно, сентенс идет дальше, а не начинается сначала).
Как заставить звук запускаться принудительно, даже если игрок не в радиусе и не слышит его?
Aynekko использовать хак с PVS, видимо. AddToFullPack, там энтити фильтруются по PVS. Поставь какой-нибудь спаунфлаг или флаг нужной сентенции, и добавь условие на этот флаг.
Ku2zoff писал: Aynekko использовать хак с PVS, видимо. AddToFullPack, там энтити фильтруются по PVS. Поставь какой-нибудь спаунфлаг или флаг нужной сентенции, и добавь условие на этот флаг.
Я частично решил проблему, переместив комнату поближе к той, где находится игрок. Комната маленькая и замкнутая, и игрока там не будет. Я думал, что т.к. func_monitor в ксаше рисует отображаемую локацию, то звук должен быть "виден"? Не понимаю, как это работает.
Понял только, что если игрок не в радиусе во время запуска, то звук сентенса вообще не запустится. Но если уже запустился, то ему вообще все равно на радиус и видимость.
Aynekko писал: Понял только, что если игрок не в радиусе во время запуска
Если сентенс не в PVS, скорее. А секвенции играются, если комната далеко? Вообще, попробуй активировать разные точечные энтити, и поглядеть, работают ли они.
Цитата:
Aynekko писал: то звук должен быть "виден"?
Звук надо дублировать у монитора, а иначе будет только картинка.
Ku2zoff писал: Если сентенс не в PVS, скорее. А секвенции играются, если комната далеко? Вообще, попробуй активировать разные точечные энтити, и поглядеть, работают ли они.
Работает 100%, ибо есть алерт в startsentence, который успешно пишется в консоль:
PlayScriptedSentence ссылается на PlaySentence, в котором уже идет EMIT_SOUND_DYN. Почему и сделал такой вывод.
Цитата:
Ku2zoff писал: Звук надо дублировать у монитора, а иначе будет только картинка.
В курсе. Я так и хотел сделать. Но сначала мне нужно было увидеть, что нпс двигает ртом, а потом уже ставить звук. Но увы.
И еще кое-что. Я уже сталкивался с такой проблемой со звуком. Была сцена, где включается камера в другой части карты и одновременно активируется звук, через мультименеджер. Звук не loop. Звук не включался, пока я не выставил в менджере задержку. Сначала камера, а потом звук через 0.75 сек.
На самом деле непонятно. Когда я поднял свой сервер локально, и напарник ко мне подключился - всё было идеально плавно даже если у сервера был фпс 20, но вот на других мультиплеерных серверах было всё так же дерганно. Скорее всего, те другие серваки работают ещё на старой версии ксаша, но я не знаю, может ли это быть причиной.
Добавлено 02-05-2021 в 15:34:
А еще репортили, что то ли в QuaternionSlerp, то ли в QuaternionAngle происходит какой-то баг с вычислениями и в e->angles попадают невалидные значения