gpt4 book ai didi

swift - 在 SCNScene 中添加相机

转载 作者:行者123 更新时间:2023-11-28 13:17:24 29 4
gpt4 key购买 nike

import UIKit
import SceneKit

class Scene: SCNScene {
var cameraPosition = SCNVector3Make(0, 0, 10)
var lightPosition = SCNVector3Make(0, 0, 0)
var ship = SCNNode()

func setup() {
createCameraNode()
createShipNode()
createAmbientLight()
createLight()
}

func createCameraNode () {
let cameraNode = SCNNode()
cameraNode.camera = SCNCamera()
cameraNode.position = cameraPosition
self.rootNode.addChildNode(cameraNode)
}

func createShipNode() {
ship = self.rootNode.childNodeWithName("ship", recursively: true)!
}

func createAmbientLight() {
let ambientLightNode = SCNNode()
ambientLightNode.light = SCNLight()
ambientLightNode.light!.type = SCNLightTypeAmbient
ambientLightNode.light!.color = UIColor.darkGrayColor()
self.rootNode.addChildNode(ambientLightNode)
}

func createLight() {
let lightNode = SCNNode()
lightNode.light = SCNLight()
lightNode.light!.type = SCNLightTypeOmni
lightNode.position = lightPosition
self.rootNode.addChildNode(lightNode)
}
}

这就是我的代码的样子。我有以下问题。当我在场景中添加相机节点时,我的对象消失了。当我删除函数 createCameraNode 时,一切正常,我的飞船出现在屏幕上。我试图用 z 轴上的负值和正值更改相机位置,但仍然没有结果。谁能解释一下为什么?

最佳答案

您可能希望将 SCNViewpointOfView 属性设置为 cameraNode。假设相机位置正确,我认为应该修复它。

至于为什么当您删除 cameraNode 代码时它会起作用,这是因为如果场景中不存在默认相机(并且 pointOfView 已设置)也)。如果场景中没有灯光也是一样的。

关于swift - 在 SCNScene 中添加相机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28480706/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com