FoliMesh

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

PlayCanvas では GLB はコンテナアセットとして扱われ、エディタにアップロードするとモデル階層入りの template が得られます。エンジンのみのコードでは app.assets.loadFromUrl(url, 'container') と asset.resource.instantiateRenderEntity() を使います。ベンケイチュウ、樽型サボテン、ウチワサボテン、アガベ、アロエの5モデルは LOD0〜LOD3 と底面ピボット付きなので、砂漠や西部劇のシーンにそのまま配置できます。

PlayCanvas には LOD コンポーネントがないため、短いスクリプトでカメラ距離を比較し4段階の render component を切り替えます。群生させる場合は batch group か meshInstance.setInstancing() によるハードウェアインスタンシングが有効です。両面の葉や棘は glTF MASK の alphaTest と cull mode none で処理し、collision mesh と静的 rigidbody を使えば render component を切ったまま当たり判定を付けられます。

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

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

パック

その他のカテゴリー

他のスタイルで見る

他のエンジン向け