2017-12-05 19 views
0

私はApples SceneKitを使用しており、カスタム.daeアセットを持っています。アセットを.scnファイルに変換しました。 .scnファイルの名前でSCNNodeを取得しています。子ノードとしてSCNViewシーンにSCNNodeを配置し、その位置をSCNVector3(0,0,-1)に設定すると、この位置は無視され、代わりに自分の電話機の位置に従います。私の上には資産がレンダリングされ、離れていくと、それは私に続くものです。それは非常に迷惑になると私は解決策を見つけることができません。SCNNode配置後の位置がずれています

ただし、.scnファイルから取得したSCNNodeを置き換えてSCNBoxを使用すると、すべて正常に機能します。キューブはその位置にとどまります。添付

func addCoins(at position: SCNVector3) { 

    let donorScene = SCNScene(named: "art.scnassets/nodes.scn") 
    if let coin = donorScene?.rootNode.childNode(withName: "coin", recursively: true) { 
     coin.position = position // 0, 0, -1 (right in front of me) 
     scene.scene.rootNode.addChildNode(coin) 
    } 
} 

は、私が移動するたびに、私が見たものを示すスクリーンショットです:

は、ここで関連するコードです。

SCNNode

答えて

0

だから、問題は私の3D資産が大きすぎるということでした。アセットは、200cm^2で作成されました。これは、3Dモデリングプログラムで2メートル^ 2です。アセットがXcodeにインポートされた後、それはSceneKitによって200メートルと解釈されますが、これは明らかにSceneKitにとっては大きすぎます。

関連する問題