swift SceneKit对象为空

问题描述 投票:0回答:1

试图在屏幕上显示地球模型,从here中加载模型(尝试过和其他相同的模型,但id未显示在屏幕上

[let scene = SCNScene(named: "tierra-1.obj")

if scene == nil {
    print("nuuuul")
    return
}
// 2: Add camera node
let cameraNode = SCNNode()
cameraNode.camera = SCNCamera()
// 3: Place camera
cameraNode.position = SCNVector3(x: 0, y: 0, z: 0)

// 4: Set camera on scene
scene?.rootNode.addChildNode(cameraNode)

// 5: Adding light to scene
let lightNode = SCNNode()
lightNode.light = SCNLight()
lightNode.light?.type = .omni
lightNode.position = SCNVector3(x: 0, y: 0, z: 0)
scene?.rootNode.addChildNode(lightNode)

// 6: Creating and adding ambien light to scene
let ambientLightNode = SCNNode()
ambientLightNode.light = SCNLight()
ambientLightNode.light?.type = .ambient
ambientLightNode.light?.color = UIColor.darkGray
scene?.rootNode.addChildNode(ambientLightNode)

// If you don't want to fix manually the lights
sceneView.autoenablesDefaultLighting = true

// Allow user to manipulate camera
sceneView.allowsCameraControl = true

// Show FPS logs and timming
sceneView.showsStatistics = true

// Set background color
sceneView.backgroundColor = UIColor.white

// Allow user translate image
sceneView.cameraControlConfiguration.allowsTranslation = false

// Set scene settings
sceneView.scene = scene][2]

但是加载后我的屏幕空白(example),该如何解决?

swift scenekit
1个回答
0
投票

我不认为SceneKit支持将Obj加载为场景。目前,它们仅允许具有导出场景数据功能的类型,例如相机,灯光。 https://developer.apple.com/documentation/scenekit/scnscenesource

如果要加载obj文件,则必须将其导入场景。这篇文章应该有帮助https://forums.developer.apple.com/thread/3979

© www.soinside.com 2019 - 2024. All rights reserved.