Войти
ПрограммированиеФорумГрафика

Рендер как в Minecraft-е - кто нибудь знает основные "секреты"? (100 стр)

Страницы: 196 97 98 99 100 101 Следующая »
#1485
10:31, 17 янв. 2018

СерыйМыш
4 млн граней. Както отсекаешь перекрытые?


#1486
13:01, 17 янв. 2018

>Методику оптимизации бессовестно украду на будущее.
Рад буду если хоть кому-то пригодится на практике.

>одна из самых затратных статей для ИИ
Мне казалось, для ИИ эта техника меньше всего подходит -- или мы имеем в виду разные вещи.
ИИ просто должен думать на пониженной частоте - скажем, 10 кадров в секунду, как в Quake 3.

У меня ещё было продолжение этой идеи, насчёт ленивых рейкастов для вижу/не вижу оппонента. Луч бьётся на отрезки, распределяемые по субчанкам. А потом проверку проходит/не проходит выполняет субчанк, батчем для всех отрезков, которые у него накопились. Причём, за тик лишь часть субчанков делает это, таким образом, чтобы по ним всем цикл проходил примерно за секунду. Причём, ещё на этапе разбиения на отрезки, пустые субчанки "только воздух" вообще игнорируются, а хоть один монолитный "только камень" даёт моментальный фейл.

Это должно сильно оптимизировать тьму рейкастов для толпы монстров, опять за счёт уменьшения загрязнения кеша, ценой невеликого усложнения: проверка не мгновенная, а сродни подписке на событие.
Помимо этого возможно объединение монстров в стайки, где один думающий, а остальные - ведомые.

#1487
14:25, 17 янв. 2018

Привет всем:)
Переработал на днях многопоточность в движке и появилась возможность использовать более интересные тестовые генераторы:)
Прям залип на них)
Записал демку в редакторе: https://cloud.mail.ru/public/4Jvk/vCoM74rSJ

#1488
19:07, 17 янв. 2018

MrShoor
> > Скока-скока фейсов?.. 0.o
> Вроде же не много. Вот тупо в блендере накидал высокодетализированных торов:

Для 2012 года и раритетного радеона 9800 это было прилично.

Aslan
> 4 млн граней. Както отсекаешь перекрытые?

Я же написал вроде. При сборке VBO выкидывались все смежные грани.

MrShoor
>> Разреженный куб 64*64*64, примерно 40% заполнение, по 6 граней (фейсов) на
>> куб
> Как не перемножал - ну не выходит у меня 4М и все тут.

Вру. Не 64*64*64
128*128*128=2097152
2097152*40%*6=5033164, примерно 20% из них - смежные, итого 4 млн фейсов/8 млн трианглов. Всё сходится.

#1489
20:12, 17 янв. 2018

Cheb
> объединение монстров в стайки, где один думающий, а остальные - ведомые

Шикарная идея. Очень атмосферненько должно выглядеть, особенно применительно к какому-нибудь демону, вокруг которого бегает стайка бесов. И как только он выслеживает игрока и выходит на нужное расстояние, то натравливает своих подчинённых в ближний бой, а сам лупит дистанционными атаками.

#1490
20:40, 17 янв. 2018

У меня уже готова графическая часть на клиенте, но пока без UI. Используется Unity3D C#.
На GTX770 выдает такие результаты:

+ Показать

Качество скриншота пришлось сильно ужать из-за ограничений загрузки. Размер карты 128х128 блоков, там внутри еще разломы и пещеры.
8,7 млн треугольников, 31.7 млн вершин. Выдает в среднем 70fps.

Текстуры для dev-версии используются майнкрафтовские, потом надо будет нарисовать новые и заменить. Звуков тоже пока нет. Но на данный момент этого достаточно.

Проект был приостановлен почти на 2 года. Но и сейчас не так много времени могу на него тратить, поэтому какие-то ощутимые результаты будут неизвестно когда.

