2Dメッシュ

はじめに

3Dでは、メッシュを使用してワールドを表示します。2Dでは、イメージが頻繁に使用されるため、これらはまれです。Godotの2Dエンジンは純粋な二次元エンジンなので、3Dメッシュを直接表示することはできません(これはViewportViewportTextureを介して行うことができます)。

参考

3Dメッシュを2Dビューポートに表示する方法については、 チュートリアルの ビューポートをテクスチャとして使用する を参照してください。

2Dメッシュは、3Dではなく二次元ジオメトリ(Z軸は省略または無視できます)を含むメッシュです。 SurfaceTool を使用してコードから作成し、 MeshInstance2D 2Dノードに表示することもできます。

現在、エディタ内で2Dメッシュを生成する唯一の方法は、OBJファイルをメッシュとしてインポートするか、それをSpriteから変換することです。

描画するピクセルの最適化

このワークフローは、2D図面を最適化する場合に便利です。大きなイメージを透明で描画する場合、Godotは四角形全体を画面に描画します。大きな透明領域は描画されます。

ただし、非常に大きな画像(通常は画面サイズ)を描画するとき、または大きな透明領域を使用して複数の画像を重ね合わせるとき(特に ParallaxBackground を使用するとき)、特にモバイルデバイスでパフォーマンスに影響を与える可能性があります。

メッシュに変換すると、不透明な部分だけが描画され、残りは無視されます。

スプライトを2Dメッシュに変換

SpriteMeshInstance2D に変換することでこの最適化を利用できます。下記の木の画像のように、端に大量の透過部分を含む画像から始めます:

../../_images/mesh2d1.png

それをSpriteに入れて、メニューから "Convert to 2D Mesh" を選択してください:

../../_images/mesh2d2.png

ダイアログが表示され、2Dメッシュの作成方法のプレビューが表示されます:

../../_images/mesh2d3.png

大体の場合はデフォルト値で十分ですが、必要に応じて拡大(growth)や単純化(simplification)を変更できます:

../../_images/mesh2d4.png

最後に、 Convert 2D Mesh を押すとSpriteが置き換えられます:

../../_images/mesh2d5.png