Godot
-
one thing to look especially into is the proprietary support like meta tools
-
When interacting with tracked controllers or tracked hands, you can toggle on the interface/touchscreen/enable_long_press_as_right_click editor setting to enable right-click by long press.
-
When interacting with tracked controllers or tracked hands, you can increase the size of the scrollbar using the interface/touchscreen/increase_scrollbar_touch_area editor setting.
lua extension
why lua?
- I like it and have always wanted to use it that's why
project list:
https://20_games_challenge.gitlab.io/
https://freesound.org/
- keyboard projector
- it could be in xr too
- is there an open source zmk keyboard interpreter?
- pong
- docs tutorial
- 20:20:20
should compile a list of references I keep saving
- tutorial from the godot docs used for cs50gd
x: webxr
Notes And links
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
LookAtModifier3Dwas the minimal implementation to verify that theSkeletonModifier3D
- 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
AnimationMixeralready 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 XRInterfaceis_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
- The last important thing you need to know is that you'll want to turn on
Low Processor Modein the project settings.
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
Adding a floor
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.