リアルスタイルについて
リアル系モデルは 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)で使います。













