2016-07-20 8 views
0

私は幾何学モデルでSceneKitビルドを使用して構築できない形状にしたいので、他の3Dモデリングプログラムを使用したいと思います。 Blenderで作成されたモデルがSceneKitで直接作成できるモデルとして機能することができれば、私は興味があります。私は、素材を適用し、オブジェクトの色をコードで変更することができ、インポートされたモデルでこれが可能かどうかを事前に知りたいと考えています。Blenderで作成した3Dモデルの素材を使用

私はモデルを.dae(Colladaファイル)に書き出すことができますが、このようにモデルを使用することはできますが、素材を変更することはできません。

他の方法で変更することができれば、オブジェクトをどのようにして(どの形式で)エクスポートするかを簡単に説明できれば幸いです。

答えて

0

実際には、素材をCollada(dae)形式で変更することができます。

これらの材料は、クラスSCNMaterialに含まれています。

SCNNode.geometry.firstMaterial

は、この方法は、あなたの与える:


まずあなたが材料アクセスの最も簡単な方法は、おそらく持っている:

ここでの方法は、あなたが材料にアクセスするために使用することができますオブジェクトが使用している最初のマテリアル

SCNNode.geometry.materials

この方法があなたに与えたオブジェクトが使用しているすべての材料を含むNSArray


次はあなたが材料全体のアクセス権を持っています。

[SCNNode.geometry.materialWithName: NSString]

この方法は、あなたのオブジェクトが使用しているすべての材料を含むNSArrayを与える:


は最終的に、あなたはgood'ol名のアクセス権を持っています。


とAppleのドキュメントで:

SCNNode.geometryは何ですか?詳しくはhere

素材accessmanipulationです。


サイドノート:

が実際にあなたがSCNMaterialProperty

SCNMaterialは、いくつかのSCNMaterialProperty秒で構成されて使用する必要がSCNMaterialの色/画像を制御します。

詳細については、文書をお読みください

+0

ありがとうございました。 Blenderでモデルをエクスポートするときに、テクスチャを持たず、UVを使わないでシェイプを作成するだけで十分ですか、それをXcodeでマテリアルとして適用できるようにするにはどうすればいいですか?私は自分のオブジェクトの最初のマテリアルの拡散マップを設定しようとしましたが、 "拡散は取得専用のプロパティです"というエラーが表示されました。だから私は、輸出する前に間違ったことをやっていると仮定しています。 – Larisa

+0

拡散を設定するには 'diffuse.contents'を使います。これは「拡散」[ここ](https://developer.apple.com/library/mac/documentation/SceneKit/Reference/ SCNMaterialProperty' '上のリンゴのドキュメントを参照してください詳しくは、色、画像などに設定することができますSCNMaterialProperty_Class/index.html#// apple_ref/swift/cl/c:objc(cs)SCNMaterialProperty)。 –

関連する問題