COLLADA
ファイルからノードを表示すると、CPU使用率は100%以上になります。私は、シミュレータを使用していない
Link to pic高いCPU使用率SceneKit
、私は私の実際の電話を使用しています。このモデルは、約の頂点80k、で構成されています。ここで
は、私がモデルをロードする方法である:
// Add Character
func addModel(name:String)
{
// Load COLLADA Model
if let myScene = SCNScene(named: "Assets.scnassets/"+name+"/"+name+".dae")
{
// Recurse through all the child nodes in the model and add to modelNode
for node in myScene.rootNode.childNodes as [SCNNode]
{
modelNode.addChildNode(node)
}
// Add modelNode to scene
self.rootNode.addChildNode(modelNode)
}
else
{
print("Error loading model: "+name)
}
}
モデルが122メガバイトであり、ここで見つけることができます:
Link to zip
私は別のモデルを試してみましたが、CPUがそれぞれ1にナットを行きますそのうちの。それらはすべて約122MB(大音量)と約80kの頂点です。
更新
SceneKitでポリカウントを下げようとしました。ブレンダーでは、頂点を20kから5kに下げました(see here)。しかし、SceneKitでモデルをロードすると、ポリカウントはまだ同じです(68k)。私はまた、代わりにモデルとアニメーションを.SCNに変換しようとしました。これにより多くのファイルサイズが小さくなりましたが、と同じポリカウントとCPU使用率になりました。
Pictures of showStatistics
私がする必要があるのは、ポリカウントを小さくすることであり、それほどファイルサイズではないと思います。
更新2 私は実際にポリカウントを約48kに下げることができました。まだ遅れている。テクスチャを取り除くと、CPUがかなり低くなります。
「何らかの理由でDAEモデルにルートノードがない場合、ここに**ここ**を作成できます」という意味はありますか?私は大ファイルのすべての子供のための親ノードを持っていません。 – Fredrik
私は上記の答えに追加しました。 DAEを自分で作成した場合は、最後の段落で示唆したようにモデリングソフトウェアで修正し、ファイルを再保存することを検討することもできます。私はこれが他の3Dソフトウェアでどのように機能するのか分かりませんが、これはCinema 4Dでどのように行うのですか? – bpedit
しかし、私は基本的にすべての子を親(modelNode)に追加することでこれを行うのではありませんか? ** modelNode **には子のみが含まれます。 – Fredrik