簡體   English   中英

3D模型無法在Scenekit中正確加載

[英]3D model not loading correctly in Scenekit

因此我購買了汽車的3D模型以顯示在我的ARKIT應用中。該文件夾包含不同的模型格式和單個圖像。

我將.dae文件拖放到了我的項目中。 這是文件結構。

在此處輸入圖片說明

但是,當添加到場景中時,軸將完全關閉並且無法正確加載。 它不會加載帶有紋理的完整模型,並且會加載到我上方。

參見示例:

在此處輸入圖片說明

然后,我決定將.Blender文件加載到Blender中,然后再次導出為colada .dae文件。

在此處輸入圖片說明

這是添加到我的項目時的結果。

在此處輸入圖片說明

在此處輸入圖片說明

在現實世界中加載時,一輛半車會出現在我站着的一個荒謬的地方。

我已經使用單獨的模型嘗試了該項目,並且效果很好。 有誰知道如何使用3D模型將其正確加載到我的應用程序中?

我在縮放購買的模型時遇到一些問題。 您不應該發布鏈接,但是太大了,無法粘貼-我按照本指南縮小了模型,並在導出之前將它們旋轉到Blender中的適當位置。

https://jibransyed.wordpress.com/2014/06/05/how-to-correct-scale-and-rotation-of-static-blender-models-for-unity/

在大多數模型上,我使用它來加載:

func loadCollada(sceneName: String, objName: String) -> SCNNode
    {
        let vScene = SCNScene(named: sceneName)!
        let gObject = vScene.rootNode.childNode(withName: objName, 
 recursively: true)!
        return gObject
      }

在某些較大的模型上,我必須這樣做:

func collada2SCNNode(filepath: String) -> SCNNode
{
    let returnNode = SCNNode()
    let scene = SCNScene(named: filepath)
    for vNode in (scene?.rootNode.childNodes)!
    {
        returnNode.addChildNode(vNode)
    }
    return returnNode
}

然后設置Y UP:scntool --convert fighter0.dae --format c3d --output out.dae --force-y-up --force-interleaved --look-for-pvrtc-image

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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