0

カスタム 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
}
4

0 に答える 0