【问题标题】:How to create a angled plane given an array of scnvector3 points如何在给定 scnvector3 点数组的情况下创建倾斜平面
【发布时间】:2019-12-15 10:17:41
【问题描述】:

我正在尝试使用已转换为 scnvector3 点的给定 3d 坐标点数组在 scenekit 中创建平面形状。我已经使用贝塞尔路径来创建 2d 平面,并且想知道是否有一种在真实 3d 空间中绘制平面的简单方法

【问题讨论】:

    标签: ios scenekit scnnode scnscene


    【解决方案1】:

    SCNShape 是你要找的吗?

    【讨论】:

    • 我在想一个 SCNPlane ,或者让我看起来一样的东西
    【解决方案2】:

    这是我最终所做的,而不是使用 SCNPlane(在本例中为三角形)。这将创建具有给定点的自定义几何图形。对于索引,您标记要连接点的顺序,然后为了使其从平面的两侧可见,您绘制相反的顺序。

        let vertices: [SCNVector3] = [SCNVector3(0, 1, 0),
                                      SCNVector3(-0.5, 0, 0.5),
                                      SCNVector3(0.5, 0, 0.5)]
    
        let source = SCNGeometrySource(vertices: vertices)
    
        let indices: [UInt16] = [0, 1, 2,
                                 2, 1, 0,]
    
        let element = SCNGeometryElement(indices: indices, primitiveType: .triangles)
    
        let geometry = SCNGeometry(sources: [source], elements: [element])
        geometry.firstMaterial?.diffuse.contents  = NSColor.green
        let node = SCNNode(geometry: geometry)
        let scnView = self.view as! SCNView
    
        scnView.scene?.rootNode.addChildNode(node)
    

    【讨论】:

      猜你喜欢
      • 2017-06-18
      • 1970-01-01
      • 2018-10-21
      • 1970-01-01
      • 1970-01-01
      • 2016-01-12
      • 2020-04-12
      • 2011-03-30
      • 2013-03-18
      相关资源
      最近更新 更多