FoliMesh

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

PlayCanvas はこれらの植物を GLB の container アセットとして読み込みます。ファイルを Editor にドロップするとモデル階層つきの template が得られ、コードからは app.assets.loadFromUrl(url, 'container') と asset.resource.instantiateRenderEntity() を使います。リアル調のセットはベンケイチュウ、樽型サボテン、ウチワサボテン、アガベ、アロエの5種で、幹にはノーマルマップとラフネスマップを備えた PBR metal/roughness マテリアル、葉はアルファテストのカードです。

PlayCanvas には LOD コンポーネントが標準でないため、短いスクリプトでカメラ距離を比較し、LOD0〜LOD3 のエンティティの render コンポーネントを切り替えます。遠いレベルでは枝と葉のカードが落ちるので、何百株も並ぶ砂漠シーンでも負荷を抑えられます。マスク処理された葉は深度を書き、ソート不要で影も正しく落ちます。静的植株は batch group にまとめられ、密なベンケイチュウの群生は meshInstance.setInstancing() が向いています。一人称・三人称のサバイバル、オープンワールド、西部劇のシミュレーターに適しています。

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

リアルスタイルについて

リアル系モデルは PBR の metal/roughness ワークフローを採用しており、glTF 2.0、Unity、Unreal、Godot、three.js でそのまま読み込めます。

  • 樹皮:幹と枝にベースカラー、法線、ラフネスのマップ。
  • 葉:葉の房のテクスチャを貼ったアルファテスト(Masked)カード。アルファブレンドではないため深度を書き込み、ソート不要で影も正しく落ちます。
  • 樹皮と葉は別マテリアルなので、ドローコール数が読みやすく GPU インスタンシングとも相性が良好です。
  • LOD0 は近景用。LOD1〜LOD3 で枝と葉カードを減らし、最後のレベルは遠景に十分な軽さです。

PC・コンソールの一人称/三人称ゲーム、サバイバル、オープンワールド、シミュレーターに最適です。モバイルでは LOD1 か LOD2 を最も近いレベルにし、葉のオーバードローに注意してください。

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

パック

その他のカテゴリー

他のスタイルで見る

他のエンジン向け