FoliMesh

Babylon.js向けヤシ

Babylon.js は @babylonjs/loaders の glTF ローダーで GLB を読み込みます。単体なら ImportMeshAsync、大量のコピーには instantiateModelsToScene を併用した LoadAssetContainerAsync が向いています。収録は5種:ココヤシ、ナツメヤシ、カナリーヤシ、ワシントンヤシ、ヨーロッパナツメヤシ。

各モデルは LOD0–LOD3(lod0.addLODLevel(30, lod1)、addLODLevel(80, lod2))を備え、根元にピボットを置いたコリジョンとアルファテストの PBRMaterial の葉を持ちます。根元ピボットは起伏のある地形への配置を楽にし、数千本のヤシは thin instances でメッシュごとに1ドローコール。ビーチや島、オアシスのブラウザシーンでもフレームレートが安定します。

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

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)で使います。

パック

その他のカテゴリー

他のスタイルで見る

他のエンジン向け