FoliMesh

PlayCanvas向けローポリスタイルのサボテン・多肉植物

PlayCanvas では GLB は container asset として扱われ、エディタにアップロードすると階層つきのテンプレートになります。コードからは app.assets.loadFromUrl(url, 'container') と asset.resource.instantiateRenderEntity() で読み込めます。ベンケイチュウ、樽型サボテン、ウチワサボテン、アガベ、アロエは LOD0–LOD3、コリジョン、根元のピボットを備え、砂の上にそのまま配置できます。

ローポリはこのエンジンと相性が良く、フラットシェーディングと頂点カラー(glTF COLOR_0)だけで貼り付けテクスチャも UV 作業も不要、全モデルがひとつのマテリアルを共有します。PlayCanvas に LOD コンポーネントはないため、カメラ距離で LOD0–LOD3 のエンティティを切り替える短いスクリプトを追加します。静止したサボテンは batch group にまとめ、広い群落は meshInstance.setInstancing() で描画。LOD0 は数百〜2,000 三角形程度です。

モデル
5
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 コンポーネントは無効にします。

その他のカテゴリー

他のスタイルで見る

他のエンジン向け