Используя сферические узлы, цилиндрические кости и ограничения конусного скручивания, мне удалось создать простой скелет в трех измерениях. Я использую ответвление библиотеки физики пуль (physijs от @chandlerprall вместе с threejs).
Теперь я хотел бы добавить мышцы. Я пытался в течение последних двух дней получить какое-то скользящее ограничение или общее ограничение 6-DOF, чтобы мышца могла сокращаться и тянуть свои два узла друг к другу.
Я получаю всевозможные сумасшедшие результаты, и я начинаю думать, что делаю это неправильно. Я не думаю, что могу просто использовать два ограничения поворота конуса, а затем масштабировать мышцу вдоль ее продольной оси, потому что масштабирование сеток столкновений, по-видимому, довольно дорого.
Все, что мне нужно, это "мышца", которая может прикрепляться к двум узлам и "сокращаться", чтобы тянуть оба своих узла.
Может ли кто-нибудь дать несколько советов о том, как мне лучше всего подойти к этому, используя движок пули (или, на самом деле, любой физический движок)?
РЕДАКТИРОВАТЬ: Что, если мне не нужны столкновения для мышцы? Скажем, мне просто нужна визуальная мышца, которая ограничена двумя узлами: Два узла линейно ограничены мышцей сетка столкновения, которая вместо того, чтобы быть большой сеткой, является всего лишь маленькой, которая существует только для того, чтобы удерживать геометрию визуальных мышц на месте и обеспечивать ось для узлов, которые должны быть ограничены.
Затем я мог бы использовать линейный двигатель, который поставляется с ограничением скольжения, для перемещения узлов вдоль оси. Может ли кто-нибудь увидеть какие-либо проблемы с этим? Моя первоначальная проблема заключается в том, что меньшая сетка столкновений немного изменчива и, кажется, перемещается повсюду...