![]() |
Ответ: [TrueHorror] - разработка
Как правильно организовать перемещение персонажа? Сейчас у меня метод "в лоб". Создаем капсулу вокруг игрока и задаем ей линейную скорость в нужно направлении, отсюда всякие косяки в виде плохого перемещения по лестницам и наклонным поверхностям( даже когда трение выставлено в ноль ). Поэтому появилась идейка сделать перемещение на рейкастинге. Замысел такой: бросаем луч вниз под игроком, находим точку пересечения и перемещаем в нее игрока, затем кидаем еще луч перед игроком на небольшом расстоянии от него тоже вниз но с начальной точкой чуть выше точки пересечения первого луча( то бишь - высота шага ), если есть пересечение то можно сделать шаг -> делаем интерполяцию между двумя полученными точками. В принципе, такой подход работает и довольно неплохо. Но как делают труЪ пацаны?
|
Ответ: [TrueHorror] - разработка
Цитата:
по-твоему получается что можно идти сквозь стол, т.к. лучи все проверяться под столом будут. |
Ответ: [TrueHorror] - разработка
Цитата:
|
Ответ: [TrueHorror] - разработка
L.D.M.T. Выкладывал исходники для Blitz3D и среди прочих, лежал ничем не примечательный - fpstest. Вот в нём, идеальное управление, мне так кажется. Думаю, тебе не составит труда адаптировать его под C++
Вот кусок. Цитата:
А вообще, игра нормально идёт. Умудрился провалиться со второго этажа сквозь пол, а так всё норм. Cтелс как в Skyrim, темно как Alone in the Dark, страшно как в кино, только графику подправить бы. Ты игры делаешь и ракеты запускаешь, мне бы твои таланты... |
Ответ: [TrueHorror] - разработка
Исправил много багов и поправил прозводительность. В общем в каждой части рендера было много CreateStateBlock() и таким образом я доверял стейты директу, как выянилось после профайлинга на этих стейтблоках падает до 15 процентов производительности, выпилив их в взял контроль над стейтами в свои руки я повысили производительность на 20 процентов( убрав лишние изменения стейтов - у меня Pure-device ). Сделал выбор с вертикальной синхронизацией или без. Максимальный фпс на моей машине - 90 к\с в шахте( тени от спотов и FXAA ).
Так вот тут сразу вопрос. Обычно я считал дельта-тайминг и просто домножал все значения на него чтобы игра шла нормально при любом фпс. Когда фпс от 30 до 60 кадров то все нормас работает, когда выходит из этих границ начинается ебала. В общем игра начинает работать не стабильно и физика тупить начинает. Как труЪ пацаны делают дельта тайминг? Читал это , но мне тамошние подходы не помогают. |
Ответ: [TrueHorror] - разработка
Я бы так сделал (в Unity ограничение по времени работы физики на кадр задается):
PHP код:
|
Ответ: [TrueHorror] - разработка
Я тут подумал, скорее всего Render() в самый конец надо бы поставить, после цикла физики... и в Unity 50 раз по умолчанию в секунду физика работает, т.е. шаг физики 0,02 с (1/50)
|
Ответ: [TrueHorror] - разработка
Попробую так сделать.
Вопрос теперь по графическому конвейру. Вызов SetRenderState( D3DRS_COLORWRITEENABLE, 0 ) выключает запись цвета в буфер кадра, исключает ли он при этом работу пиксельного шейдера? Иными словами, при выключенной записи в буфер кадра будет ли работать пиксельный шейдер? |
Ответ: [TrueHorror] - разработка
Цитата:
советуют ставить NULL на PS: http://www.gamedev.net/topic/641257-...pass-worth-it/ не факт, потому что, к примеру, ты можешь делать clip/discard в шейдере, что повлияет на глубину тоже. мне думается, что умный драйвер может не выполнять шейдеры, если дискарда точно нет, и запись выключена, но я не проверял. |
Ответ: [TrueHorror] - разработка
Я просто оптимизациями занимаюсь, и пока довольно успешно( ибо уже выжал 30% ). Так вот деферед у меня организован хорошо, но есть один момент.
Код:
для каждого источника света Код:
bool boundingVolumeRender; |
Ответ: [TrueHorror] - разработка
2pax, плохо работает, физику все равно начинает шатать, что аж улетаю в небеса. буду сидеть разбираться, может найду выход из этой тупой ситуации.
нашел это - http://bulletphysics.org/mediawiki-1...ical_Game_Loop попробую реализовать |
Ответ: [TrueHorror] - разработка
Наконец-то все работает так как должно. Нужно было сразу загуглить bullet physics low fps. :-D
В общем одной проблемой меньше |
Ответ: [TrueHorror] - разработка
Цитата:
|
Ответ: [TrueHorror] - разработка
Все равно спасибо за то, что помогаешь.
|
Ответ: [TrueHorror] - разработка
|
Часовой пояс GMT +4, время: 17:52. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot