FoliMesh

Babylon.js向けローポリスタイルの岩

ローポリの岩は Babylon.js のシーンで最も軽いアセットです。テクスチャも UV 展開も不要で、フラットシェーディングの面と頂点カラー(COLOR_0)だけで成立します。GLB は @babylonjs/loaders の ImportMeshAsync で読み込み、断崖や岩盤スラブ、岩の散らばりをレベル内で繰り返すなら LoadAssetContainerAsync と instantiateModelsToScene を使います。

収録は 7 モデル:小石、石、巨岩、岩盤スラブ、岩の散らばり、断崖、岩付きの断崖。いずれも LOD0–LOD3、コリジョン、底面ピボット付きです。LOD は lod0.addLODLevel(30, lod1) と addLODLevel(80, lod2) で連結し、null を渡せばメッシュを完全に非表示にできます。thinInstanceAdd によるシンインスタンスは数百の岩をメッシュごとに 1 ドローコールで描画し、不可視のコリジョンメッシュ(isVisible = false)は checkCollisions や Havok の PhysicsAggregate に渡せます。LOD0 の予算は数百から二千三角形程度です。

モデル
7
LODレベル
LOD0 – LOD3
フォーマット
GLB · FBX · OBJ

ローポリスタイルについて

ローポリはレンダリング負荷もビルドサイズも最も軽いスタイルです。

  • フラットシェーディング:面ごとに 1 本の法線でくっきりした多面体の見た目になり、法線マップは不要です。
  • 色は頂点カラー(glTF COLOR_0)に格納:テクスチャなし、UV 作業なし、VRAM もほぼ消費しません。
  • 葉はアルファカードではなく実体のジオメトリ:アルファテストも半透明のオーバードローもなく、モバイル GPU で効きます。
  • シーン内の全モデルで 1 つのマテリアルを共有でき、樹木を簡単にバッチング・インスタンシングできます。
  • LOD0 の一般的な予算は数百〜2,000 ポリゴン程度です。

モバイル、WebGL/WebGPU、VR、ストラテジー、街づくり、スタイライズドなインディーゲームに向いています。エンジンでは頂点カラーを乗算するマテリアルを使ってください。

Babylon.jsでの使い方

Babylon.js は @babylonjs/loaders の glTF ローダーで GLB を読み込みます。ImportMeshAsync(古いコードでは SceneLoader.ImportMeshAsync)、多数のコピーが必要なら LoadAssetContainerAsync と instantiateModelsToScene を使います。

  • LOD:lod0.addLODLevel(30, lod1)、addLODLevel(80, lod2) のように登録します。メッシュに null を渡すと、その距離より先でオブジェクトが非表示になります。
  • 数千本の木:Thin Instances(行列を渡す thinInstanceAdd)はメッシュごとに 1 ドローコールで描画できます。木ごとにピッキングやロジックが必要なら通常の createInstance を使います。
  • 葉:glTF の MASK はアルファテストの PBRMaterial(MATERIAL_ALPHATEST)になります。
  • コリジョンメッシュ:isVisible = false にして、checkCollisions か Havok 物理(MESH 形状の PhysicsAggregate)で使います。

パック

その他のカテゴリー

他のスタイルで見る

他のエンジン向け