- В этой теме 6 ответов, 3 участника, последнее обновление 4 года, 11 месяцев назад сделано Yuri Kovelenov.
-
АвторСообщения
-
19 января, 2020 в 09:57 #15242urcosmosCustomer
Добрый день, уважаемые разработчики!
Подскажите, пожалуйста, возможно ли реализовать в Blender + Verge3D решение по добавлению некоторого количества отверстий на плоскость с возможностью редактирования диаметров этих отверстий? Количество отверстий в диапазоне от 0 до 50.
То, что можно редактировать характеристики объектов – понятно. Тут как в вашем видео про параметрическое моделирование с деталью (https://www.youtube.com/watch?v=Y-VUwoDL0qo) и изменение геометрии через Shape keys. А можно ли как-то сделать добавление отверстия на плоскость, например, по нажатию кнопки html? (про связь html элементов с моделью тоже знаю).
Я пытаюсь решить следующую задачу: есть плоскость, пользователю нужна возможность в ней сделать несколько отверстий разных диаметров с разными координатами расположения на этой плоскости. Координаты и диаметр задаются через html элементы.
Из решений, которые мне приходят в голову:
1. Сделать изначально в плоскости, например, 50 отверстий и скрыть их. В паззлах установить счетчик на количество показанных отверстий. И по очереди эти отверстия показывать (“добавлять”) на плоскости. Правда, это решение кажется неким костылем.
2. Динамически добавлять, например, цилиндр на плоскость с модификатором boolean, чтобы он вырезал собой из плоскости отверстие. Но тут не уверен, что такое вообще возможно.Скажу честно, еще не пробовал на практике эти решения.
Можете поделиться своим видением решения такой задачи?
Спасибо.
upd: или может как-то через прозрачность сделать отверстия?
19 января, 2020 в 18:17 #15244urcosmosCustomerОбновление информации.
Применение модификаторов не сработало, т.к. их либо запекать надо перед экспортом и уже потом нельзя редактировать, либо не запекать, и тогда их действие не экспортируется. Жаль.
С применением прозрачности тоже свой вопрос решить не смог. Нужно отдельным граням задавать материал, но т.к. отверстия должны появляться динамически и в любом месте, то нельзя угадать где нужно будет делать грань прозрачной…
UPD: Посмотрел примеры кода. Я так думаю, можно через JS это сделать – через clipping?
UPD2: На англоязычном форуме нашел 2 ветки по теме. Там люди просят добавить пазлы с функцией clipping planes (или подобные). Присоединяюсь к их просьбе. Нужна имитация функции boolean с возможностью настраивания координат объектов вычитания. Уверен, это для многих пользователей Verge3d было бы полезно. Очень надеюсь, что это будет реализовано!
20 января, 2020 в 10:16 #15249Mikhail LuzyaninStaffЗдравствуйте.
Применение модификаторов не сработало, т.к. их либо запекать надо перед экспортом и уже потом нельзя редактировать, либо не запекать, и тогда их действие не экспортируется. Жаль.
Да, булевые опреции не будут работать динамически без использования кода. Если у вас есть навыки программирования, то вы можете решить это частично кодом, частично пазлами, двигая нужные обьекты пазлами и вычитая их из другого кодом. Но конечно булевые операции будут ломать uv-развертку, если таковая имеется и давать артефакты при неудачном сочетании эджей и вертексов на геометрии.
С применением прозрачности тоже свой вопрос решить не смог. Нужно отдельным граням задавать материал, но т.к. отверстия должны появляться динамически и в любом месте, то нельзя угадать где нужно будет делать грань прозрачной…
Можно сделать отверстия как круглые и квадратные, да и более сложные динамически в материале используя прозрачность и динамические маски, но использование прозрачности не даёт толщины.
UPD: Посмотрел примеры кода. Я так думаю, можно через JS это сделать — через clipping?
Клиппинг просто визуально отрезает всю геометрию на сцене относительно плоскости, я полагаю вам это не сильно поможет.
Лучший способ на данные момент это сделать предзаготовленные геометрии с разными отверстиями + использовать shapekeys для их смещения. Можно так же создать отверстие и используя shapekey засцейлить все вертексны в центр радиуса, таким образом спрятав отверстие, а потом используя тот же shapekey отверстие “раскрывать” в нужныей размер, но к сожалению ограничение на один объект не более 6 шейпкеев.
Co-founder and lead graphics specialist at Soft8Soft.
20 января, 2020 в 18:18 #15255urcosmosCustomerМихаил, в итоге получается 3 решения сейчас есть:
1. Паззлы + код = эффект булина.
2. Измененить в материале прозрачность.
3. Использовать шейпкейс.2 и 3 не подходит из-за ограничений.
Можете, пожалуйста, подсказать по поводу булина – какие функции посмотреть, чтобы сделать такой эффект?
Я вчера разбирал примеры с клиппингом. Знаний в js почти нет, но какие строки отвечают за клиппинг – определил. Буду разбираться и с булином тогда. Насчёт uv-развертки уже ладно. Главное, отверстие сделать.
21 января, 2020 в 11:39 #15256Yuri KovelenovStaffДобрый день!
можете попробовать эту библиотечку
21 января, 2020 в 13:26 #15257urcosmosCustomerЮрий, Михаил, спасибо за информацию! Буду разбираться.
Юрий, подскажите, пожалуйста, известно ли сейчас когда ориентировочно будут добавлены функции булевых операций в Verge3d?
21 января, 2020 в 15:35 #15258Yuri KovelenovStaff -
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.