プログラミング

制作する人によって違うのが面白い。
どのようなゲームに実装するのかによって変わってくるんだろうと思う。

Github
https://github.com/morino5555/GodotExample/tree/main/hotbar


参考
https://www.youtube.com/watch?v=VqsMOanbbcc


参考
https://www.youtube.com/watch?v=PfhmtIJDiVA

プログラミング

Github
https://github.com/morino5555/GodotExample/tree/main/3d-sokoban

アセット
https://sona-sar.itch.io/voxel-animals-items-pack-free-assets

参考
https://kidscancode.org/godot_recipes/3.x/2d/grid_movement/index.html
https://www.youtube.com/watch?v=HmnwNadwHWI

グリッドサイズの移動は参考サイトの2Dと同じくグリッドサイズ分を移動させ、Raycast3Dで移動位置に障害物があるかチェックして無ければ移動する

ボックスも押されたらRaycast3Dで移動先をチェックして無ければ移動する

ゴールはArea3Dでボックスが来たらOKとする

メニューはControlで作成

プログラミング

Github
https://github.com/morino5555/GodotExample/tree/main/3d-player-2

アセット
https://kaylousberg.itch.io/kaykit-adventurers

参考
https://www.youtube.com/watch?v=JlgZtOFMdfc

■AnimationTree3Dで躓いた箇所

Treeを設定して矢印でつないだ時に右側の「Condition」に何も入れないとエラーになる
参考動画では何もしていないので未入力だと以下エラー

https://zenn.dev/lettucefry/articles/aec3af281b83b5

もしかすると必須になったのかもしれない。

それと、参考動画のキャラローテーションはrotation.yだがglobal_rotation.yにしないとキャラが回り続ける。動画のコメント参照

_skin.global_rotation.y = lerp_angle(_skin.rotation.y, target_angle, rotation_speed * delta)
↓
_skin.global_rotation.y = lerp_angle(_skin.global_rotation.y, target_angle, rotation_speed * delta)

プログラミング

Github:https://github.com/morino5555/GodotExample/tree/main/3d-player

Assets:https://kaylousberg.itch.io/kay-kit-mini-game-variety-pack

FPS視点キャラクター

キーボードのみ、キーボードとマウスの2種類

TPS視点キャラクター

SpringArm3Dを使用して左クリックでズームイン、右クリックでズームアウト