3d cockpit idea

General discussion for players of Oolite.

Moderators: winston, another_commander

Post Reply
ddeo
Above Average
Above Average
Posts: 18
Joined: Sat Aug 19, 2017 6:20 am

3d cockpit idea

Post by ddeo »

Hi,
I would like to discuss idea of 3d cockpits, I had this in my head for couple last weeks since I've started playing the game. I would like to create preferably single cockpit model that would fit most of the ships and make oxp from it.

Currently if I am correct game allows only to switch between 4 views + external view under V key. The only discussion I could find about cockpits is over there: https://bb.oolite.space/viewtopic.php?f=2&t=17145

I do mention above headtracking topic also because of two reasons.
  • First is the overall idea of additional free view or free camera. If I would start developing 3d cockpit I assume it would be nice if I would consider making it compatible with headtrack, is it still in development? Last update on github is 3 years old. Maybe it would be good idea to contact author?
  • Second reason is thing I've noticed during watching video from above topic presenting headtracking in action. The video shows that player's ship model was displayed during free view. I have question regarding this subject, is player ship model always rendered even when using 4 primary views? If yes, can I disable or replace the model only for this context?
My ideas are around replacing or spawning 3d cockpit model without colmesh while using front and sides views, aft should still be displayed as camera (except if we would use headtrack). Effect should be similar to what can be observed in HUD Dangerous oxp. I haven't started developing anything yet for Oolite, this is why I ask if this is possible so I could start prototyping with js code and probably working on 3d cockpit model at the same time.

The second thing I would like to achieve is move delicate 3d cockpit model (I assume camera itself is attached to xyz ship position in space, so better not touch it) when player increase or decrease speed or when hull (not shields) is getting hit. Additionally it would be great to create shake effects when using witchspace or Torus drive, or while getting in planets atmosphere, etc. Everything preferably similar to what we can see currently in games like Elite: Dangerous or No Man Sky.

Please, let me know if this is possible as oxp. Any additional help or just direction of route I should go would be also much appreciated as I don't have yet experience with oxp development (although I can code and I am preparing to start reading about Oolite api/code).
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6681
Joined: Wed Feb 28, 2007 7:54 am

Re: 3d cockpit idea

Post by another_commander »

I like the idea very much, but I am not sure how feasible it will be to achieve in the game.

The headtrack branch was mostly a proof of concept thing. It was successfully demonstrated that headtrack would be possible in the game, but to do that you would need external hardware and set-up for said hardware too (this is why it did not make it into the master branch). Of course, the head moving routines in the headtrack branch can be used to simulate head movements, but you will have to provide a control method for the virtual head. This would probably mean additional keys and joystick/mouse controls, since flight and head movement should be ideally separated and independent of eachother. Then you would probably have to revise the internal views code a bit, since external views would be subsituted by headtracking.

Also, I don't think that you can just change ship models on the fly. Note that I have not looked at the source code for a while now, but I believe that changing model is just a part of the problem. You would also need to change the assorted materials and shaders that a model might be carrying with it, so it's not exactly trivial. I am not sure how feasible it would be to incorporate a cockpit model within a ship model; someone with more modeling experience than me might be able to help here.

In any case, I think that this is very likely to require core code intervention and is probably not so easy to do just by using JavaScript.
ddeo
Above Average
Above Average
Posts: 18
Joined: Sat Aug 19, 2017 6:20 am

Re: 3d cockpit idea

Post by ddeo »

I understand, thanks for clearing these few things.

I think making cockpit within ship model will be even more problematic as to do this upgrading each ship would be necessary. Additionally this would decrease performance, does the game use LOD? I want to do instead a single cockpit which would work for each ship and would be optimized as much as possible (then maybe make alternative cockpits for different ships). This would be rather simpler model more similar to No Man Sky design than Elite: D. Also model would lack all the monitors as the idea is that every information still should be displayed only on HUD, making it this way would also give player better overall view than full cockpit like we see in most of games.

