I know how to export a json model from blender and load it with THREE.JSONLoader().load. I want to build a model with Threejs in Webgl and create a json file from that model. Anyone know if this is possible?
2 に答える
私はあなたの質問を理解したいと思います。.obj のように、object3D を JSON にバンドルしようとしていますか? それを読んで、別の場所で別の瞬間にジオメトリを構築できますか? 逆パス「blender→json→three.js」を作ろうとしているようですね。
私の意見では、モデルがどのように JSON にコーディングされているかを正確に理解して、ブレンダーのように振る舞えるようにし、正しい情報を JSON にバンドルするシリアライザーのようなものを作成する必要があります。
.obj や .blend 形式の代替のような、カスタム パターン/モデル/標準として機能する JSON を作成したいだけの場合は、デシリアライザーも書き留めておく必要があります。
説明させてください。
ジオメトリには、頂点、面、UV、法線などがあります。正確な順序に従って、シリアライズ中にこれらすべてを指定する必要があり、それで完了です。パラダイムがわかれば、それを読み取って逆シリアル化できます。
何か誤解していたら、教えてください。
バイバイ
はい、可能です。Three.js にエクスポートするには、blender にプラグインをインストールする必要があります。
フォーム git をダウンロード: Three.js への Blender エクスポーター
それをダウンロードして、io_three フォルダーを ~/.config/blender/2.69/scripts/addons/ フォルダーの下に置きます。
次に、[ファイル] > [ユーザー設定] を開き、[アドオン] タブに移動します。Three.js を検索し、見つかったプラグインを有効にします。これで、[ファイル] > [エクスポート] > [Three.js] オプションが表示されるはずです。開いたタブで、Face Materials チェックボックスがオンになっていることを確認します。そうしないと、マテリアルがなくなり、Three.js はメッシュのインポートを拒否します。
Three.js での使用
var mesh = null;
function initMesh() {
var loader = new THREE.JSONLoader();
loader.load('./marmelab-logo.json', function(geometry) {
mesh = new THREE.Mesh(geometry);
scene.add(mesh);
});
}