Как реализовать отскок коллизии между двумя узлами в ARKIT-Scenekit iOS 11?
Я пытаюсь реализовать отказов столкновения между двумя узлами. Из того, что я узнал, свойство столкновения будет установлено по умолчанию, и, если есть какой-либо контакт между двумя узлами, он отскочит назад. У меня есть несколько виртуальных 3D-объектов, которые я добавляю в сцену. Пользователь может перемещать объект куда угодно. Например, допустим, у меня есть два предмета: стол и стул. Если я подвину стул к столу, стул пересекается со столом. Но то, что мне нужно, это то, что стул должен прийти в норму, поскольку у нас уже есть стол в этой позиции.
У меня есть несколько объектов, размещенных понравилось это. И пользователь может переместить любой объект куда угодно. Но никакие два объекта не должны пересекаться друг с другом.
Я попытался установить contactbitmask и collisionbitmask, но не повезло (у меня 6 сценовых файлов, и я дал значения 1, 2, 4, 8, 16, 32 в качестве масок категорий и 62, 61, 59, 55, 47, 31 в качестве столкновения и контакта маски соответственно для узлов каждого файла сцены).
Я даже пытался использовать contactTestBetween, но понятия не имел, что он возвращает и как узнать, есть ли контакт между двумя телами, используя этот метод. Я понимаю, что это возвращает точку контакта, импульс, расстояние проникновения и т. Д., Но с этим, как узнать, есть ли контакт между 2 узлами?