Мы используем файлы cookie, чтобы упростить навигацию на этом сайте. Если вы даете свое согласие на использование файлов cookie и обработку ваших персональных данных, нажмите «Принимаю».

Ограничения положения

Домой Форумы Общие вопросы Ограничения положения

Просмотр 11 сообщений - с 1 по 11 (из 11 всего)
  • Автор
    Сообщения
  • #19572
    Andrey
    Участник

    Здравствуйте! Как можно ограничить перетаскивание объекта внутри поверхности, не выходя за её границы? Есть план помещения и нужно расставить мебель внутри этого плана. Присутствуют внешние и внутренние стены. Внутри Blender есть такой ограничитель, но в Verge он, похоже, не экспортируется. Подобное ограничение в Verge я нашел только для камеры. Как сделать такие же ограничения для объектов с геометрией? Заранее благодарю за ответ.

    #19577
    kdv
    Участник

    Внутри 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.

    #19579
    Andrey
    Участник

    Limit Location Constraint не так как надо отрабатывает. Этот ограничитель в пределах любой оси останавливает движение. Там есть только минимум и максимум положения по каждой из осей. Задача сложнее. Надо в пределах даже, например, одной оси сделать промежуточные значения. Если есть стена в центре сцены, то она тоже должна быть описана внутри этих интервалов. Стена внутри сцены может быть не одна. Самый лучший ограничитель для этой задачи – SHRINKWRAP. Но он, к сожалению не экспортируется. Может быть кто-нибудь сталкивался с такой проблемой? Как ограничить движение объекта по XY в пределах такой поверхности как план помещения?

    Вложения:
    Вы должны войти для просмотра вложений.
    #19581
    kdv
    Участник

    Физика. Коллизии. Но это уже в паззлах.

    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.

    #19582
    kotimperator
    Участник

    Из того, что в голову пришло – это “дробить” помещение на прямоугольные зоны, делать из стен объекты-коллизии для включения ограничителей при столкновении объекта с ними. В блендере можно задать объекту базовое ограничение по максимальным границам помещения. Но, если стен будет много и объектов для расстановки тоже много, то это будет кошмарная работа. И есть нюанс, что объект при перемещении вдоль объекта-коллизии будет дёргаться.

    Вложения:
    Вы должны войти для просмотра вложений.
    #19584
    Andrey
    Участник

    С физикой внутри Verge не вышло. Это первое с чего я начал поиск решения. Я вижу такую картину: если включить физику, то объектами невозможно управлять. Пример. Программируем возможность перетаскивания объекта мышкой по XY. Объект перемещается – всё нормально. Включаем физику и сразу теряем возможность его перемешать. Начинается симуляция физики. Объект, например, сразу захочет упасть или отскочить от чего-нибудь, в общем проявить себя как нечто физическое. Управляторы никакие тут уже не срабатывают. Может быть можно как-то через костыли сделать, по аналогии с камерой, которая имеет материал на объекте (именно материал) для коллизии? Это есть в базовых примерах в магазине приложений Verge.

    #19586
    kdv
    Участник

    Включаем физику и сразу теряем возможность его перемешать.

    ну, все верно. динамические объекты можно перемещать только физикой (или импульсом, или заданием скорости в направлении перетаскивания).

    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.

    #19587
    kotimperator
    Участник

    Чтобы двигать объект, нужно его переключить на kinematic. А чтобы он не падал на пол, можно сразу ограничить перемещение по оси Z. Вот такой вариант паззлами рабочий, хоть и глючный немного:

    Вложения:
    Вы должны войти для просмотра вложений.
    #19589
    kdv
    Участник

    Чтобы двигать объект, нужно его переключить на 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.

    #19590
    Andrey
    Участник

    Может быть @alexander-kovelenov подскажет вариант решения?

    #19596

    К сожалению гтового подобного решения нет, есть возмонжость только переключив обьект в физику и сделав его Chost отлавливать пересечение обьекта со стеной и не позволять например ставить туда мебель но ограничить её пересечение не получится.

    Co-founder and lead graphics specialist at Soft8Soft.

Просмотр 11 сообщений - с 1 по 11 (из 11 всего)
  • Для ответа в этой теме необходимо авторизоваться.