2024/12/24(火) [n年前の日記]
#1 [godot] ピンがある方向に自動で向く処理を入れてみた
_昨日
に続き、Windows10 x64 22H2 + Godot Engine 4.3 64bit でゴルフゲームっぽいものが作れないものかなと試してる。
ボールが打てる状態になったら、目標角度がピンのある方向に自動で向く処理を入れてみた。これで、スペースキーを叩いてパワーだけを決めればサクサク進む状態になった。
Godot Engine の GDScript には atan2() があるので、それを使えば角度を求められる。今回は x-z平面上だけで角度を考えればいいから、これで充分だろう…。Vector3 のメソッドの中に、似たようなものがありそうな気もしているけれど…。
ただ、目標座標 = ピンの座標をどうやって指定するかで考え込んでしまった。blender上であらかじめ指定できたらいいのかもしれないけれど、エクスポートした際にどんな情報をピン座標として渡せばいいのかで悩んでしまって…。例えばemptyオブジェクトを渡せたりするのだろうか? どうなんだろう…。
結局、Godot Engine上で Node3D を1つ追加して、目視でピンの位置に置いて済ませてしまった。目的は果たせるけれど、作業手順としてはかなりダサい気もする…。
もう一点、ボールがピンを飛び越えて、ほとんど真後ろに目標角度を変更する時の、カメラの追従の仕方がどうもしっくりこない。注視点座標とカメラ座標が、若干遅れて本来の座標まで変化するようにしてあるけれど、真後ろを向こうとした時は画面の見た目がギョロン(?)と変わってしまう。その動きは…違うんだよな…。カメラの動きを決定する際、角度を管理する変数も入れてみたほうがいいのかもしれない。
さておき、これでゲームっぽく見える仕様はそこそこ入ったので、地形モデルデータをもう少し修正しつつ、木を作って配置してみようかなと。
しかし、どういう木のモデルデータを作るべきか…。さすがに今時ビルボードは無いよな…。
ちなみに、PS1のみんなのゴルフでは木はビルボードだったけど、PS2版ではポリゴンモデルになってた記憶がある。観客はビルボードだったけど。
ボールが打てる状態になったら、目標角度がピンのある方向に自動で向く処理を入れてみた。これで、スペースキーを叩いてパワーだけを決めればサクサク進む状態になった。
Godot Engine の GDScript には atan2() があるので、それを使えば角度を求められる。今回は x-z平面上だけで角度を考えればいいから、これで充分だろう…。Vector3 のメソッドの中に、似たようなものがありそうな気もしているけれど…。
func set_dir_to_pin(): var d = pinposition.global_position - global_position var ang = rad_to_deg(atan2(d.z, d.x)) dir_ang = ang + 90
ただ、目標座標 = ピンの座標をどうやって指定するかで考え込んでしまった。blender上であらかじめ指定できたらいいのかもしれないけれど、エクスポートした際にどんな情報をピン座標として渡せばいいのかで悩んでしまって…。例えばemptyオブジェクトを渡せたりするのだろうか? どうなんだろう…。
結局、Godot Engine上で Node3D を1つ追加して、目視でピンの位置に置いて済ませてしまった。目的は果たせるけれど、作業手順としてはかなりダサい気もする…。
もう一点、ボールがピンを飛び越えて、ほとんど真後ろに目標角度を変更する時の、カメラの追従の仕方がどうもしっくりこない。注視点座標とカメラ座標が、若干遅れて本来の座標まで変化するようにしてあるけれど、真後ろを向こうとした時は画面の見た目がギョロン(?)と変わってしまう。その動きは…違うんだよな…。カメラの動きを決定する際、角度を管理する変数も入れてみたほうがいいのかもしれない。
さておき、これでゲームっぽく見える仕様はそこそこ入ったので、地形モデルデータをもう少し修正しつつ、木を作って配置してみようかなと。
しかし、どういう木のモデルデータを作るべきか…。さすがに今時ビルボードは無いよな…。
ちなみに、PS1のみんなのゴルフでは木はビルボードだったけど、PS2版ではポリゴンモデルになってた記憶がある。観客はビルボードだったけど。
[ ツッコむ ]
#2 [digital][neta] AIはまだちょっと信用できない
年賀状用のイラストを今年もAIに作ってもらおうと思ったのだけど、そもそも来年の干支は何だっけと…。いや、ググれば出てくるけど…。
気になって、Microsoft Edge経由で Microsoft Copilot に尋ねてみたら、「来年は寅年です」と自信満々に言ってきて驚いた。そうだったっけ? いや、違うよね?
しかし同じ質問を繰り返すと、正しい回答をしてくる。どういうことだろう…。Copilot、どうなってんの?
Google Gemini で同じ質問をしてみたら、こちらは正しい回答をしてきた。
将来的に、ネットでググったらなんでもかんでもまずはAIが答えてきたり、AIが自動生成したWebページばかりがリストアップされる状況になってしまうのかもしれないけれど。今回の初っ端の、間違った回答しか返ってこないようでは、かなりマズイことになりそうだよなと…。
気になって、Microsoft Edge経由で Microsoft Copilot に尋ねてみたら、「来年は寅年です」と自信満々に言ってきて驚いた。そうだったっけ? いや、違うよね?
しかし同じ質問を繰り返すと、正しい回答をしてくる。どういうことだろう…。Copilot、どうなってんの?
Google Gemini で同じ質問をしてみたら、こちらは正しい回答をしてきた。
将来的に、ネットでググったらなんでもかんでもまずはAIが答えてきたり、AIが自動生成したWebページばかりがリストアップされる状況になってしまうのかもしれないけれど。今回の初っ端の、間違った回答しか返ってこないようでは、かなりマズイことになりそうだよなと…。
[ ツッコむ ]
以上、1 日分です。