2011-10-09 17 views
9

動機
WebGLを使用して小さなデモアプリケーションを作成しようとしています。私はSceneJSを使用することを選択しました。なぜなら、これは簡単なフレームワークに見え、この目的には十分すぎるほどのものだったからです。3DモデルをSceneJS JSON(テクスチャを含む)に変換する

私はいくつかの.blendモデル(Amy Roseなど)をダウンロードし、それらをBlenderを使用してCollada(.dae)ファイルとしてエクスポートしました。それから私はscenejs-pycolladaを使ってそれらをjsonモデルに変換しました。

私は、scenejs-pycolladaコンバータを動作させるのに数時間を費やしました。どうやらPythonを一度も使用していないのであれば、WindowsでPythonの依存関係を動作させるのは簡単ではありません。 ;)

問題
しかし、今私は(もう一度)立ち往生しています。私の問題は、モデルにテクスチャや素材がないことです。

私はSceneJSのSeymour Plane Exampleを使用しました。私が変換したモデルはほとんど見えません。それは黒で、シーンの照明に反応しないようです。平面とモデルを一緒にロードすると、モデルがロードされていることがわかります。そのモデルは、アームとレッグが平面からはみ出しているためです。

私は、テクスチャをPNG画像として書き出すことができるチュートリアルに従った。その後、ファイル名と一致するようにJSONモデルのテクスチャファイル名を変更しましたが、それは役に立ちません。

私は、Blenderモデル(またはその他の一般的な3Dモデル)を、SceneJSで使用されるJSON形式(テクスチャを含む)にエクスポートする方法を見つけるのを助けてくれることを願っています。

他の方法でSceneJSにモデルをロードする方法は、動作していれば実行できます。

body/figure JSONモデルの無料ダウンロードへのリンクがあれば、それは今のところ助けになりますが、私はむしろこれがどのように機能するかを学びます。 :)

私は

  • Windows 7のホームプレミアム64ビット版を使用してい
  • のPython 2.7(Windowsの32ビット)
    は、私は、理由はライブラリの一見より良いサポートのため、32ビットバージョンを選択し、より多くの利用可能なインストーラ。最初は32ビットと64ビットが混在していましたが、それは問題を引き起こしましたが、今はすべてが機能しているように見えます(テクスチャは除く)。
  • のBlender 2.59
  • SceneJS 0.8.0

ブレンダー私は私のワークフロー
Collada(* .DAE)ファイルにモデルをエクスポートし、scenejs-を使用して生のJSONに変換ピコラダ。これにより、2つのオブジェクトを含むJSONファイルが作成されます。最初はシーン、2番目はモデルのようです。私は2番目を保持し、SceneJSの例のコードで使用されるJavascript変数に入れます。モデルは、コードをロードするためにコードから削除する必要があるプロパティ, "type": "library", "parent": "Scene"で終了します。

答えて

7

私は実際にscenejs-pycolladaの著者です。私はあなたを助けることができるなら、私は見てみましょう:)

私はあなたがSceneJSのバージョン0.8を使用している参照...物事はかなり流動的でてきたので、私のpersonal repoから2.0 branch of SceneJS from githubとscenejs-pycolladaを引っ張って、それは実際に最も簡単かもしれません。私は基本的にSceneJS 0.9をscenejs-pycolladaの最初のリリースに向けていましたが、そのバージョンは公式にリリースされませんでした。また、長期的には、今すぐ切り替えるとすべてを書き直す必要はありません...

問題のあるウィンドウのコンパイルも大きな棘です。私は本当にnumpyの開発者があなたのためにこれを修正することを望みますフォーク。 SceneJS 2.0がリリースされると、Windows用の必要なすべての依存関係がパッケージ化された、公式バージョンのscenejs-pycolladaをリリースします。

この回答にお寄せいただくか、質問を更新してください。私はそれを見守ってみよう。

P.S.あなたが本当に不満を抱いている場合は、https://github.com/rehno-lindeque/Blender-WebGL-exporterに2番目のブレンダーの輸出者がいますが、これを使用することはお勧めできません。これは古くなっています。唯一の他のscenejsコラダ輸出業者は、ずっと前に非難されました。

P.P.S.また、シーンとpycollada自体にもサンプルといくつかのテストモデルがあります。クイックモデルを試してみたいのであれば、https://github.com/rehno-lindeque/scenejs-pycollada/tree/master/exampleをチェックしてみてください。しかし、それはこれまでに一番美しいモデルではありません。

P.P.P.S.実際、エイミーローズのモデルがうまくいかない理由の1つは、scenejs-pycolladaがまだ複数のマテリアルをサポートしていなかったからです。私はすぐに今夜のためにいくつかのサポートを追加しています。

+0

ありがとうございました!あなたのバージョンscenejs-pycolladaとSceneJS 2.0で動作するようです。いずれかを再コンパイルする必要はありませんでしたので、それは良いです。 ;)私はNumpyの人たちを非常に責めません。互換性のないバージョンのさまざまなライブラリをインストールするのは私自身の責任です。 私は誰かが推薦したGLGEを試しています。 (.daeファイルを変換せずにロードします)。今のところ私のデモを稼働させる必要がありますが、すぐにSceneJSを再調査する時間を見つけることができれば幸いです。再度、感謝します。 – GolezTrol

+0

問題はありません、それ以上のバグは私に知らせてください:) –

関連する問題