由于没有代码可以处理旋转或更改任何内容,因此当我的设备从纵向旋转到横向时,在SceneKit视图中加载并居中的模型将更改透视,缩放和拉伸。
ViewController具有一个SceneKit视图,该视图固定在父视图的顶部,底部和侧面。甚至在旋转时也可以确认附着。
所需设备为iPhone SE(最高12.9 iPad Pro)。
在iPad上,这种视觉问题已大大减少,但在iPhone上,失真,缩放和透视图变化却是显而易见的。
我不知道如何嵌入照片,否则我会告诉你,但是如果模型在正面和中央,并且在人像iPhone上为1英寸乘1英寸的正方形,则旋转到横向时,它在0.5英寸处变为0.25英寸垂直水平。
这是设置场景的代码。
let scene = SCNScene()
let shipScene = SCNScene(named: "merchant.scn")
guard let shipNode = shipScene?.rootNode.childNode(withName: "merchant", recursively: true)
else
{
fatalError("ShipModel is not found!")
}
self.shipNode = shipNode
self.shipNode?.position = SCNVector3(x:0, y:0, z:0)
scene.rootNode.addChildNode(self.shipNode!)
let lightNode = SCNNode()
lightNode.light = SCNLight()
lightNode.light?.type = .omni
lightNode.position = SCNVector3(x:0, y:2, z:10)
let cameraNode = SCNNode()
self.cameraNode = cameraNode
self.cameraNode?.camera = SCNCamera()
self.cameraNode?.position = SCNVector3(x:0, y:0, z:8)
self.cameraNode?.addChildNode(lightNode)
scene.rootNode.addChildNode(self.cameraNode!)
self.sceneKitView?.scene = scene
self.sceneKitView?.showsStatistics = false
self.sceneKitView?.backgroundColor = #colorLiteral(red: 0.08822073042, green: 0.08822073042, blue: 0.08822073042, alpha: 1)
self.sceneKitView?.allowsCameraControl = false
该类中什么也没有发生,但是拉伸,缩小和透视图更改在设备旋转时发生。
它们在iPhone上较差,但在iPad上大大降低。
答案 0 :(得分:0)