Страница 1 из 1

Конструктор из примитивов с исходниками

СообщениеДобавлено: 07 июн 2014, 15:57
bwolf88
Сделал еще в мае конструктор из примитивов, оптимизирован на большое количество блоков (отключаемые коллайдеры, у меня около 50к нормально в StandAlone - этого за глаза хватает чтобы построить мега замок или огромный дом или небольшую улицу) кому интересно можете поиграться. Сохранения в веб не работают.

Поскольку конструктор имеет нессколько непреодолимых ограничений, мне не подходящих, выкладываю исходники. Может кому то пригодятся .
https://yadi.sk/d/DOPLvpslZBgeA. Может кто нибудь расширит его для себя.
PS там кажется есть еще и из чьего то проекта сцена. :D


Особенности:
Блоки можно устанавливать в любом месте, на любую грань, шаг установки 0.125f, чтобы отцентрировать зажать Q.

Внизу менюшка выбора типа блока,
Куб 3 размера, Wall - стенки 4 размера, Glass - тонкие стенки (изначально было стеклом) 4, Balk (балки) 2 размера, Cylinder (столбы) 5 размеров, Plane (плашка) 4 размера квадратных, Tab 4 размера цилиндрических.

Сбоку слева менюшка выбора цвета (Glass и Border Glass это прозрачные) (сверхуФПС)
Справа сбоку мини инфопанелька (сверху вниз). Количестов установленных блоков, выбранный блок, выбранный цвет.

Немного неудобное управление (поменял поворот камеры, вместо зажатой правой кнопки мыши сделал левый Shift, потому что менюшка от плеера вылазила):

При взаимодействии с другим блоком, чтобы отцентрировать зажать "Q".
"E" - удаление блока
Колесико мыши меняет размер блока.
Tab поворот блока на 90* (балки еще и по вертикали).
Левый Shift и вертим мышкой - поворот камеры.
"+" - вид от 1/3 лица
Бегать, прыгать стандартно.



ссылка:
http://anidory-photo.tk/CubeDemo/123.html


Планировалось это все переделать в чанковую систему. Есть возможность строить сложные меш фигуры из простых фигур (кубики треугольники, можно и другие прикрутить), но возникли трудности с алгоритмом Greedy Mesh (оптимизация сложных мешей в более простые). Я нашел скрипты на JS и Java, но так и не смог разобраться... :), поэтому пока забросил это.

Re: Конструктор (без названия)

СообщениеДобавлено: 07 июн 2014, 21:32
bwolf88
Все в динамике. Провел тест определения коллизий лучем (RayCast) 72 бота 5 лучей у каждого с периодичностью 0.1 сек. Плюс протестил обход препятствий. Боты могут ломать впереди стоющий кубик если окружены с трех сторон. 1 видео - кубики на основе чанковой системы. Размер территории поиска 1024х1024х8 (8 млн точек) при расчете разрушаемого кубика фпс немного проседает



И похожий тест только в Конструкторе
92 бота, но задача сложнее - ломать не могут, плюс есть непроходимые просветы между препятствиями.Большие препятствия так и не смог научить обходить :D.Те двое что сверху застряли - это запрет падения если снизу нет коллизии.


Re: Конструктор (без названия)

СообщениеДобавлено: 06 авг 2014, 11:45
Neodrop
(3A4OT)

Re: Конструктор (без названия)

СообщениеДобавлено: 06 авг 2014, 18:36
bwolf88
Поскольку конструктор имеет нессколько непреодолимых ограничений, мне не подходящих, выкладываю исходники. Может кому то пригодятся :).
https://yadi.sk/d/DOPLvpslZBgeA. Может кто ниудь расширит его для себя.

И еще посоветуйте стоит такое на Asset Store выложить как Free Asset или не стоит заморачиваться ?
PS там кажется есть еще и из чьего то проекта сцена. :D

Re: Конструктор из примитивов с исходниками

