簡體   English   中英

使用SpriteKit節點紋理中的視頻在SceneKit中顯示3D模型並顯示視頻

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM