firstpersonksp / kerbal-vr Goto Github PK
View Code? Open in Web Editor NEWThis project forked from 89mods/kerbal-vr
An add-on for Kerbal Space Program (KSP) to enable virtual reality.
License: Other
This project forked from 89mods/kerbal-vr
An add-on for Kerbal Space Program (KSP) to enable virtual reality.
License: Other
The props that are implemented as switches should respond to flicking them up or down with your finger
Might be trivial after #23 , but some props are actually covered switches instead of buttons. The extra challenge here will be to make sure that closing the cover doesn't flip the switch.
The mach and heating effects seem to be rendered at a point between the ship and the camera. Could be a scaling problem, or maybe this is just a trick they used to make sure it always appears in front of the ship.
This is fairly low priority since it's mainly only an issue outside of IVA.
When switching away from a kerbal, we should undo the scale transform on their shoulders.
mk1Pod
mk1LanderCan
mk1-3Pod
Cupola
mk2LanderCan
mk1Cockpit
mk1Inline
mk2Cockpit
mk2Inline
mk3Cockpit
KV1
KV2
KV3
MEM
Mk2Pod
ProbeControlRoom
Add Cargo Bag props back in
Add Hatch props
Most of the throttle levers are rotated incorrectly.
Some of the IVAs (mk1 cockpit maybe?) have a different kind of seat that doesn’t have the flightstick and throttle separated into their own meshes. Need to find a way to make these functional.
Edit the model at runtime?
Remove the seat completely and replace with something else?
DONE:
mk1 command pod
mk1 lander can
mk1-3 command pod
mk3 cockpit
mk2 lander can
cupola
mk1 cockpit
mk1 inline cockpit
mk2 cockpit
mk2 inline
mk2 command pod
TO CHECK:
Probe control room (probably needs flightstick added)
NEEDS WORK (throttle levers are rotated):
kv1
kv2
kv3
mem
There's a warp indicator but no way to change timewarp.
Hatch_Plane and Hatch_Plane_Curve90 have handles baked into the mesh. It would be awesome to be able to grab these to go EVA.
I was going through a staging process of making sure the mod can be installed from a fresh version of KSP and hit a crash likely caused by some kind of camera parameter being invalid:
33494 Screen position out of view frustum (screen pos 0.000000, 0.000000, 1000000000.000000) (Camera rect 0 0 1964 1980)
33495 (Filename: Line: 3488)
33496
33497 Screen position out of view frustum (screen pos 1964.000000, 0.000000, 1000000000.000000) (Camera rect 0 0 1964 1980)
33498 (Filename: Line: 3488)
33499
33500 Screen position out of view frustum (screen pos 0.000000, 0.000000, 1000000000.000000) (Camera rect 0 0 1964 1980)
33501 (Filename: Line: 3488)
33502
33503 Screen position out of view frustum (screen pos 1964.000000, 0.000000, 1000000000.000000) (Camera rect 0 0 1964 1980)
33504 (Filename: Line: 3488)
Some of the ASET pushbutton props work by placing a collider on the cover so that it intercepts mouse clicks. This obviously doesn't work in VR, because your finger can go through the cover and push the switch below. Need to combine the "switch flicking" behavior for the cover with the button, and make sure the button can't be pushed while the cover is closed.
The seat prop in the IVA already has joystick and throttle parts that the kerbal’s hands rest on. Figure out a path forward here:
Can we use those props directly?
Can we remove them and replace with some other prop that can move?
Do we have to remove the seat entirely?
Currently, you have to have the fingertip of the glove on a button collider and then push a button on the controller. The skinning of the hand makes this a bit difficult, because whether or not you are touching the trigger moves your fingertip pretty far.
The ISS app has a really compelling tablet interface where you can just use your fingertip to tap on a screen. It would be much better to do something like that.
Not really sure what the best method is here. Planes should default to pitch/roll and rockets should default to pitch/yaw - but it can't really be specified at the prop or internal cfg level because you could use the same parts in each kind of craft. It could also be initialized based on what the editor type of the craft was. And ultimately there should probably be some way to switch it mid-flight. Perhaps that's pressing a button while grabbing the stick, or maybe it's a separate button in the IVA entirely.
While testing vr knobs, I noticed that the fingertip will still press buttons while the knob is being turned. Need to suppress that.
If you push the throttle past the min or max, it often pops back. Very noticeable in the mk1pod
If you sit in low kerbin orbit over terrain and move your head around, some of the geometry seems like it's not being spatialized correctly.
The knob props like the thrust limiter should respond to some kind of grab gesture and rotating the controller.
The VR flightstick might never feel great (it's really hard to activate just a single axis unlike with a keyboard). It's probably worth adding support for using the thumbsticks for attitude control, at least as an option. It could be always available, or perhaps only when grabbing the VR flightstick, etc.
I'd imagine that the same considerations for swapping yaw/roll for the VR flight stick would also apply to the thumbsticks, and whatever axis mapped to twisting the flightstick would end up on the horizontal axis of the left thumbstick.
Probably shouldn't render the "self" kerbal when in VR mode. Or at least try to find a way to hide the arms, because it's disorienting seeing two sets of hands.
The flightstick is incredibly sensitive. It probably needs:
-deadzones along each axis
-damping
-non-linear mapping curve
SAS seems to overwrite the input that it's sending, need to figure out how the stock game allows that.
Note that the VRFlightstick does work when SAS is off.
maybe look at how KOS does cooked steering?
Some of the IVAs have a cockpit release lever. Would be awesome to grab and turn this to go eva.
The joystick on the Seat_Pilot prop has a couple red buttons on top of it. It would be awesome to hook these up to something (action groups maybe?).
It doesn't seem like there is a trigger on the joystick, but we could definitely add one.
The "auto-deploy gear" switch doesn't seem to have a collider hooked up properly so it can't be moved.
The messed-up camera will prevent a lot of mouse interactions which are going to be necessary to use until VR UI interactions come online.
After reverting to launch, the hands don't show up and the kerbal arms are still visible. Not sure what else is broken.
I made a craft which was a cupola on top of a lander can on top of a mk3 cockpit. I filled it with kerbals. When swapping the camera between the different kerbals, it would sometimes be turned at weird angles or the hands would not render (but they're still functional and can grab things).
-Need to reset the camera transform when swapping seats?
-Figure out why the hands aren't rendering
the fingertip collider is a little too big, a little too forward, or both.
There's some kind of scaling issue where the stock atmosphere doesn't render correctly as you ascend.
This sort of seems like it could be caused by not having enough filtering on the head position, but I'm a bit puzzled by this because the VR-View from SteamVR doesn't seem as bad. In the original user guide, it suggested:
Something that seemed to help a lot was turning on Legacy Reprojection Mode in the SteamVR per-application settings for Kerbal Space Program.
However the newer versions of SteamVR don't have this option. There seems to be some API calls that can force it on, but it's not clear if that's the best fix or if we should be doing something differently in the first place.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.