我可以在我的场景中增加20个小球体,比如说半径0.5。
但是,当我尝试只添加一个球体时,不管我指定了什么半径,球体都会出现,其默认半径为1.0。
这是我用来添加一个球体的代码。我只是将这段代码放入一个for循环中,以添加20个球--这很好。
func drawSpheres() {
var x:Float = 0.0
var radius:CGFloat = 0.5
let sphereGeometry = SCNSphere(radius: radius)
let sphereNode = SCNNode(geometry: sphereGeometry)
sphereNode.position = SCNVector3(x: x, y: 0.0, z: 0.0)
self.rootNode.addChildNode(sphereNode)
}我漏掉了什么明显的东西吗?
发布于 2015-07-24 17:56:21
你所看到的问题仅仅是场景套件试图变得聪明。一切都如期而至。
为了能够渲染你的场景,场景套件需要一个摄像机作为视角。如果你的场景中有一个摄像机,那就会自动显示出你的观点。但是,如果你的场景中没有摄像头,场景套件必须创建自己的场景(或者不能同时渲染,这就不太好了)。当场景辅助工具包创建自己的“默认”视图时,它试图适应场景的内容,以便尽可能地填充视图(稍微简化一下)。
这可能是一个不错的小方便,但在您的情况下,它意味着,当您使您的球体更大,场景套件适应它的观点,以便球体仍然覆盖整个视图。如果场景中只有一个球体,这意味着你看不到球体半径的任何差别,因为它总是覆盖整个视图。
如果你把你自己的相机添加到场景中,并根据你的喜好配置它,你就可以在改变球体半径时看到不同的地方。
https://stackoverflow.com/questions/31546858
复制相似问题