
Scene Kit
|
249
解决方案
首先,创建一个
SCNCamera
对象并设置它的视野宽度:
let camera = SCNCamera()
camera.fieldOfView = 75
然后,将它赋给一个节点,设置节点的位置,将节点添加到场景:
let cameraNode = SCNNode()
cameraNode.camera = camera
cameraNode.position = SCNVector3(x: 0, y: 0, z: 20)
scene.rootNode.addChildNode(cameraNode)
讨论
一个镜头用于告诉
Scene Kit
,如何渲染场景中的内容。有两种主要的镜头类型:
透视镜头和正交镜头。
如果我们使用透视镜头,距离镜头越远,则物体会显得越小,这跟我们真实生活中
是一样的。如果是正交镜头,则物体在远离镜头的过程中大小不变。
当我们想制造一种用户正在
3D
空间中移动的场景时,我们通常用透视镜头。当我
们并不想呈现这种拟真的场景时,则最好使用正交镜头,如横向卷轴游戏或斜
45
度视角游戏。
8.5
创建灯光
问题
我们想创建和控制场景中的灯光。
解决方案
要使用灯光,我们需要生成一个灯光对象并将它赋给一个
SCNNode
对象。