FoliMesh

Bevy向けローポリスタイルの3Dモデル

Bevy では GLB をそのまま AssetServer で読み込めます。asset_server.load(GltfAssetLabel::Scene(0).from_asset("tree.glb")) で取得し、SceneRoot でシーンに出現させます。FBX と OBJ はサードパーティ製クレートが必要なので、実用フォーマットは GLB です。この42点のラインナップ — オーク、ヨーロッパアカマツ、シラカバ、ココヤシ、ベンケイチュウ、竹 — は LOD0〜LOD3 を備え、距離に応じた切り替えは VisibilityRange とディザ付きクロスフェード、つまり Bevy 標準の HLOD 機構で行えます。

ローポリはフラットシェーディングで、色は頂点カラー(COLOR_0)に持たせます。テクスチャも UV 作業も不要で VRAM はごくわずか、頂点カラーを乗算するマテリアルひとつで足ります。葉はアルファカードではなく中実のジオメトリなので、アルファテストも透明オーバードローも発生せず、モバイル GPU に向きます。同じメッシュとマテリアルを共有すれば自動でバッチングとインスタンス化が効き、木を大量に並べても軽いままです。LOD0 は数百から2000程度の三角形で、モバイル、WebGL/WebGPU、VR、ストラテジー、スタイライズドなインディー作品に好適です。コライダーは衝突メッシュから Avian か bevy_rapier で生成します。

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

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

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

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

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

Bevyでの使い方

Bevy は AssetServer で glTF/GLB を読み込みます。asset_server.load(GltfAssetLabel::Scene(0).from_asset("tree.glb")) を SceneRoot でスポーンし、個々のメッシュやマテリアルにはラベルでアクセスできます。FBX と OBJ にはサードパーティのクレートが必要なので、GLB を使うのが基本です。

  • LOD:LOD0〜LOD3 の各エンティティに VisibilityRange(開始・終了マージン)を付けると、距離に応じてディザのクロスフェードで切り替わります。これが Bevy の HLOD の仕組みです。
  • 葉:glTF の alphaMode MASK は StandardMaterial の AlphaMode::Mask(cutoff) になり、両面マテリアルでは背面カリングが無効になります。
  • 同じメッシュとマテリアルを共有するエンティティは自動でバッチング・インスタンシングされるため、木を大量に置いても軽く済みます。
  • コリジョン:Bevy には物理が組み込まれていないので、Avian や bevy_rapier でコリジョンメッシュからコライダーを作ります。

パック

その他のカテゴリー

他のスタイルで見る

他のエンジン向け