Chapter 14

2-08: メッシュを結合 (Combining Meshes Using Merge Meshes)

ちょまど (千代田まどか)
ちょまど (千代田まどか)
2022.05.20に更新

このページの原文: https://doc.babylonjs.com/start/chap2/combine

🏘 2-08: メッシュを結合 (Combining Meshes Using Merge Meshes)

Merge Meshes を使用したメッシュの結合

これは、2 つ以上のメッシュを組み合わせる簡単な方法です。

const combined = BABYLON.Mesh.MergeMeshes(Array_of_Meshes_to_Combine)

私たちの場合 (家を作りたいのでしたね)、次のようになります。

const house = BABYLON.Mesh.MergeMeshes([box, roof])

ひとつのマテリアルだけで家全体を覆ってしまっていますね。
幸いなことに、これは MergeMeshesmultiMultiMaterial パラメータを使って修正できます。長いパラメータリストの最後に位置するパラメータとなります。

コードはこのようになります。

const house = BABYLON.Mesh.MergeMeshes([box, roof], true, false, null, false, true);

MergeMeshes のパラメータの補足

2 番目のパラメータ (disposeSource) が true の場合は元のメッシュ (ボックスと屋根のメッシュ) が破棄され、マージされたメッシュが生成されます。

また、最後のパラメータ (multiMultiMaterials) が true の場合は、元のメッシュに一致するパーツに元のマテリアルが個別に適用されます。

disposeSourcefalse にすると、破棄されなかった元のボックスと屋根のメッシュを確認することができます。(上は true なので、破棄されているから一覧に無い)

参考)さらなる学び

https://doc.babylonjs.com/divingDeeper/mesh/mergeMeshes