в основном hitTestWithSegment возвращает только первое попадание.
у меня есть несколько узлов, перемещающихся по оси Z в рядах от 1 до 3. похоже на игру, такую как рок-группа. когда строка из 2 или более проходит через сегмент, она возвращает только первый узел слева.
hit = scene.rootNode.hitTestWithSegment(from: SCNVector3(-3, 0, 0) , to: SCNVector3(3, 0, 0), options: nil)
if hit.count > 0{
print(hit.count)
}
выход: 1
Я также попытался установить параметры на
[SCNHitTestOption.firstFoundOnly.rawValue: false]
и я получаю то же самое.
Я не знаю, что пошло не так. hitTestWithSegment работал так, как ожидалось, пока я сегодня не открыл xcode. я не делал никаких изменений, никаких обновлений программного обеспечения, теперь он просто работает по-другому. Я разделил весь код, чтобы просто проверить попадание, и я не могу получить более 1 попадания за раз.
редактировать: я нашел обходной путь, но я не понимаю, почему он работает или почему он вообще сломался.
я поменял свой from: to: vectors (3, 0, 0), (-3, 0, 0), и он снова работает
обращение сегмента должно изменить только то, какой узел возвращается первым, а не сколько.
редактировать: это не на iOS, это на Mac