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

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で描画してたが、今回は常にこっちを向かせたかった。

コメント

このブログの人気の投稿

Godot 溶岩シェーダー

Godot Engineで溶岩シェーダーを書きました。 https://bitbucket.org/arlez80/godot-magma-shader/src ぐるんぐるんの炎魔法用なので、ホントは溶岩ではないのですが、たぶん溶岩用に使うのが一番使いやすいと思います。 (動いているものはツイートしてます。 こちらで確認 できます。) 溶岩自体の色は赤で固定ではありません。シェーダーの引数にcolorというのがあって、それにGradientTextureを指定すると良い感じで色を変更できます。

Godot Maze Generator公開しました

ぐるんぐるんするゲーム、ぐるんぐるん(仮)を作っています。 そこで、自動で3Dダンジョンを生成するプログラムを作ったのですが、それだけを切り離して公開しました。 https://bitbucket.org/arlez80/godot-maze-generator 部屋を分離してダンジョンを生成します。あとはGridMapなんかを使ってダンジョンを3Dモデル化して使います。 生成したマップのサンプル: こんな感じになります。