カスタム dae ファイルがあり、一部の領域に収まるように縮小したいと考えています。残念ながら、スケーリング係数が .65 を下回ると、何らかの理由でノードがレンダリングされないことがわかりました。何が間違っているのかわかりません。ここに私が現在使用しているコードがあります。
func logoPanel(height: CGFloat, width: CGFloat) -> SCNNode {
let nodeCollection = SCNNode()
var v1 = SCNVector3(x:0, y:0, z:0)
var v2 = SCNVector3(x:0, y:0, z:0)
let logoNode = collada2SCNNode(Double(height))
let padding = 0.3
logoNode.getBoundingBoxMin(&v1, max:&v2)
if Double(v2.y - v1.y) + padding > (Double(height) - (radius*2)) / 2 {
// scale logo node down
let scaleFactor = Float(((Double(height) - (radius*2)) / 2) / (Double(v2.y - v1.y) + padding))
logoNode.transform = SCNMatrix4MakeScale(scaleFactor, scaleFactor, scaleFactor)
logoNode.position = SCNVector3Make(0, Float((-height/2.0) + 0.1), 0)
}
nodeCollection.addChildNode(logoNode)
return nodeCollection
}