2

カスタム ジオメトリの四角形があり、その上にテクスチャ イメージが表示されていますが、スペースに合わせて伸縮するのではなく、アスペクト フィルとして表示したいと考えています。

部屋の複数の壁に同じテクスチャを適用しているので、画像が壁紙の場合は正しく見える必要があります。

以下を使用して、それがどのように満たされるかを判断する方法はありますか?

quadNode.geometry?.firstMaterial?.diffuse.contents = UIImage(named: "wallpaper3.jpg")

ありがとう

[アップデート]

let quadNode = SCNNode(geometry: quad)

let (min, max) = quadNode.boundingBox

let width = CGFloat(max.x - min.x)
let height = CGFloat(max.y - min.y)

let material = SCNMaterial()
material.diffuse.contents = UIImage(named: "wallpaper3.jpg")
material.diffuse.contentsTransform = SCNMatrix4MakeScale(Float(width), Float(height), 1)
material.diffuse.wrapS = SCNWrapMode.repeat
material.diffuse.wrapT = SCNWrapMode.repeat

quadNode.geometry?.firstMaterial = material
4

1 に答える 1