То есть в террейне таким флагом скрываются объекты ?
Re: Воксельные изыскания
Добавлено: 16 апр 2015, 06:32
gnoblin
вот надеюсь что портанется он на шарп тоже). то что ты делаешь на шарпе - это круто!
про HideFlags меня опередили)
Re: Воксельные изыскания
Добавлено: 16 апр 2015, 06:38
waruiyume
То есть в террейне таким флагом скрываются объекты ?
Не думаю, скорее всего там прямая связь с графической либой Можно рефлектором, конечно, попотрошить, но там наверняка вызов неуправляемого кода.
Re: Воксельные изыскания
Добавлено: 16 апр 2015, 06:41
bwolf88
waruiyume писал(а):
То есть в террейне таким флагом скрываются объекты ?
Не думаю, скорее всего там прямая связь с графической либой Можно рефлектором, конечно, попотрошить, но там наверняка вызов неуправляемого кода.
Именно так, я уже через 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 км/час. Можно на машинке гонять .
Теперь когда устранены все захлебывания от количества, можно думать на счет ЛОДов, либо делать простое упрощение геометрии, либо полностью упрощение с блоками. Или забить .
Re: Воксельные изыскания
Добавлено: 19 апр 2015, 14:53
bwolf88
Сегодня открыл для себя любопытную штуку . Можно обкладывать юнитековские примитивы вокселями. Для теста - обкладываю стандартный кубик блоками в 6 см. Да и кстати переделал чанки, что теперь можно использовать блоки любых размеров хоть милиметр, правда много их все равно не засунешь в экран, но можно свой Voxatron запилить, там как раз маленькие воксели. Хотя я тут прикинул, если использовать только кубики и проходить гридиком по мешу, то можно метров 40-50 в объеме сделать. Допустим тайкун какой нибудь или платформер, хотя в платформерах едва 10-15 метров на экране помещается.
Re: Воксельные изыскания
Добавлено: 21 апр 2015, 00:48
bwolf88
Запилил базу LOD уровней, соединять разноуровневые блоки еще не научился, но сама схема работает . И кеш измененных блоков работает пока только с минимальными блоками без смены детализаций. Минимальный блок 0,5м, дистанция 80 м. Максимальный блок 4м, дистанция 640 м.
Загрузка такой карты около 2-3с .
Без перлина еще терпимо, с перлином уже проседания заметны. Нужно будет провести пару оптимизаций. Вообщем начало положено .
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-й раз переписываю ) на свой простенький поточный менеджер и сделал более гибкую архитектуру. Теперь можно легко менять модули алгоритма расчета меша, биомов и карты высот + стабильный фпс и контролируемая нагрузка на проц. Голый террейн выкладывать смысла нет, как дойду до генерации растений и объектов, если будут результаты, то снова чего нибудь выложу.
Re: Воксельные изыскания (тестовая веб сборка)
Добавлено: 27 июл 2015, 10:13
bwolf88
Давненько не писал. После небольшого перерыва снова возобновил свои изыскания. Двиг полностью переписан в четвертый раз. Теперь это почти независимая либа, единственное пока сохраненки с юнитековскими данными вшиты, чтобы можно было в вебе обходить system.IO. Почти каждую часть, начиная от описания блока до полного распаковшика мешей можно написать извне и прикрутить. Так же можно использовать практически любую карту высот, пробовал текстуры, вороного, террейн, шумы, простые формы. Сохраненки теперь региональные - куб размерами 128 или 256 метров. Хранить все в одной куче как в Blockscape оказалось не прикольно. Все изменения теперь проходят через кеш-сохраненку, так что написав ее извне, теоретически можно подключить сетку для приема/передачи данных. Пока отказался от любых размеров чанка, поскольку float после 10 км начинает терять в точности и становятся видны разрывы между ними. Привязал их к целым числам. Так же пока отказался от ЛОДов, не тяну геометрию )). Скорей всего в 5 версии буду снова пытаться. Из нового: 6 слотовый трипланарник для земли - долой резкие переходы, правда для красивого бленда уходит достаточно много вычислений. Так же можно блендить цветовые блоки. Откопал шумовую либу, теперь горы похожи на горы, да и вообще местность выглядит приятнее и возможностей стало побольше. Количетсво блоков ограничил 65к, туда же входят трава, цветочки и т.п. Трава и цветочки уже есть, поскольку они являются блоками, то с ними проблем нет, но на видео их нет. С деревьями и другими объектами даже не знаю что делать, все таки двиг из кубиков и прикручивать внутрь объекты как то неправильно. На самом деле я уже прикручивал объектные деревья с пару недель назад, когда экспериментил с нативным террейном смотрелось неплохо, но нужно придумать что то другое, чтобы двиг оставался чисто процедурным, может в юнити отдельные чанки для деревьев создать... Вода пока не текучая, но тоже из блоков, для красоты просто. Вообщем потихоньку продолжу пилить .
Re: Воксельные изыскания (тестовая веб сборка)
Добавлено: 30 июл 2015, 11:23
bwolf88
начал делать расстановщик травы и объектов. Точнее траву почти закончил, а вот с объектами нужно будет какой нибудь пул придумать, а то лаги страшенные при добавлении/удалении кучи деревьев. Несмотря на то что расположение травы и деревьев кажется хаотичным (что сделать было непросто ), на самом деле они жестко привязаны к ячейкам сетки и маркируются как блоки. Посадка каждого вида травы или объекта контролируется углом наклона поверхности и максимальной/минимальной высотой поверхности. Что не нравится это то, что генерация проходит в 3 захода - земля, трава, объекты. Если еще воду делать текучую, то будет еще один заход, А если еще генерить заранее сконструированные воксельные патерны - еще один, что не очень прикольно. На видео трава и деревья из стандартного пака, на досуге поищу или поделаю еще контента чтобы разнообразить картинку.
Re: Воксельные изыскания (тестовая веб сборка)
Добавлено: 30 июл 2015, 11:27
MF_Andreich
Шикарно бы смотрелись шейдеры "нереалистичные". Не cell shading конечно, но хотя бы что то стилизованное. WoW-like к примеру =) А так - шикарно, сразу видно, что с момента начала, проделана огромная работа.