2017-08-10 72 views
0

我正在玩ARKit,到目前爲止我成功了,但是我有3D圖形的問題(因爲我對它沒有任何瞭解)。如何在Xcode中顯示帶有紋理的3D對象

我從TurboSquid等網站下載的每個對象在Xcode中甚至在Blender(或沒有紋理的節目)中都沒有紋理。

我只需要獲取一個對象(最好是.dae),並在其上應用紋理。

請問我能向三歲小孩解釋我失蹤的是什麼?

謝謝。

編輯:

這是一個與移動相機,甚至當我設置他的位置模型:

Table from TurboSquid

let treeScene = SCNScene(named: "art.scnassets/table2/table2.scn") 
let treeNode = treeScene?.rootNode.childNode(withName: "table2", recursively: true) 
treeNode?.position = position 

sceneView.scene.rootNode.addChildNode(treeNode!) 

回答

3

我也開始學習ARKit這是怎麼我做的。

某些3d模型在png文件中帶有紋理,然後可以將其複製到art.scnassets。選擇dae模型並獲取要應用紋理的節點。在右側的材料檢查器中相應地應用紋理。

或者

可以使用紋理創建SCNMaterial並將其應用到節點編程。

let material = SCNMaterial() 
material.diffuse.contents = UIImage(named: "texture.png") 

//Create the the node and apply texture 
objectNode?.geometry?.materials = [material] 

試試這個作爲試驗

https://www.turbosquid.com/3d-models/free-missile-3d-model/595524

應用中瀰漫紋理(在材料檢查)。

+0

謝謝你的提示!那麼,我只需要下載包含紋理的3D模型?爲什麼沒有它的模型?它可以以某種方式從Blender輸出嗎? – Boomerange

+1

將Blender中的紋理模型導出到DAE文件時,需要勾選選項以保存材質。我有時會忘記勾選該選項。 –

+0

@ M.Bedi非常感謝你;)最後一個問題。我添加了四個模型沒有任何問題,然後我應用紋理。但是有兩種模式很奇怪。我爲每個模型設置相同的位置(在SCNVector3中獲取點的位置),但是兩個模型只是跟隨我的相機。所以無論我觸摸屏幕的哪個位置,它們總是出現在同一個位置,並且緊跟着相機。所以如果我移動,物體(模型)也會移動。其他模式都可以,並保持他們的位置。 – Boomerange