Домой › Форумы › Общие вопросы › Ограничения положения
- В этой теме 10 ответов, 4 участника, последнее обновление 4 месяца назад сделано Mikhail Luzyanin.
-
АвторСообщения
-
7 августа, 2024 в 14:49 #19572AndreyУчастник
Здравствуйте! Как можно ограничить перетаскивание объекта внутри поверхности, не выходя за её границы? Есть план помещения и нужно расставить мебель внутри этого плана. Присутствуют внешние и внутренние стены. Внутри Blender есть такой ограничитель, но в Verge он, похоже, не экспортируется. Подобное ограничение в Verge я нашел только для камеры. Как сделать такие же ограничения для объектов с геометрией? Заранее благодарю за ответ.
8 августа, 2024 в 12:10 #19577kdvУчастникВнутри Blender есть такой ограничитель, но в Verge он, похоже, не экспортируется.
В блендере это называется Constraints и они отлично экспортируются в Verge3D (если включена опция Export Constraints). Не все, но многие. Limit Location Constraint уж точно экспортируется и работает.
Puzzles and JS coding. Fast and expensive.
If you don’t see the meaning in something it primarily means that you just don’t see it but not the absence of the meaning at all.
8 августа, 2024 в 14:49 #19579AndreyУчастникLimit Location Constraint не так как надо отрабатывает. Этот ограничитель в пределах любой оси останавливает движение. Там есть только минимум и максимум положения по каждой из осей. Задача сложнее. Надо в пределах даже, например, одной оси сделать промежуточные значения. Если есть стена в центре сцены, то она тоже должна быть описана внутри этих интервалов. Стена внутри сцены может быть не одна. Самый лучший ограничитель для этой задачи – SHRINKWRAP. Но он, к сожалению не экспортируется. Может быть кто-нибудь сталкивался с такой проблемой? Как ограничить движение объекта по XY в пределах такой поверхности как план помещения?
Вложения:
Вы должны войти для просмотра вложений.8 августа, 2024 в 14:53 #19581kdvУчастникФизика. Коллизии. Но это уже в паззлах.
Puzzles and JS coding. Fast and expensive.
If you don’t see the meaning in something it primarily means that you just don’t see it but not the absence of the meaning at all.
8 августа, 2024 в 15:46 #19582kotimperatorУчастникИз того, что в голову пришло – это “дробить” помещение на прямоугольные зоны, делать из стен объекты-коллизии для включения ограничителей при столкновении объекта с ними. В блендере можно задать объекту базовое ограничение по максимальным границам помещения. Но, если стен будет много и объектов для расстановки тоже много, то это будет кошмарная работа. И есть нюанс, что объект при перемещении вдоль объекта-коллизии будет дёргаться.
Вложения:
Вы должны войти для просмотра вложений.8 августа, 2024 в 20:01 #19584AndreyУчастникС физикой внутри Verge не вышло. Это первое с чего я начал поиск решения. Я вижу такую картину: если включить физику, то объектами невозможно управлять. Пример. Программируем возможность перетаскивания объекта мышкой по XY. Объект перемещается – всё нормально. Включаем физику и сразу теряем возможность его перемешать. Начинается симуляция физики. Объект, например, сразу захочет упасть или отскочить от чего-нибудь, в общем проявить себя как нечто физическое. Управляторы никакие тут уже не срабатывают. Может быть можно как-то через костыли сделать, по аналогии с камерой, которая имеет материал на объекте (именно материал) для коллизии? Это есть в базовых примерах в магазине приложений Verge.
9 августа, 2024 в 12:49 #19586kdvУчастникВключаем физику и сразу теряем возможность его перемешать.
ну, все верно. динамические объекты можно перемещать только физикой (или импульсом, или заданием скорости в направлении перетаскивания).
Puzzles and JS coding. Fast and expensive.
If you don’t see the meaning in something it primarily means that you just don’t see it but not the absence of the meaning at all.
9 августа, 2024 в 15:45 #19587kotimperatorУчастникЧтобы двигать объект, нужно его переключить на kinematic. А чтобы он не падал на пол, можно сразу ограничить перемещение по оси Z. Вот такой вариант паззлами рабочий, хоть и глючный немного:
Вложения:
Вы должны войти для просмотра вложений.9 августа, 2024 в 15:57 #19589kdvУчастникЧтобы двигать объект, нужно его переключить на kinematic.
а смысл? он тогда коллизии не разумеет. придется мутить костыль, но тогда и физика на фиг не нужна.
Puzzles and JS coding. Fast and expensive.
If you don’t see the meaning in something it primarily means that you just don’t see it but not the absence of the meaning at all.
12 августа, 2024 в 01:13 #19590AndreyУчастникМожет быть @alexander-kovelenov подскажет вариант решения?
20 августа, 2024 в 10:17 #19596Mikhail LuzyaninStaffК сожалению гтового подобного решения нет, есть возмонжость только переключив обьект в физику и сделав его Chost отлавливать пересечение обьекта со стеной и не позволять например ставить туда мебель но ограничить её пересечение не получится.
Co-founder and lead graphics specialist at Soft8Soft.
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.