動機
WebGLを使用して小さなデモアプリケーションを作成しようとしています。私はSceneJSを使用することにしました。これは、簡単なフレームワークのようであり、この目的には十分すぎるためです。
いくつかの.blendモデル(特にAmy Rose )をダウンロードし、 Blenderを使用してCollada(.dae)ファイルとしてエクスポートしました。次に、scenejs-pycolladaを使用してそれらをjsonモデルに変換しました。
私は、 scenejs-pycolladaコンバーターを動作させるために数時間を費やしました。どうやら、これまでPythonを使用したことがない場合、これらのPython依存関係をWindowsで機能させるのはそれほど簡単ではありません。;)
問題
しかし今、私は立ち往生しています(再び)。私の問題は、モデルにテクスチャや素材がないことです。
SceneJSのSeymourPlaneExampleを使用しました。変換したモデルはほとんど見えません。黒く、シーンの照明に反応しないようです。平面とモデルを一緒にロードすると、腕と脚が平面から突き出ているため、モデルがロードされていることがわかります。
次に、テクスチャをPNG画像としてエクスポートできるチュートリアルをいくつか実行しました。次に、JSONモデルのテクスチャファイル名をファイル名と一致するように変更しましたが、役に立ちません。
ですから、誰かがBlenderモデル(または他の一般的な3Dモデル)をSceneJSで使用されるJSON形式(テクスチャを含む)にエクスポートする方法を見つけるのを手伝ってくれることを願っています。
それが機能する限り、SceneJSにモデルをロードする他の方法も同様に機能します。
ボディ/フィギュアJSONモデルの無料ダウンロードへのリンクがあれば、それは今のところ役に立ちますが、私はむしろこれがどのように機能するかを学びます。:)
使っています
- Windows 7 HomePremium64ビット
- Python 2.7(Windows 32ビット)
ライブラリのサポートが改善され、インストーラーが利用できるようになったため、32ビットバージョンを選択しました。最初は32ビットと64ビットを混同して問題が発生しましたが、今ではすべてが機能しているようです(つまり、テクスチャを除く)。 - Blender 2.59
- SceneJS 0.8.0
私のワークフロー
Blenderで、モデルをCollada(* .dae)ファイルにエクスポートし、scenejs-pycolladaを使用してRawJSONに変換します。これにより、2つのオブジェクトを含むJSONファイルが得られます。最初はシーンのようで、2番目はモデルのようです。2番目を保持し、SceneJSの例のコードで使用されているJavascript変数に入れます。, "type": "library", "parent": "Scene"
モデルは、ロードするためにコードから削除する必要のあるプロパティで終わります。