СообщениеДобавлено: 06 авг 2014, 23:16
lawson
Квадрат под мышкой - это квад(плейн) с материалом self illum?
Вот бы было можно создать кубы и растягивать их в стены, дороги, при этом чтобы текстура не растягивалась а менялся тайлинг - было бы интересней

Re: Конструктор из примитивов с исходниками

СообщениеДобавлено: 06 авг 2014, 23:25
bwolf88
Так кто ж мешает допилить :)

Re: Конструктор из примитивов с исходниками

СообщениеДобавлено: 06 авг 2014, 23:42
lawson
:D ну я такое уже делал, просто было бы интересно посмотреть как сделаете это вы, ведь проект же ваш.
Да и вообще прикольно было бы строить из кубов сооружения и чтобы боты искали проход к игроку что внутри.

Re: Конструктор из примитивов с исходниками

СообщениеДобавлено: 07 авг 2014, 01:40
bwolf88
Если внутренней помещение будет по типу лабиринта со сложной системой комнат, тогда нужно писать поиск пути. Я пока не добрался еще до поиска пути.

А Меш растягивать - я пробовал сделать процедурный меш который бы растягивался по движению мышки, но у меня так и не получилось настроить луч, чтобы корректно рисовалась фигура. Она то выворачивалась, то криво рисовалась. Поэтому я это дело пока забросил.

Сейчас сижу генератор планет пытаюсь сделать :).

Re: Конструктор из примитивов с исходниками

СообщениеДобавлено: 16 авг 2014, 16:11
bwolf88
Добавил переделанный скрипт движения врагов - теперь они убегают от персонажа. Противник убегает при вхождении в игрока в триггер. Триггер 10 метров и условия на onTriggerExit нету, поэтому иногда игрок не успевает выйти и заново не срабатывает, но это легко исправляется. :D Этот скрипт, как и скрипт преследования универсальный, здесь нет привязок к карте или к каким то точкам. Обходят любое небольшое препятствие с тегом "Collider".



Сам скрипт здесь http://unity3d.ru/distribution/viewtopic.php?f=18&t=26945

Re: Конструктор из примитивов с исходниками

СообщениеДобавлено: 16 авг 2014, 17:01
lawson
Я бы сделал рассеивание при убегании при взгляде игрока + рандом от +/- 90*(градусов), а то некоторые бегут наоборот к игроку.

Re: Конструктор из примитивов с исходниками

СообщениеДобавлено: 16 авг 2014, 17:08
bwolf88
Поменять две цифры и будет +-90. Сейчас там стоит рандомный угол от 0 до 360. Скрипт как пример. Можно было еще через нормализацию сделать, где центром будет игрок, радиусом расстояние до игрока и определять обратное направление +-90*. Ну это еще несколько строчек добавить :). Я так куб в сферу превращаю.

Re: Конструктор из примитивов с исходниками

СообщениеДобавлено: 06 сен 2014, 17:59
lolerka3
Хорошая работа, я взял пока попользоваться, но думаю надо свой редактор делать, для моих целей. Кстати ты с процедуральным мешем не работал?

Re: Конструктор из примитивов с исходниками

СообщениеДобавлено: 06 сен 2014, 18:16
bwolf88
lolerka3 писал(а):Хорошая работа, я взял пока попользоваться, но думаю надо свой редактор делать, для моих целей. Кстати ты с процедуральным мешем не работал?



Вообще, работа не очень хорошая, поэтому я его в свободное плавание отправил :). Я ее делал в первый месяц знакомства с Юнити, хотел сделать супер-пупер конструктор, но по незнаю столкнулся с целой кучей ограничений. В качестве примера или базы сойдет, но если по уму там кучу всего нужно переделывать.

Процедурные меши использую почти везде. В основном для визуализации (например в "Пилю А* проходимость клеток и узлов). После "конструктора" пару недель игрался с кубочанками (по типу майнкрафтовых) - это были мои первые процедурные составные меши. Сейчас ооочень неспеша делаю редактируемый планетоид из составного процедурного меша.