Страница 8 из 11

Re: Воксельные изыскания

СообщениеДобавлено: 16 апр 2015, 06:31
bwolf88
waruiyume писал(а):http://unity.ogf.su/Documentation/ScriptReference/Object-hideFlags.html

То есть в террейне таким флагом скрываются объекты ?

Re: Воксельные изыскания

СообщениеДобавлено: 16 апр 2015, 06:32
gnoblin
вот надеюсь что портанется он на шарп тоже). то что ты делаешь на шарпе - это круто!

про HideFlags меня опередили)

Re: Воксельные изыскания

СообщениеДобавлено: 16 апр 2015, 06:38
waruiyume
То есть в террейне таким флагом скрываются объекты ?

Не думаю, скорее всего там прямая связь с графической либой :ymhug: Можно рефлектором, конечно, попотрошить, но там наверняка вызов неуправляемого кода.

Re: Воксельные изыскания

СообщениеДобавлено: 16 апр 2015, 06:41
bwolf88
waruiyume писал(а):
То есть в террейне таким флагом скрываются объекты ?

Не думаю, скорее всего там прямая связь с графической либой :ymhug: Можно рефлектором, конечно, попотрошить, но там наверняка вызов неуправляемого кода.

Именно так, я уже через IlSpy половину юнити кода перелопатил и кстати, в нем много чего не очень быстрого есть, хотя и в самом шарпе много чего не очень быстрого есть :).

вот надеюсь что портанется он на шарп тоже). то что ты делаешь на шарпе - это круто!

Еще бы найти спеца по 3Д геометрии, который бы подсказал как адаптивную сетку лучше организовать.

Re: Воксельные изыскания

СообщениеДобавлено: 16 апр 2015, 06:58
MF_Andreich
Смотря что от адаптивной сетки требуется... стукни в скайп, авось чего придумаем =)

Re: Воксельные изыскания

СообщениеДобавлено: 19 апр 2015, 11:01
bwolf88
Снова тесты, пока ничего революционного.
Намного ускоренная генерация чанков. Дополнительно добавил поддержку простых цветов с раскраской блока в 24битный цвет.
Теперь ограничения больше по видеопамяти и оперативке.
На видео прогрузка карты 1400х700х1400 блоков - 171500 чанков, почти 1,5 млрд блоков с двухпроходным 6 октавным перлином генерации биомов + двух-трех проходным 7-10 октавным перлином карты высот + рандомная генерация оттенка зеленого на каждый видимый блок. Пока цвета всех биомов одинаковые с цветом не заморачивался )). Каждый блок - 10 байт информации.
Поставил ограчения на обработку 150 чанков/кадр. Моя видюшка помирает )), но процик нормально отрабатывает.
Скорость камеры~ 60 км/час. Можно на машинке гонять :D.

Теперь когда устранены все захлебывания от количества, можно думать на счет ЛОДов, либо делать простое упрощение геометрии, либо полностью упрощение с блоками. Или забить :).

Re: Воксельные изыскания

СообщениеДобавлено: 19 апр 2015, 14:53
bwolf88
Сегодня открыл для себя любопытную штуку :D.
Можно обкладывать юнитековские примитивы вокселями.
Для теста - обкладываю стандартный кубик блоками в 6 см.
Да и кстати переделал чанки, что теперь можно использовать блоки любых размеров хоть милиметр, правда много их все равно не засунешь в экран, но можно свой Voxatron запилить, там как раз маленькие воксели. Хотя я тут прикинул, если использовать только кубики и проходить гридиком по мешу, то можно метров 40-50 в объеме сделать. Допустим тайкун какой нибудь или платформер, хотя в платформерах едва 10-15 метров на экране помещается.


Re: Воксельные изыскания

СообщениеДобавлено: 21 апр 2015, 00:48
bwolf88
Запилил базу LOD уровней, соединять разноуровневые блоки еще не научился, но сама схема работает :). И кеш измененных блоков работает пока только с минимальными блоками без смены детализаций.
Минимальный блок 0,5м, дистанция 80 м.
Максимальный блок 4м, дистанция 640 м.

Загрузка такой карты около 2-3с :).

Без перлина еще терпимо, с перлином уже проседания заметны. Нужно будет провести пару оптимизаций.
Вообщем начало положено :D.


Re: Воксельные изыскания

СообщениеДобавлено: 04 май 2015, 02:38
bwolf88
Снова переписал почти всю логику на чистый шарп, от юньки остались только вектора и color. Еще немного ускорил генератор.
Теперь можно использовать любой размер чанка в разных направлениях (в разумных пределах).
Наконец то начал полноценно использовать наследования и абстракции, тем самым избавился от четверти кода.
Так же начал делать редактор объектов. Не знаю что получится :).

На видео тест псевдо 2Д карты. Хотел сначала полноценный 2Д, но не понравились 2Д коллайдеры - не получается сделать одним коллайдером разделенный меш, поэтому буду пробовать из 3Д кубиков и меш коллайдера делать.



UPD: добавил поверхностный слой, думаю, может еще как нибудь внутри слоенный пирог сделать :-?.

Re: Воксельные изыскания

