BastiaanOlij / godot4_openxr_demo

Crappy test project to test Godot 4s OpenXR implementation with
MIT License
31 stars 8 forks source link

Display the models used by OpenXR ingame #1

Open fire opened 2 years ago

fire commented 2 years ago

Currently the openxr displays cubes. This is not like the controllers.

BastiaanOlij commented 2 years ago

OpenXR has an API for getting controller meshes which has only been implemented by Microsofts WMR OpenXR runtime, the one platform we don't support because Microsoft only supports Direct X based games.

At this point in time, if you want to have controllers you have to supply the meshes yourself, pain in the but especially on SteamVR where you can have a multitude of controllers and OpenVR does have an API to obtain the meshes. That said, the file the OpenVR API exposes are stored in C:\Program Files (x86)\Steam\steamapps\common\SteamVR\resources\rendermodels so if you know the SteamVR runtime is used, you can grab them there, while if you're using Oculus you can just use the touch models.

Most games nowadays do away with showing the controllers all together focusing on displaying either hands or objects like guns.

As for this demo, once I finish porting Godot XR tools I'll like be using the hand implementation in there as it works on all platforms.

fire commented 2 years ago

Sounds great. Do you need any help with the hands?

I remember there were skeleton problems etc.

BastiaanOlij commented 2 years ago

Only because things in the import changed, I think Malcolm already fixed them. I do want to change the way the hand animation works in the XR tools library.

Still I'm focusing on Godot 3 still for the tools library, we're doing some major upgrades thanks to Malcolm and seeing the Godot 4 branch is already diverging I want to wait until it stabilizes. For Godot 4 there are other things that are important such as implementing FRS and working on a UI to change the action map.

BastiaanOlij commented 2 years ago

Now using the hands that come with the godot-xr-tools library. We could I guess use the valve hands if we're on steamVR but I rather stick to cross platform solutions.