スキップしてメイン コンテンツに移動

投稿

2019の投稿を表示しています

Godot EngineでHUD表示

3D空間に2DUIの表示についてのメモ。

Viewportノードを作成し、その下に表示したい2D UIを作る:
そして表示用のMeshInstanceも作成しておく。メッシュはQuad、マテリアルはMaterialOverrideに下のような感じに設定する: そして、最後に_ready( )に以下のコードを使用:

# 名前とかは適宜変えてね
func _ready( ):
    $MeshInstance.material_override.albedo_texture = $Viewport.get_texture( )

上下反転しているときは、テクスチャをFilpYするか、ViewportのRenderTarget/VFlipをtrueにすると直る。

Viewportにはスクリーンサイズを設定するところがあるので設定しわすれないように注意する。背景を透明化するときは、TransparentBgをtrueにする。

サンプルのGui in 3dでも使われている、ViewportTextureというのがあったけど、これはBillboardをtrueにすると上手く動かなかった。サンプルでは3Dで描画してたが、今回は常にこっちを向かせたかった。