FoliMesh

PlayCanvas向け岩

PlayCanvas は GLB をコンテナアセットとして扱います。FoliMesh のモデルをエディタにドラッグすれば階層付きの template が生成され、エンジンコードのみの場合は app.assets.loadFromUrl(url, 'container') と asset.resource.instantiateRenderEntity() を使います。7 点のモデル——小石、石、巨岩、岩盤スラブ、岩の散らばり、断崖、岩付きの断崖——はいずれも LOD0–LOD3、底面ピボット、mesh コリジョンを備え、リアル調のブラウザシーンにもローポリの作風にも収まります。

PlayCanvas には LOD コンポーネントが標準で存在しないため、カメラ距離を比較して LOD0–LOD3 の render コンポーネントを切り替える短いスクリプトを用意すると、断崖が近くても遠くても軽いままです。静的な岩塊は batch group にまとめ、密集した小石や岩の散らばりには meshInstance.setInstancing() が向いています。seed ごとに新しい形状が生成され、GLB・FBX・OBJ に書き出せます。

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

パック

その他のカテゴリー

他のスタイルで見る

他のエンジン向け