[英]Displaying 3D Model in SceneKit with video in SpriteKit node texture not working
我已經建立了一個3D視頻播放器,並且效果很好。 當我去插入一個3D對象(在我的情況下是一個立方體)時,該立方體會閃爍並且僅部分可見(請參閱下文)。
我用來插入多維數據集的代碼非常簡單:
let box = SCNBox(width: 0.25, height: 0.25, length: 0.25, chamferRadius: 0)
let boxNode = SCNNode(geometry: box)
boxNode.categoryBitMask = StereoCategoryMask.BothEyes.rawValue
boxNode.position = SCNVector3(x: 1.0, y: 0.5, z: 0.5)
EDITS:
該視頻是使用360攝像機拍攝的,因此我創建了一個球體(SCNode),並且由於缺少更好的用語而成了我的世界。 相機內部為0,0,0; 我需要與之保持相等的距離,以防止鏡筒變形。
我正在使用SKNode,因此可以通過SKVideoNode播放視頻,然后將其作為紋理映射到SCNode。 它看起來像這樣: videoGeomNode.geometry?.firstMaterial?.diffuse.contents = texture
其中texture是SKNode,videoGeomNode是我的球體。
這是放大的結果:
[編輯:不是,不是答案,請參見評論; 保持原狀,以防它慢跑了某人的大腦以尋求正確答案]
您的相機的Z接近限幅極限zNear
似乎距離太遠。 立方體的一部分在相機的視錐中,而另一部分不在。
zNear
默認值為1.0。 將其減少到接近0.0或使用
camera.automaticallyAdjustsZRange = true
事實證明,我已將zNear設置為0.0; zNear不能為0。將其設置為0.1解決了我的問題。
這很奇怪,因為如果我在視頻上放一個立方體,它會閃爍,而如果將它放到空白空間,它將看起來很好。 我本來以為這是zNear問題,那么它將以相同的方式影響兩個多維數據集。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.