![]() |
Ответ: [TrueHorror] - разработка
свет то статичный , зачем динамика для карты ?
|
Ответ: [TrueHorror] - разработка
Цитата:
|
Ответ: [TrueHorror] - разработка
Тестировал на следующем конфиге:
Dual-Core T4400 (2.2ГГц), 2ГБ ОЗУ, NVIDIA GeForce G105M FPS 10-15. Если сразу сложно оптимизировать, то сделай хотябы чтобы скорость игры не зависела от fps, а то как черепаха плетется. Значит по игре: записки читать это я так понял надписи внизу экрана и все? Или можно как то развернуть на весь экран как газету? Скрипты вроде работают но не все - не катится одна из бочек (которая должна пинать в спину ГГ, когда тот спускается вниз по длинному коридору), не падает железный поршень (или это просто труба?), который должен размолотить доски, перекинутые через яму, не работает тумблер от двери под красной лампой, а также пропал zoom-эффект при выходе из генераторной. Однако я заметил вроде искры в главной комнате с вентилятором появились. И еще вроде то-ли текстуры, то-ли освещение стало поярче (это хорошо). Делай больше упор на шейдеры - ими можно значительно улучшить картинку минимальными затратами, хотябы базовые эффекты типа бампа, параллакса, лучей, каких-нибудь пост-процесс эффектов. Я у себя в аналогичном d3d9 движке с шейдерами через id3dxeffect работаю и это удобней, если только ты не собираешься какую то свою систему сборки и редактирования эффектов делать. У тебя кстати год назад были относительно неплохие шейдеры, куда они делись? |
Ответ: [TrueHorror] - разработка
Цитата:
Про шейдеры. Для освещения бампа будет достаточно. Параллакс слишком много ресурсов жрет. Постэффекты просто жизненно важны, иначе требуемого погружения в игровую атмосферу не будет. Неплохо было бы добавить эффект запыленного воздуха. Как это сделать? Постпроцессом? Или квадами полупрозрачными с текстурами? В общем разработка идет черепашьим ходом. Из-за обилия кодинга не остается времени на моделирование карты и объектов населяющих ее. |
Ответ: [TrueHorror] - разработка
Цитата:
|
Ответ: [TrueHorror] - разработка
Цитата:
С туманом все просто - подходит для равномерно освещенного помещения. Объемный свет нужно показывать там где есть яркие источники света, особенно когда он проникает в помещение через щели, окна и т. п (понятно что видна пыль освещаемая светом, а не сам свет). Есть техники отрисовки объемного света более простые, типа godrays или т. п., но они подходят только для бесконечно удаленных источников света (то есть с параллельным его распространением), такие как солнце, луна - то есть источник должен быть дальше чем любой элемент сцены. Есть более сложные техники volumetric light - они могут применяться к любому источнику в сцене, вроде в crysis есть такие шейдеры. Частицы нужны чтобы лучше показать объем, сделать воздух более осязаемый, когда через него камера двигается. Ну спрайтами можно рисовать конкретные клубы пыли или дыма, которые еще не успели равномерно рассеятся, например как дым сразу после выстрела из оружия. Например в Метро 2033 неплохой дым/туман - можешь почитать как там делали. Для начала посмотри http://http.developer.nvidia.com/GPU...pyrightpg.html - там есть несколько частей книг, ну а вообще есть более продвинутые http://software.intel.com/en-us/blog...sample-updated, но я не уверен что это можно впихнуть в shader model 3.0 |
Ответ: [TrueHorror] - разработка
Суть такова.
Потратив два денька я добился повышения производительности. Тестировал на такой конфигурации: Intel Atom 1.66 ГГЦ - 2 ядра, 2 Гб ОЗУ, Intel GMA 3150( тащит вторые шейдеры ( только вершинные обрабатываются CPU )). Пиксельный шейдер теперь обрабатывает только один источник света. В итоге до оптимизации куда ни глянь: 1-2 кадра в секунду После оптимизаций рендерера: 6 кадров в секунду на очень загруженном участке сцены( 190 объектов - 23 источника света ) и 15 кадров при взгляде в потолок или пол ) Оптимизации: проверка попадания объекта в пирамиду видимости, отсечение источников света которые не в кадре, проверка влияния света на объект. Еще нужно добавить Quadtree для статической геометрии( уровень ) - тогда вообще прирост производительности будет серьезным. Появился z-fighting. Алгоритм отрисовки такой: Код:
составить список объектов в кадре Из-за такого подхода появляются баги - описывать не буду - очень хорошо заметны при входе в проломленную стену. Как исправить? ЗЫ. За эффекты по не брался Cкачать |
Ответ: [TrueHorror] - разработка
2mr.DIMAS
Гораздо лучше. 20 fps в нагруженной сцене (в начале) и 60 если отвернуться к решетке (на месте старта). В пол и потолок где-то 30. По поводу производительности: по всей видимости с шейдерами теперь все в порядке - падение fps видимо из-за циклов в коде движка, когда ноды перебираешь или т. п. По поводу zfighting'а: мне кажется это не zfighting (его раньше же небыло на той же геометрии). Скорей всего у тебя источник света пограничный то появляется, то пропадает, и из-за этого начинает мигать освещаемая поверхность. По поводу алгоритма: проверять на попадание в кадр не стоит. Представь себе лампу которая над головой, или фонарик на каске - их не видно, но они должны освещать все что в кадре. Вообще чтобы быстрее определять какие источники что освещают, нужно использовать octree например. Пока у тебя их нет, я могу предложить кешировать запись о статической геометрии в список каждого статического источника, если геометрия и источник не двигаются друг относительно друга, то обходить достаточно только список. Также можно ограничить источник по дальности - если объект далеко то сразу убираем его. И еще о непопадании в кадр и octree (или quadtree, чего там у тебя будет). Вот например тени: представь себе что сзади камеры находится объект, за объектом источник света, а перед камерой стена. Свет от объекта сзади должен падать на стену спереди камеры, хотя сам объект не видно и по логике он должен отсекаться фрустумом. Здесь зависит от реализации тени, если это карта которая рендерится с камеры с позиции источника света, то тогда возможно все будет в порядке, потому что как раз во время рендера карты объект будет во фрустуме, но если ты строишь тень каким либо другим геометрическим способом то могут быть артефакты. Об этом нужно помнить при реализации подобных пространственных эффектов (лучи, тени и т. п.). Например такой артефакт был в Gothic3 - там правда не объект пропадал, а его анимация останавливалась, и когда чел бежал за игроком, его небыло видно, но была видно его тень и было видно что анимации нет. И еще насчет деревьев: попробуй сначала BSP или даже еще проще - обрабатывай только текущее помещение и соседние, в которые есть открытый проход. Таким образом ты избежишь неприятностей которые я выше описал с octree, а также источникам света нужно будет обходить с проверкой только объекты в данных помещениях, а не по всей карте. |
Ответ: [TrueHorror] - разработка
Цитата:
BSP - сложноват для начала. С деревьями работал последний раз года 4 назад. Octree делал - работало очень даже шустро Насчет octree. Оправдано ли? Может производительней будет Quadtree? |
Ответ: [TrueHorror] - разработка
Цитата:
|
Ответ: [TrueHorror] - разработка
Т.к. сюжета в игре еще нету, что если за основу игры взять объекты из SCP? Сделать что-то наподобие SCP: Containment Breach( который на B3D сделан :) ), только без рандомной генерации уровней( а может и с ней ).
http://scpfoundation.ru/scp-list - тут просто огромный список интересных объектов, просто мимо пройти не могу, затянуло. Напишите свое мнение. |
Ответ: [TrueHorror] - разработка
Так я думал ты решил тот сюжет про научного сотрудника юзать. Если нужны детали то могу чего-нибудь доработать.
Да у меня тоже была мысль про SCP. Только тут, имхо, нужно либо целиком игру посвящать SCP, либо делать только несколько отсылок к SCP, мешать SCP в одинаковых пропорциях с чем-то еще не стоит наверное, а то непонятно про что игра будет. Может быть SCP можно еще как источник интересных игровых механик рассматривать, брать их за основу, но потом доводить самостоятельно до оригинальной концепции. Так что если SCP будет заметно в игре, то игрок сразу подумает "Ага, еще одна игра про SCP..." и в его голове сразу будут возникать ассоциации с SCP, и предложить ему какую-то другую игровую вселенную уже будет трудно, потому что он все будет воспринимать как часть вселенной SCP. :crazy: |
Ответ: [TrueHorror] - разработка
Цитата:
Цитата:
P. S. Я то только за, если ты возьмёшь какой нибудь SCP сюжет :) |
Ответ: [TrueHorror] - разработка
Цитата:
Эй, комьютерные игры это же часть искусства, их и так с бизнесом смешали и заюзанными шаблонами напичкали, а еще всякие scp их ниже плинтуса опустят, особенно при бездумном его копировании. :SOS: |
Ответ: [TrueHorror] - разработка
Цитата:
SCP как раз не глупое. Цитата:
Похоже ты на какие-то свои мысли писал... |
Часовой пояс GMT +4, время: 18:14. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot