Godot

First Tutorial

lua extension
why lua?

project list:
https://20_games_challenge.gitlab.io/
https://freesound.org/

should compile a list of references I keep saving

x: webxr

https://kenney.nl/assets/prototype-textures
https://docs.godotengine.org/en/stable/tutorials/3d/csg_tools.html
https://github.com/patrykkalinowski/godot-xr-kit?tab=readme-ov-file
https://godotengine.org/asset-library/asset/3980
https://freesound.org/
https://www.godotroadmap.com/
Inverse Kinematics in godot 4.6

LookAtModifier3D was the minimal implementation to verify that the SkeletonModifier3D

- IKModifier3D
    - TwoBoneIK3D
    - ChainIK3D
        - SplineIK3D
        - IterateIK3D
            - FABRIK3D
            - CCDIK3D
            - JacobianIK3D

Deterministic IK

In computer science, “deterministic” means that the result is always the same for a given input. In particular, for game applications like Godot, the term means that the result does not depend on the state of the previous frame. Incidentally, since AnimationMixer already has a deterministic option, that immediately made me decide to adopt this term.

You can put all your XR specific nodes in a global group and Desktop specific nodes in another then do a get_tree().call_group("xr_only_nodes", "queue_free") if the XRInterface is_initialized() or isn't. That way you can have both types of nodes placed down in editor your scenes/levels at the same time.

https://popcar.bearblog.dev/how-to-minify-godots-build-size/

https://popcar.bearblog.dev/using-godot-for-gui-app-development/#why-you-maybe-shouldnt

Open source games to look at

https://github.com/100-Devs-1-Game/Our-Open-Source-Games

maybe not vr first lol

https://github.com/GodotVR/godot_openxr_vendors/tree/master/samples

This node governs the in game movement of your character and will immediately react to gravity. So to prevent our player from infinitely falling down we'll quickly add a floor to our scene.

We start by adding a StaticBody3D node to our root node and we rename this to Floor. We add a MeshInstance3D node as a child node for our Floor. Then create a new PlaneMesh as its mesh. For now we set the size of the mesh to 100 x 100 meters. Next we add a CollisionShape3D node as a child node for our Floor. Then create a BoxShape as our shape. We set the size of this box shape to 100 x 1 x 100 meters. We also need to move our collision shape down by 0.5 meters so the top of our box is flush with the floor.

https://github.com/Radivarig/godot-material-baker

Powered by Forestry.md