Сейчас начал работать над сервером. Пока только над подключением клиентов и обменом пакетами.
Остальное (физику, генерацию мира, ИИ) буду пилить когда добьюсь стабильности, и будет зависеть от возможностей сервера.

#1491
22:32, 17 янв. 2018

СерыйМыш
> и раритетного радеона 9800 это было прилично.
Ну для такой видеокарточки да (а в скриншоте инфы по железу у тебя нет). Но ведь товарищ Cheb удивляется такому количеству полигонов сегодня. А сегодня 4M фейсов ниочем вообще. Поэтому я не понимаю его удивления.

#1492
12:54, 18 янв. 2018

Я слишком долго общался с fromhell чья фанатичная поддержка openarena (OpenGL 1 форева) и увлечение софтверными растеризаторами типа первого квейка наложили свой отпечаток.

#1493
20:28, 19 янв. 2018

Cheb
> Я слишком долго общался с fromhell чья фанатичная поддержка openarena (OpenGL 1
> форева) и увлечение софтверными растеризаторами типа первого квейка наложили
> свой отпечаток.
Надо было в конце добавить:
И вообще, я уже слишком стар для всего этого дерьма (с)
:D

#1494
19:57, 21 янв. 2018

Programmer777
> Размер карты 128х128 блоков, там внутри еще разломы и пещеры.
> 8,7 млн треугольников, 31.7 млн вершин

СерыйМыш
> 128*128*128=2097152
> 2097152*40%*6=5033164, примерно 20% из них - смежные, итого 4 млн фейсов/8 млн
> трианглов. Всё сходится.

Действительно сходится )

#1495
18:24, 26 янв. 2018

Удалось собрать первый стабильный билд движка с применением технологии il2cpp :)
Практически полностью была переписана консоль, т.к. начальная реализация использовала AOT-компиляцию и выполнение кода, что не допустимо при использовании il2cpp.
Ну и временно перевёл работу с воксель-моделью в основной поток выполнения.

Управление:
ESC - выход
Tab - открытие/закрытие консоли
AWSDQE - перемещение камеры
LShift - ускорение
Space - замедление
ЛКМ - установить блок (по умолчанию - id=1, изменить можно командой setAddBlock id)
ПКМ -  удалить блок
CКМ - запуск сферы смерти;D

Команды gen*/start* умеют принимать несколько параметров (id, позиця, т.д.).
У большинства параметров заданы значения по умолчанию.
ID можно задать от 1 до 6 (всего 6 блоков).
Если задать ID == 0, будет сгенерирована структура из случайных блоков.

Рекомендуется в пункте Graphics quality выбрать NoShadowSync.
Там есть вариант с тенями Unity, но он лишь для посмотреть.

Билд (Windows x64) качать отсюда: https://yadi.sk/d/6g8VNfOl3Ro3FP

#1496
18:55, 26 янв. 2018

И всё-таки интересно, какую максимальную производительность возможно выжать из рейкастинга. Рейкастинг интересен тем, что позволяет неограниченное количество изменений в мире без лагов. В майнкрафте трейдоф в сторону статичного мира.

#1497
20:39, 26 янв. 2018

neumond
Вот основа для написания рэйкаста:
Если 4 луча, пущенные через стороны квадрата, параллельного одной из плоскостей OXY, OYZ, OXZ, уперлись в один куб, то
и все лучи между ними также упрутся в тотже куб, не будучи перекрыты каким-либо другим кубом

Прошло более 8 месяцев
#1498
18:26, 12 окт. 2018

UP

Кто-нибудь знает пример реализации более-менее реалистичной физики блоков в майнкрафтоподобных играх? Ну, чтобы всякие конструкции под нагрузкой рушились, блоки, висящие в воздухе, падали и т. д.

#1499
19:56, 12 окт. 2018

Panzerschrek[CN]
https://minecraft.curseforge.com/projects/valkyrien-warfare

Страницы: 196 97 98 99 100 101 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.