FoliMesh

Babylon.js向けリアルスタイルの岩

Babylon.js は @babylonjs/loaders の glTF ローダーでこれらの GLB 岩をそのまま読み込みます。単体の岩には ImportMeshAsync、岩の散らばりを何百個も複製するなら LoadAssetContainerAsync と instantiateModelsToScene の組み合わせが向いています。リアルな石は PBR メタル/ラフネスワークフローで作られ、Babylon.js 側で変換なしに表示でき、ノーマルマップが地層やひび、苔を表現します。

収録は 7 モデル — 小石、石、巨岩、岩盤スラブ、岩の散らばり、断崖、岩付きの断崖。すべて LOD0–LOD3、コリジョン、底面ピボット付きで、サバイバルやオープンワールド、シミュレーターに向きます。LOD は lod0.addLODLevel(30, lod1)、addLODLevel(80, lod2) でつなぎ、null を渡せばその距離以遠でメッシュを非表示にできます。岩は静的なので、thin instance(thinInstanceAdd)で斜面一面の岩をメッシュごとに 1 ドローコールで描けます。非表示のコリジョンメッシュは checkCollisions や Havok の PhysicsAggregate で使えます。

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

リアルスタイルについて

リアル系モデルは PBR の metal/roughness ワークフローを採用しており、glTF 2.0、Unity、Unreal、Godot、three.js でそのまま読み込めます。

  • 樹皮:幹と枝にベースカラー、法線、ラフネスのマップ。
  • 葉:葉の房のテクスチャを貼ったアルファテスト(Masked)カード。アルファブレンドではないため深度を書き込み、ソート不要で影も正しく落ちます。
  • 樹皮と葉は別マテリアルなので、ドローコール数が読みやすく GPU インスタンシングとも相性が良好です。
  • LOD0 は近景用。LOD1〜LOD3 で枝と葉カードを減らし、最後のレベルは遠景に十分な軽さです。

PC・コンソールの一人称/三人称ゲーム、サバイバル、オープンワールド、シミュレーターに最適です。モバイルでは LOD1 か LOD2 を最も近いレベルにし、葉のオーバードローに注意してください。

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

パック

その他のカテゴリー

他のスタイルで見る

他のエンジン向け