Как получить правильный BoundingBox после масштабирования SCNNode? - PullRequest
0 голосов
/ 24 сентября 2019

Я пытаюсь найти самое низкое значение на оси Y для моего узла.Узел был инициализирован с большой трехмерной моделью пары очков.После того, как я уменьшу размер узла, ограничивающий прямоугольник, который отображается в приложении, корректен с .showBoundingBoxes.

addChildNode(glassesNode)
glassesNode.scale = SCNVector3(0.00108, 0.00108, 0.00108)

Но когда я пытаюсь распечатать значение boundingBox.min.y, значение неверно.Как будто ограничивающий ящик огромен.

print("Glasses Y boundingbox min: \(glassesNode.boundingBox.min.y)")
print("Glasses Y boundingbox max: \(glassesNode.boundingBox.max.y)")

Любая идея, почему или как ее решить?

Пробовал это:

var min = SCNVector3Zero
var max = SCNVector3Zero
glassesNode.__getBoundingBoxMin(&min, max: &max)
let cMin = convertVector(min, to: self)
let cMax = convertVector(max, to: self)

print("Glasses Y boundingbox min: \(cMin.y)")
print("Glasses Y boundingbox max: \(cMax.y)")

Но результат тот же

...