CrossRoad

XRを中心とした技術ブログ。 Check also "English" category.

Blenderで指定したオブジェクトのみを.babylon形式でエクスポートする方法

Babylon.jsの公式HPでは、Blenderで作った3DCGモデルを.babylon形式 (Babylon.jsで再生できるフォーマット) でエクスポートするためのアドオンがあります。

これについての使い方も公式ドキュメントで紹介されています。

doc.babylonjs.com

しかし、ドキュメントの記述がBlender2.79をベースにかかれており、Blender2.8以降では使い方が異なっていました。また、Blenderで作ったオブジェクトのうち、選択したオブジェクトだけをエクスポートする方法がわかりづらくなっていました。

そこで、今回はBlenderで指定したオブジェクトのみを.babylon形式でエクスポートする方法を紹介します。

試した環境
・Blender2.83.6
・Blender2Babylon-2.80x.zip

1. .babylon形式でエクスポートするためのアドオンの配布場所とインストール方法

ここにあります。

github.com

Blender2Babylon-2.80x.zip を選択してから開いたページでDownloadボタンをクリックすると、Blender2Babylon-2.80x.zipだけをダウンロードすることができます。

position of Blender2Babylon-2.80x.zip on GitHub

Blenderを開き、Edit > Preferenceを開きます。 Add-onsでInstallボタンを選択して先ほど取得したBlender2Babylon-2.80x.zipを指定します。

Preference for Babylon.js exporter on Blender2.83

すると、このようにBabylon.jsが出てきますので、チェックマークをつけます。これで、BlenderのFile > Exportに.babylonで出力する候補が追加されます。

2. そのまま.babylon形式でエクスポートするとBlenderの全オブジェクトが出力されてしまう

.fbx、.objなど、他の形式でエクスポートするときは、出力先を指定する画面でSelected Objectsというオプションがあります。これにチェックをつけておけば、あらかじめBlender上で選択状態にしたオブジェクトだけが出力されます。

しかし、File > Export > Babylon.js ver 2.80.1 を選ぶと、Selected Objectsのオプションはありません。また、公式ドキュメントをみるとPropertiesのSceneから指定することと書いてありますが、Sceneの中にはBabylon.jsに関するオプションがありません。

Scene option on Blender2.83 on condition that Babylonjs exporter is activated

3. Collection単位で指定することで、Selected Objectsと同様の設定が可能

フォーラムで確認したところ、Collection単位で指定すればSelected Objectsと同様の設定が可能と書いてありました。そこで試してみました。

まずはBlenderでつくった3DCGモデルをCollectionとCollection2に適当に分けました。

AllCollection are activated in Blender

BlenderのFile > Export > Babylon.js ver 2.80.1 で.babylon形式で出力し、BabylonjsのSandboxサイトにアップロードしてみました。

A babylon file which all Collection in blender are activated on Babylonjs Sandbox

このように全ての3DCGモデルが.babylonに入っていることが確認できます。

ちなみに、Sandboxサイトとは、3DCGモデルをアップロードして表示内容を確認できるサイトです。 gltf、obj、babylon形式の3DCGモデルを手軽に確認できます。

次に、BlenderのScene Collectionの中で、Collection2だけチェックを外しました。

Only a collection is activated in Blender

BlenderのFile > Export > Babylon.js ver 2.80.1 で.babylon形式で出力し、同じようにSandboxで表示させてみます。

このように、Collecion2の内容が消えていることが確認できます。

A babylon file which a Collection in blender is activated on Babylonjs Sandbox

4. おわりに

2021年の5月おわり頃を目処に、Babylon.js ExporterのAdd-onは、Blender2.93 LTSを対象として改修が入るようです。そのときはUIも改善されるそうなので、こちらも更新予定です。