【问题标题】:Simple SceneKit scene shows black screen instead of SCNPlane简单的 SceneKit 场景显示黑屏而不是 SCNPlane
【发布时间】:2014-12-07 18:02:00
【问题描述】:

iOS SceneKit 让我大吃一惊,但是以下示例代码(在 viewDidLoad 内部执行)的行为与预期不符。我想要它

  1. 将相机放置在原点,视角朝向正 z 轴
  2. 在 z = 100 处放置一个平行于 xy 平面的红色矩形

为什么渲染不显示红色矩形而只显示黑色屏幕?

    let scene = SCNScene()

    // prepare camera

    let camera = SCNCamera()
    camera.zNear =  90
    camera.zFar  = 110

    let cameraNode = SCNNode()
    cameraNode.position = SCNVector3Make(0, 0, 0)
    cameraNode.rotation = SCNVector4Make(1, 0, 0, Float(M_PI))
    cameraNode.camera   = camera

    scene.rootNode.addChildNode(cameraNode)

    // prepare light

    let light = SCNLight()
    light.type  = SCNLightTypeOmni
    light.color = SKColor(white: 0.3, alpha: 1.0)

    let lightNode = SCNNode()
    lightNode.light = light;

    scene.rootNode.addChildNode(lightNode)

    // prepare plane

    let plane = SCNPlane(width: 400, height: 400)
    plane.firstMaterial!.doubleSided      = true
    plane.firstMaterial!.diffuse.contents = UIColor.redColor().CGColor

    let planeNode = SCNNode(geometry: plane)
    planeNode.position = SCNVector3Make(0, 0, 100)

    scene.rootNode.addChildNode(planeNode)

    // prepare view as SCNView

    let sceneView = view as SCNView

    sceneView.backgroundColor  = SKColor.blackColor()
    sceneView.scene            = scene
    sceneView.delegate         = self
    sceneView.jitteringEnabled = true // i.e. improve visual rendering
    sceneView.pointOfView      = cameraNode

【问题讨论】:

  • 您找到解决方案了吗?

标签: swift scenekit


【解决方案1】:

看起来您绕 x 轴而不是 y 轴旋转(以便相机朝所需方向看)

【讨论】:

  • 这没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。
  • 围绕错误的轴旋转相机会使某些对象不可见。这会导致黑屏。
  • Hmm ...如果我想将视图方向从 -z 旋转到 +z,那么绕 x 或 z 轴旋转 180 度不等于同一件事(见here)?
  • 哦,这是 pi 的旋转,而不是 pi/2。所以是的,两者都会导致相同的结果。对此感到抱歉。我已经在 iOS 和 OS X 上测试了你的代码,在这两种情况下我都看到了一个带阴影的红色平面。
  • +1 用于测试我的代码。我把相对暗/暗的红色误认为黑色是愚蠢的。如果您编辑您的答案以使其提及测试(即它对以后的读者有意义),我将很乐意接受它。
猜你喜欢
  • 2016-09-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-07
  • 2018-01-13
  • 2022-10-21
  • 1970-01-01
  • 1970-01-01
  • 2017-01-11
相关资源
最近更新 更多