Очень вероятно, что масштаб .obj
неверен.
Если вы загрузите свою модель в SceneKit Editor
и нажмите на «куб» с правой стороны:
Вы увидите в transforms section
область, в которой говорится Bounding Box
.
Здесь вы можете проверить, действительно ли ваша модель имеет правильный размер:
В моем примере моя модель SCNPlane
с width
и height
в 0,1 м (10 см).
Если ваш ограничивающий прямоугольник не корректен, вам нужно будет установить scale
, который можно сделать, используя Свойство scale
для SCNNode
, например:
model.scale = SCNVector3(0.1, 0.1, 0.1)
. Который:
Каждая компонента вектора масштабирования умножает соответствующий размер геометрии узла. Шкала по умолчанию - 1,0 во всех трех измерениях. Например, применение шкалы (2.0, 0.5, 2.0) к узлу, содержащему геометрию куба, уменьшает его высоту и увеличивает ее ширину и глубину.
blockquote>Надеюсь, что это поможет ...
Вот мое мнение, почему он не работает с изображением. Тесты трепетания выполняются в зоне FakeAsync, и когда вам нужно запустить настоящий асинхронный код, такой как загрузка ресурса через assetBundle, актив не загружается, а размер виджета изображения остается равным нулю, и из-за этого тестирование попаданий не выполняется. Если вы предварительно установите высоту и ширину изображения, тест пройден.