FoliMesh

PlayCanvas向けローポリスタイルの樹木

FoliMesh の GLB を PlayCanvas エディタにアップロードすると、モデル階層を持つ container アセットとして読み込まれるため、この14本の樹木——オーク、ヨーロッパアカマツからシダレヤナギ、オリーブ、バオバブまで——はそのままシーンに配置できます。ローポリのジオメトリはフラットシェーディングで、色はすべて頂点カラーに入っているので、テクスチャも UV 展開も不要、StandardMaterial は全モデルで1つ共有できます。

各樹木には LOD0–LOD3 と根元のピボットが付属します。PlayCanvas には LOD コンポーネントがないため、カメラ距離を比較して LOD0〜LOD3 の render component を切り替える短いスクリプトを用意します。静的な木は batch group でまとめられ、大きな森には meshInstance.setInstancing() によるハードウェアインスタンシングが向きます。幹は mesh タイプの collision と静的 rigidbody で扱えます。

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

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

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

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

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

PlayCanvasでの使い方

PlayCanvas は GLB をコンテナアセットとして扱います。エディターでは GLB をアップロードすると(FBX はインポート時に GLB へ変換)モデル階層付きのテンプレートができ、エンジン単体のコードでは app.assets.loadFromUrl(url, 'container') と asset.resource.instantiateRenderEntity() を使います。

  • LOD:組み込みの LOD コンポーネントはないため、小さなスクリプトでカメラとの距離を比較し、LOD0〜LOD3 エンティティの render コンポーネントを切り替えます。
  • 静的な木は同じバッチグループにまとめてドローコールを統合できます。大きな森では meshInstance.setInstancing() と変換行列の頂点バッファでハードウェアインスタンシングを使います。
  • 葉:glTF の MASK で StandardMaterial の alphaTest が設定されます。両面の葉にはカリングモードを none にします。
  • コリジョンメッシュ:mesh タイプの collision コンポーネントと静的 rigidbody を付け、render コンポーネントは無効にします。

パック

その他のカテゴリー

他のスタイルで見る

他のエンジン向け