2017-08-03 12 views
0

iPhoneのDocumentsフォルダのフォルダに.scnというファイルがあります。私は、しかしSCNNode.scnをDocumentsフォルダからSCNNodeにプログラムで変換するにはどうすればいいですか?

//fileDestFolderURL is the folder that holds the .scn file 
let sceneSource = SCNSceneSource(url: fileDestFolderURL, options: [:]) 
let scene = sceneSource?.scene(options: [:]) 
print(scene) //prints nil 
print(scene?.rootNode) //prints nil 

として.scnファイルを回すためにSCNSceneSourceを使用しようとしてきた私はnil :(

私の究極の目標はSCNNodeを取り、ARSCNViewに追加することで得続けます。

、誰もがそれをいただければ幸いです!

答えて

-1

を自分の入力を与えることができれば、私はあなたのようにしているものを達成するためのObjective-Cを使用していますキング。あなたに役立つ翻訳されたコードがあります。チェア.scnモデルの例を次に示します。私は私は何をすると、この椅子のクラスのオブジェクトをインスタンス化し、このオブジェクトにloadModelを呼んでModels.scnassetsフォルダに.SCNファイルを持っている

class Chair { 
    func loadModel() { 
     let virtualObjectScene = SCNScene(named:"Models.scnassets/chair/chair.scn"") 
     let wrapperNode = SCNNode() 
     for child: SCNNode in virtualObjectScene?.rootNode?.childNodes { 
      wrapperNode.addChildNode(child) 
     } 
     addChildNode(wrapperNode) 
    } 
} 

良いですhtat気づきました。その後、子ノードとしてシーンのルートノードに追加するだけでシーンに表示されます。

+0

しかし、問題は私の '.scn'ファイルが私のアプリにはない(つまり、私のアプリの' Models.scnassets'にはない)ということです。 '.scn'ファイルをダウンロードしていますので、iPhoneの' Documents'フォルダにあります。だから私は 'SCNScene(名前:" Models.scnassets/chair/chair.scn ")' – 14wml

+0

を呼び出すことはできません。あなたの.scnファイルがドキュメントディレクトリ内のどこにでもファイルパス名を変更してこの機能を試しましたか?私はModels.scnassetsの外で.scnファイルと一緒に使用しましたが、同様に動作します。 –

関連する問題