首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法设置一个SCNSphere的初始半径

无法设置一个SCNSphere的初始半径
EN

Stack Overflow用户
提问于 2015-07-21 18:26:17
回答 1查看 162关注 0票数 1

我可以在我的场景中增加20个小球体,比如说半径0.5。

但是,当我尝试只添加一个球体时,不管我指定了什么半径,球体都会出现,其默认半径为1.0。

这是我用来添加一个球体的代码。我只是将这段代码放入一个for循环中,以添加20个球--这很好。

代码语言:javascript
复制
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)
}

我漏掉了什么明显的东西吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-24 17:56:21

你所看到的问题仅仅是场景套件试图变得聪明。一切都如期而至。

为了能够渲染你的场景,场景套件需要一个摄像机作为视角。如果你的场景中有一个摄像机,那就会自动显示出你的观点。但是,如果你的场景中没有摄像头,场景套件必须创建自己的场景(或者不能同时渲染,这就不太好了)。当场景辅助工具包创建自己的“默认”视图时,它试图适应场景的内容,以便尽可能地填充视图(稍微简化一下)。

这可能是一个不错的小方便,但在您的情况下,它意味着,当您使您的球体更大,场景套件适应它的观点,以便球体仍然覆盖整个视图。如果场景中只有一个球体,这意味着你看不到球体半径的任何差别,因为它总是覆盖整个视图。

如果你把你自己的相机添加到场景中,并根据你的喜好配置它,你就可以在改变球体半径时看到不同的地方。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31546858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档