Anonymous
SCNNodeboundingBox не обновляется после масштабирования или поворота в SceneKit
Сообщение
Anonymous » 26 окт 2024, 08:30
У меня есть этот код:
Код: Выделить всё
let box = SCNBox(width: 1, height: 2, length: 4, chamferRadius: 0.2)
box.firstMaterial?.diffuse.contents = UIColor.yellow
box.firstMaterial?.emission.contents = UIColor.green
let boxNode = SCNNode(geometry: box)
print(boxNode.boundingBox)
boxNode.eulerAngles = SCNVector3(0.785, 0.5, 0.5)
print(boxNode.boundingBox)
boxNode.scale = SCNVector3(1.3, 2.3, 3.3)
print(boxNode.boundingBox)
scene.rootNode.addChildNode(boxNode)
У меня получилось:
Код: Выделить всё
(min: __C.SCNVector3(x: -0.5, y: -1.0, z: -2.0), max: __C.SCNVector3(x: 0.5, y: 1.0, z: 2.0))
(min: __C.SCNVector3(x: -0.5, y: -1.0, z: -2.0), max: __C.SCNVector3(x: 0.5, y: 1.0, z: 2.0))
(min: __C.SCNVector3(x: -0.5, y: -1.0, z: -2.0), max: __C.SCNVector3(x: 0.5, y: 1.0, z: 2.0))
Оказывается, ограничивающая рамка не обновляется даже после применения вращения или масштабирования. Это отличается от поведения SpriteKit. Мне интересно, как мне получить обновленную ограничивающую рамку?
Подробнее здесь:
https://stackoverflow.com/questions/791 ... n-scenekit
1729920613
Anonymous
У меня есть этот код: [code] let box = SCNBox(width: 1, height: 2, length: 4, chamferRadius: 0.2) box.firstMaterial?.diffuse.contents = UIColor.yellow box.firstMaterial?.emission.contents = UIColor.green let boxNode = SCNNode(geometry: box) print(boxNode.boundingBox) boxNode.eulerAngles = SCNVector3(0.785, 0.5, 0.5) print(boxNode.boundingBox) boxNode.scale = SCNVector3(1.3, 2.3, 3.3) print(boxNode.boundingBox) scene.rootNode.addChildNode(boxNode) [/code] У меня получилось: [code](min: __C.SCNVector3(x: -0.5, y: -1.0, z: -2.0), max: __C.SCNVector3(x: 0.5, y: 1.0, z: 2.0)) (min: __C.SCNVector3(x: -0.5, y: -1.0, z: -2.0), max: __C.SCNVector3(x: 0.5, y: 1.0, z: 2.0)) (min: __C.SCNVector3(x: -0.5, y: -1.0, z: -2.0), max: __C.SCNVector3(x: 0.5, y: 1.0, z: 2.0)) [/code] Оказывается, ограничивающая рамка не обновляется даже после применения вращения или масштабирования. Это отличается от поведения SpriteKit. Мне интересно, как мне получить обновленную ограничивающую рамку? Подробнее здесь: [url]https://stackoverflow.com/questions/79120262/scnnode-boundingbox-not-updated-after-scaled-or-rotated-in-scenekit[/url]