[英]How to debug custom geometry in SceneKit with Swift
我正在嘗試學習如何在SceneKit中創建自定義幾何體。 但是,我試圖制作一個三角形並且它沒有顯示任何東西。 我不知道如何調試這個。 有沒有辦法弄清楚三角形是否有效? 我只是不知道從哪里開始。
作為參考,有問題的游樂場代碼如下。 請注意,它是針對Swift 4編寫的,但是Swift 3和Swift 4之間的變化非常小,以至於在Swift 3中編譯它是微不足道的。
import UIKit
import SceneKit
let points = [
SCNVector3Make(0, 0, 0),
SCNVector3Make(0, 10, 0),
SCNVector3Make(10, 0, 0),
]
let indices = [
0,2,1,
]
let vertexSource = SCNGeometrySource(vertices: points)
let element = SCNGeometryElement(indices: indices, primitiveType: .triangles)
let geo = SCNGeometry(sources: [vertexSource], elements: [element])
在創建自定義SCNGeometryElement
時,索引的類型需要為Int16
1 。 我不認為這記錄在任何地方。 但是當你改變索引的聲明時也是如此
let indices: [Int16] = [
0, 2, 1
]
應該出現三角形。
編輯
1:正如@mnuages所指出的,SceneKit僅支持32位整數作為索引。 所以你可以使用Int8
, Int16
和Int32
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.