2 Дядя Миша: кстати насчет декалей, можно ли как-то подправить чтобы снаряды, стрела арбалета, ракета и т.д. тоже оставляли на НПС декали? А то я заметил в старой версии что исключительно пули их оставляют, снаряды нет, хотя в коде арбалета я заметил код для декалей на моделях. Ну и именно в КсашМоде в старой версии вроде гаусс при стрельбе в небо или в воду не помню точно не рисовал свой луч.
Ну что же товарищи, подключил новый код сетапа костей из расширенного формата студиомоделей. Красота, всё можно блендить, инверсную кинематику включу вам
Кстати по инверсной кинематике што интересно. Это же чисто клиентский эффект, достаточно сделать модельку правильно и она сразу начнёт ставить ноги на лестницы.
Кстати по инверсной кинематике што интересно. Это же чисто клиентский эффект, достаточно сделать модельку правильно и она сразу начнёт ставить ноги на лестницы.
C инверсной кинематикой вылезла проблема, о которой я давно уже подозревал. Код ходьбы по ступенькам на сервере рывком подымает монстра на верхнюю ступень, причём раньше чем эту ступень нащупают собственно ноги. Таким образом кинематика просто не отрабатывает. В сорсе эту проблему частично решили сделав хулл монстров потоньше - в ку2 ведь можно делать трассу хуллом произвольных размеров. Не скажу что это помогло на 100%, ноги успевают отработать половину секвенции, а затем код рывком переносит монстра наверх. Пытаться разрулить это на сервере просто опасно - ради чисто визуального эффекта можно сломать ИИ. Моя задумка заключается в том, чтобы плавно интерполировать оригин монстров при поднятии на ступеньку, по аналогии как это сделано для камеры игрока. Клиент ничего не знает про хуллы и ориентируется только на оригин модели, следовательно это должно сработать.
Ну а в тех моделях, где нет IK это тоже улучшит визуальный подъем, так что сплошная польза. Самое главное подобрать время задержки интерполяции таким образом, чтобы оно совпало с реальным временем, которое требуется чтобы снять\поставить ногу на ступеньку, примерно 0.1-0.2 секунды.
Post automatically merged:
А и саму интерполяцию сделать не линейной, а обратно-квадратичной.
А я тем временем завёл скелеталку на шейдерах на радионе X1600.
Ну что можно сказать? Производительностью карточка не блещет, на глбегинах тестовая карта с аликс выдаёт 8 фпс, а на шейдерах - целых 33. Я напомню GT9800 на глбегинах выдаёт 23 фпс, а на шейдерах - 240 (с отключённым MSAA).
Post automatically merged:
О! На радике отключение MSAA тоже немного помогло. ФПС вырос до 37.
Post automatically merged:
Тут попутно вот еще что выяснилось. Старые радики возвращали правильное кол-во юниформов. Это у новых надо всё делить на 4.
Post automatically merged:
На простых модельках, типа халфовских учёных что с шейдером, что без шейдера фпс одинаковый.
Post automatically merged:
На картах с фримонами глбегин - 36 фпс, шейдеры - 97 фпс. Дело тут не в шейдерах конечно, а в VBO, но я уже так по привычке называю, поскольку этот VBO без шейдеров всё равно не трансформировать.
Post automatically merged:
На этом радике оказывается есть GL_ARB_draw_buffers, то есть можно отложку сделать.
Post automatically merged:
Кстати VAO на этой древности есть совершенно точно. Так что обновляйте драва, если у вас вдруг его не окажется. Эта хрень помоему вообще в драйвере, а не в железе.
Да у кого ж сейчас такие видимокарты? У подавляющего большинства интел на ноутах и более новые карты от тех же производителей в нормальных, простите, стационарных-башенных ПК. Самый минимум - это радик 77XX и гефорс 5XX. Ну и встроенный интел HD Graphics 4000 и выше. Зачем сохранять совместимость со старыми картами, если они есть только у тебя и 3.5 анонимусов?
2 Ku2zoff: ты суть не ухватываешь. Если я это всё смогу на древнем железе оптимизировать, представляешь как оно на современном летать будет.
Да и потом ксаш мод тоже должен на большинстве утюгов заводиться, это часть его идеологии.
Post automatically merged:
И вообще что значит 3.5 анонимуса? Ксаш мод во всём мире знают, так-то!
2 Дядя Миша: >> представляешь как оно на современном летать будет.
Не всегда так. У меня вот дум2 на Целероне лагал страшно до жути, выдавая 4фпс, а на старом железе играл нормально.
Тоже самое, кстати, с халфой было. На какой-то из карт с динамическим светом старый Целерон 1.7 выдавал стабильные 60 фпс, в то время как новый ноут, пусть даже с интегрированной видюхой, проседал до 20ти конкретно в этом месте.
2 DrTressi: на восьмом поколении жирафов произошло эпохальное событие - отказ от фиксированного конвейера. Для тех кто играл в самые свежие игры это осталось незамеченным,а любители старых игр порой совершали удивительные открытия, как мол это так, сталкер ворочается шустрее халфы. А вот так!
Ну что же, путём длительных размышлений удалось сократить кол-во юниформов на одну кость до семи штук (кватернион + позиция) и при этом не утратить произвольный скейл по трём осям. У меня получилось анимировать 72 кости с развесовкой на Radeon X1600 Pro. Т.е. на 512-и юниформах.
Post automatically merged:
ЗЫ. Это уже достоверно полученный результат, я проверил что оно действительно работает и не глючит. Тестил на сорсовском гымене - 70 костей + развесовка.
Post automatically merged:
Кстати. Как вы помните там была еще проблема с рендерингом мира в параное, которая заключалась в отсутствии модификатора flat. Это тоже мной успешно решено и тоже будет работать на древнем железе.