If replacing a model is not an option then what about spawning 3d cockpit model (besides player ship model) while using only front camera? Then preferrably (but optionally) also move this spawned model slightly in xyz directions depending on the speed of player's ship to achieve speed/move motion, similar to this: https://www.youtube.com/watch?v=dEKuuehnDRA.

Basicly if we also forget about headtrack support I could make very simple cockpit model only for front camera, model would be just front part of the cockpit. This was first alternative I was thinking about before I found headtrack topic, but I think now if even branch exists then it is better to think about the future.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6681
Joined: Wed Feb 28, 2007 7:54 am

Re: 3d cockpit idea

Post by another_commander »

ddeo wrote: Mon Aug 28, 2017 8:38 pm
If replacing a model is not an option then what about spawning 3d cockpit model (besides player ship model) while using only front camera?
Maybe an effect entity could be helpful here?
User avatar
gsagostinho
---- E L I T E ----
---- E L I T E ----
Posts: 573
Joined: Sun Jul 19, 2015 1:09 pm

Re: 3d cockpit idea

Post by gsagostinho »

I would love to see a 3D cockpit as well, but I wonder how that would work with the current four laser mount positions that we have. Also, if the player would not only be able to spin the view around the cockpit (3 degrees of freedom) but would also move sideways (full 6 degrees of freedom) how would he/she centralize the crosshairs for aiming? In both No Man's Sky and Elite Dangerous, the targeting is semi-automatic but in Oolite the aiming could get very tricky.
ddeo
Above Average
Above Average
Posts: 18
Joined: Sat Aug 19, 2017 6:20 am

Re: 3d cockpit idea

Post by ddeo »

gsagostinho wrote: Mon Aug 28, 2017 10:32 pm
I would love to see a 3D cockpit as well, but I wonder how that would work with the current four laser mount positions that we have.
I don't see a problem with it... yet. :)
gsagostinho wrote: Mon Aug 28, 2017 10:32 pm
Also, if the player would not only be able to spin the view around the cockpit (3 degrees of freedom) but would also move sideways (full 6 degrees of freedom) how would he/she centralize the crosshairs for aiming? In both No Man's Sky and Elite Dangerous, the targeting is semi-automatic but in Oolite the aiming could get very tricky.
This is why my first idea was only for giving 3d cockpit for static front view, no freeview or headtrack support. The HUD would be attached to the player camera as it is now, only cockpit would delicate move. This is the way it is made in NMS, at least in most of cases as after doing longer research I've found this topic with mod link: https://www.reddit.com/r/NoMansSkyTheGa ... ng_in_nms/. I wonder how it works (firing particularly), unfortunately I do not own NMS to check it out, video: https://www.youtube.com/watch?v=fhOz4N4kk_s. But headtrack and freeview is not kind of subject I am willing to do at this moment, although I can prepare 3d cockpit to be compatible with this idea if it ever gets merged into the game. I would rather concentrate now on static 3d cockpit for front camera. The sides and back cameras could still work as monitors, as right now.
another_commander wrote:Thu Jan 01, 1970 5:16 am
Maybe an effect entity could be helpful here?
Is it the way Trails oxp is made? I hope this could work as the more I talk about the idea the more I want to have it in the game. :) Any other plans how to make it, anybody?
Zireael
---- E L I T E ----
---- E L I T E ----
Posts: 1396
Joined: Tue Nov 09, 2010 1:44 pm

Re: 3d cockpit idea

Post by Zireael »

The author of Trails here, after a very lengthy hiatus: yes, it was made with effect entities.
ddeo
Above Average
Above Average
Posts: 18
Joined: Sat Aug 19, 2017 6:20 am

Re: 3d cockpit idea

Post by ddeo »

Thanks, I am still considering to contribute to the project either this or different way.

Had a long break recently from playing Oolite. Besides I still have unfinished ship model for Pioneer space sim. Maybe this Christmas I should finally spend some time learning Oolite oxp api and make prototype of this oxp using effect entities and very simple cockpit.

Ideally I would like to make it work as in No Mans Sky, together with moving cockpit slightly backwards and forwards depending on the ship's speed.
Post Reply