ぬーぶのメモ帳

フリーゲームエンジン「Godot」でプログラム経験のない素人の備忘録 最近は色々な動作を考えて試すのが好き。

【Godot】look_at()を使って対象へ振り向かせる

目標方向を示すナビのような物を作りたい 


例えばアイテム集めるゲームで、時間が経っても見つからない場合プレイヤーはうんざりしてしまうと思います。
時間経過でヒントを示したらユーザーには親切でゲーム進行もスムーズになるはず。
look_at() を使うとそれを簡単に行えるようなので試す事に。



まずはグローバル変数で目標物の座標を取れるか試す
【Godot】自動読み込みの設定方法 - ぬーぶのメモ帳

func _process(delta: float) -> void:
		var pos = Checker.t_point.global_position
		print(pos)


目標物を別の座標に移しても取得できたので、printをlook_atに置き換えてガイドを追加しました。

けどあさってを向いていてどうにも上手くいかない…
色々調べ原因は基礎的な事で、Godotで角度は下の画像のように表されるもよう。

(インスペクターのRotationを90に設定すると実際下を向く)
用意したガイド素材の画像は上を向いていたので


プログラム上では目標物を指していてくれていました。

今回素材の角度をエディタ上や、プログラムで変えても上手くできなかったので画像自体を右方向に変え目標物へ向くように。

方向、角度を扱う素材の場合0度方向に素材を用意した方がいいのかなと思った。
look_atを使えば他にもSTG等で砲塔を動かせるし、RPGのクエストマーカーみたいな物にも使えるかも?

5/3 look_atを利用したゲーム
https://noob-og3.hatenadiary.com/entry/2022/05/03/215339