СообщениеДобавлено: 07 май 2015, 03:21
bwolf88
Добавил тестовую гуйню и наконец то доделал красилку :). Красить можно только блоки которые устанавливаются.
На выбор 4 тестовых "материала" на "1" диффуз, "2" со спеком, "3" металл, "4" стекло.
Есть горячие клавиши, но расписывать лень и они сейчас неудобные :). Менюшка не игровая, а для будущего редактора.

Тестовый веббилд. Карта - почти плоскость 640х640 метровыми блоками.
First_Build

Re: Воксельные изыскания (тестовая веб сборка)

СообщениеДобавлено: 21 июн 2015, 09:02
Cr0c
А продолжение будет? Очень интересный проект! У Вас это будет плагин к юнити или отдельный проект для практических изысканий?

Re: Воксельные изыскания (тестовая веб сборка)

СообщениеДобавлено: 22 июн 2015, 21:44
bwolf88
Пока изыскания. Продолжение будет, я ненадолго оставил воксели и в пытался влезть в сетевую архитектуру. В целом, наконец то дошел (не без помощи сетевого гуру) до того как сделать расширяемую базу сервер/клиента, заодно поняв как эти знания можно применить для обычных проектов и с этих выходных снова занялся: переписал (это уже 4-й раз переписываю :D) на свой простенький поточный менеджер и сделал более гибкую архитектуру. Теперь можно легко менять модули алгоритма расчета меша, биомов и карты высот + стабильный фпс и контролируемая нагрузка на проц. Голый террейн выкладывать смысла нет, как дойду до генерации растений и объектов, если будут результаты, то снова чего нибудь выложу.

Re: Воксельные изыскания (тестовая веб сборка)

СообщениеДобавлено: 27 июл 2015, 10:13
bwolf88
Давненько не писал. После небольшого перерыва снова возобновил свои изыскания.
Двиг полностью переписан в четвертый раз. Теперь это почти независимая либа, единственное пока сохраненки с юнитековскими данными вшиты, чтобы можно было в вебе обходить system.IO. Почти каждую часть, начиная от описания блока до полного распаковшика мешей можно написать извне и прикрутить. Так же можно использовать практически любую карту высот, пробовал текстуры, вороного, террейн, шумы, простые формы.
Сохраненки теперь региональные - куб размерами 128 или 256 метров. Хранить все в одной куче как в Blockscape оказалось не прикольно. Все изменения теперь проходят через кеш-сохраненку, так что написав ее извне, теоретически можно подключить сетку для приема/передачи данных.
Пока отказался от любых размеров чанка, поскольку float после 10 км начинает терять в точности и становятся видны разрывы между ними. Привязал их к целым числам. Так же пока отказался от ЛОДов, не тяну геометрию )). Скорей всего в 5 версии буду снова пытаться.
Из нового: 6 слотовый трипланарник для земли - долой резкие переходы, правда для красивого бленда уходит достаточно много вычислений. Так же можно блендить цветовые блоки. Откопал шумовую либу, теперь горы похожи на горы, да и вообще местность выглядит приятнее и возможностей стало побольше. Количетсво блоков ограничил 65к, туда же входят трава, цветочки и т.п. Трава и цветочки уже есть, поскольку они являются блоками, то с ними проблем нет, но на видео их нет. С деревьями и другими объектами даже не знаю что делать, все таки двиг из кубиков и прикручивать внутрь объекты как то неправильно. На самом деле я уже прикручивал объектные деревья с пару недель назад, когда экспериментил с нативным террейном смотрелось неплохо, но нужно придумать что то другое, чтобы двиг оставался чисто процедурным, может в юнити отдельные чанки для деревьев создать...
Вода пока не текучая, но тоже из блоков, для красоты просто.
Вообщем потихоньку продолжу пилить :).


Re: Воксельные изыскания (тестовая веб сборка)

СообщениеДобавлено: 30 июл 2015, 11:23
bwolf88
начал делать расстановщик травы и объектов. Точнее траву почти закончил, а вот с объектами нужно будет какой нибудь пул придумать, а то лаги страшенные при добавлении/удалении кучи деревьев. Несмотря на то что расположение травы и деревьев кажется хаотичным (что сделать было непросто (popcorn1)), на самом деле они жестко привязаны к ячейкам сетки и маркируются как блоки. Посадка каждого вида травы или объекта контролируется углом наклона поверхности и максимальной/минимальной высотой поверхности.
Что не нравится это то, что генерация проходит в 3 захода - земля, трава, объекты. Если еще воду делать текучую, то будет еще один заход, А если еще генерить заранее сконструированные воксельные патерны - еще один, что не очень прикольно.
На видео трава и деревья из стандартного пака, на досуге поищу или поделаю еще контента чтобы разнообразить картинку.


Re: Воксельные изыскания (тестовая веб сборка)

СообщениеДобавлено: 30 июл 2015, 11:27
MF_Andreich
Шикарно бы смотрелись шейдеры "нереалистичные". Не cell shading конечно, но хотя бы что то стилизованное. WoW-like к примеру =) А так - шикарно, сразу видно, что с момента начала, проделана огромная работа.