FoliMesh

Bevy向けサボテン・多肉植物

Bevyで砂漠のシーンを組むなら、GLBで読み込むのが最短です。asset_server.load(GltfAssetLabel::Scene(0).from_asset("saguaro.glb")) で読み込み、SceneRoot でスポーンします。ベンケイチュウ、樽型サボテン、ウチワサボテン、アガベ、アロエはLOD0–LOD3を備えるので、各レベルに VisibilityRange を付ければ、ディザ付きクロスフェードで距離ごとの詳細切り替えをBevyに任せられます。

葉や棘はglTFのMASKアルファを使い、AlphaMode::Mask(cutoff) として扱われます。両面マテリアルは背面カリングを無効にするだけです。同じサボテンを何度も置いても、メッシュとマテリアルが共通なら自動でバッチ・インスタンス化され軽いままです。Bevyに物理は標準でないため、コリジョンメッシュからAvianやbevy_rapierでコライダーを作ります。根元ピボットなので地形への配置も簡単です。リアル調とローポリの両方が砂漠や西部劇のシーンに向きます。

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

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 でコリジョンメッシュからコライダーを作ります。

パック

その他のカテゴリー

他のスタイルで見る

他のエンジン向け