Orbiter-Forum  

Go Back   Orbiter-Forum > Orbiter Addons > Addons
Register Blogs Orbinauts List Social Groups FAQ Projects Mark Forums Read

Addons A repository for Orbiter addons contributed by users. Developers & members may announce new releases here and discuss any Orbiter addon.

Reply
 
Thread Tools
  #1  
Old
cyph0r cyph0r is offline
Orbinaut
Default AttitudeIndicatorMFD
by cyph0r 08-07-2016, 02:39 PM

Hello,

After switching from KSP to Orbiter I somehow missed an attitude indicator (aka navball) to help orient myself in orbit.
Since I didn't find any MFD that provided what I was looking for, I decided to make my own attitude indicator MFD, inspired by the KSP navball.
At this point I would like to share the results that I have so far.
Since I am quite new to Orbiter the MFD has not been rigorously tested yet, therefore any feedback as well as bug reports are greatly appreciated.

As it has been suggested in this thread, my implementation is based on the attref.cpp class that is used by the ShuttleA in the upcoming Orbiter 2016.
The attitude indicator MFD uses OpenGL for rendering the 8-ball, which allows for a replaceable surface texture. A config file can be used to alter the navball appearance.
The MFD features prograde/retrograde/normal/target... markers as known from KSP, they furthermore replace the error needles from the ShuttleA's 8-ball.
When selected, the MFD also shows altitude, speed and orbital parameters, providing an alternative to the Surface MFD once in orbit.

Included features:
- 8-ball that can be rotated in ECL, EQU, LH/LN, OV/OM and several NAV frames of reference
- Prograde/retrograde, N+/N-, radial in/out and perpendicular in/out markers on the ball
- Target, velocity and CRS marker in certain NAV modes
- NAV mode supports VOR/ILS, VTOL, XPDR and IDS
- Optional display of altitude, speed and orbital parameters
- Adjustable navball texture and marker colors

Builds for Orbiter 2010 P1 and Orbiter 2016 are attached to this post. The code is available at Github.

Regards,
Paul




Edit: New release (20.09.16)
AttitudeIndicatorMFD (20160920) for Orbiter 2010P1

AttitudeIndicatorMFD (20160920) for Orbiter 2016

Last edited by cyph0r; 10-12-2016 at 06:35 PM. Reason: Added links to new MFD version
Reply With Quote
Views 5589 Comments 23
Total Comments 23

Comments

Old 08-07-2016, 04:12 PM   #2
ADSWNJ
Scientist
 
ADSWNJ's Avatar
Default

Nice work - very pretty.
ADSWNJ is offline   Reply With Quote
Old 08-07-2016, 04:54 PM   #3
JMW
Aspiring Addon Developer
 
JMW's Avatar
Default

Excellent !!
Just what I was looking for to make night flight easier.
JMW is online now   Reply With Quote
Old 08-07-2016, 05:23 PM   #4
Interceptor
Orbinaut
 
Interceptor's Avatar
Default

Thanks for making this it works, and looks great, but just one bug, or maybe not, but anyway when you change the instrument panel in an XR-2,or DG the AttitudeIndicatorMFD always reverts back to the default settings, and you have to go through, and set everything back up, like frame of reference,mod,ect,etc.
Interceptor is offline   Reply With Quote
Thanked by:
Old 08-07-2016, 05:58 PM   #5
ADSWNJ
Scientist
 
ADSWNJ's Avatar
Default

Quote:
Originally Posted by Interceptor View Post
 Thanks for making this it works, and looks great, but just one bug, or maybe not, but anyway when you change the instrument panel in an XR-2,or DG the AttitudeIndicatorMFD always reverts back to the default settings, and you have to go through, and set everything back up, like frame of reference,mod,ect,etc.
For OP - that's one of the tricky things on Orbiter's MFD's. They get destroyed and recreated on change of view (F8), or resizing of the ExtMFD. The standard approach to fix it is to introduce a persistent core and have the MFD search for it on instantiation, and only if not found, then create a new core. Making things more interesting or complex is catering for different vessels (i.e. local settings for the same MFD for 2 vessels in the same scenario), as well as different MFD positions for different vessels (e.g. a multi-page MFD where you want page 1 on the left MFD and page 2 on the right, and supporting restoration of those settings across vessel switching). All doable, but it take careful planning.
ADSWNJ is offline   Reply With Quote
Old 08-07-2016, 06:13 PM   #6
Interceptor
Orbinaut
 
Interceptor's Avatar
Default

Thanks for the explanation ADSWNJ,you learn something everyday.
Interceptor is offline   Reply With Quote
Old 08-07-2016, 06:26 PM   #7
cyph0r
Orbinaut
Default

Quote:
Originally Posted by Interceptor View Post
 Thanks for making this it works, and looks great, but just one bug, or maybe not, but anyway when you change the instrument panel in an XR-2,or DG the AttitudeIndicatorMFD always reverts back to the default settings, and you have to go through, and set everything back up, like frame of reference,mod,ect,etc.
Yes, that is indeed a bug. I thought about avoiding this behavior by making the whole MFD instance singleton, but this didn't work because of the different MFD sizes in the respective views. Persisting the current MFD settings over reinstantiation should however not be a big problem, I will add that.
For now you can use the configuration file to set some default settings (mode, frame, marker state, ...) that the MFD should use on instantiation.
cyph0r is offline   Reply With Quote
Thanked by:
Old 08-07-2016, 08:34 PM   #8
Interceptor
Orbinaut
 
Interceptor's Avatar
Default

That's great news,thanks once more for making this must have MFD.
Interceptor is offline   Reply With Quote
Old 08-07-2016, 10:05 PM   #9
Hlynkacg
Aspiring rocket scientist
 
Hlynkacg's Avatar


Default

Mods, get this guy needs an addon dev tag stat!
Hlynkacg is offline   Reply With Quote
Thanked by:
Old 08-07-2016, 10:56 PM   #10
boogabooga
Bug Crusher
 
boogabooga's Avatar
Default

I want to point out (in case you didn't know) that the "attitude indicator" functionality is handled in Orbiter by the Orbit Heads-Up Display.

But, what you have here looks really cool and perhaps a bit more intuitive. I think it will be a lot of help for KSP players who want to learn to use Orbiter.
boogabooga is offline   Reply With Quote
Old 08-08-2016, 05:34 AM   #11
Enjo
Mostly harmless
 
Enjo's Avatar


Default

Quote:
Originally Posted by cyph0r View Post
 Yes, that is indeed a bug. I thought about avoiding this behavior by making the whole MFD instance singleton, but this didn't work because of the different MFD sizes in the respective views. Persisting the current MFD settings over reinstantiation should however not be a big problem, I will add that.
For now you can use the configuration file to set some default settings (mode, frame, marker state, ...) that the MFD should use on instantiation.
You can try MultipleVesselsMFD library for this.

[EDIT]
Nice piece of art, btw.

Last edited by Enjo; 08-08-2016 at 07:48 AM.
Enjo is offline   Reply With Quote
Thanked by:
Old 08-08-2016, 07:52 AM   #12
cyph0r
Orbinaut
Default

Quote:
Originally Posted by boogabooga View Post
 I want to point out (in case you didn't know) that the "attitude indicator" functionality is handled in Orbiter by the Orbit Heads-Up Display.

But, what you have here looks really cool and perhaps a bit more intuitive. I think it will be a lot of help for KSP players who want to learn to use Orbiter.
You're right, it actually took me a while to get accustomed to the orbit HUD after having used a navball for orientation all the time. But I suppose that's just the power of habit.

Quote:
Originally Posted by Enjo View Post
 You can try MultipleVesselsMFD library for this.
Thanks for the link. I'll look through it.
cyph0r is offline   Reply With Quote
Old 08-08-2016, 12:32 PM   #13
asbjos
tuanibrO
 
asbjos's Avatar
Default

Why not simply use StoreStatus() and RecallStatus(), instead of being dependent on third party libraries?
asbjos is offline   Reply With Quote
Old 08-08-2016, 01:34 PM   #14
Enjo
Mostly harmless
 
Enjo's Avatar


Default

Quote:
Originally Posted by asbjos View Post
 Why not simply use StoreStatus() and RecallStatus(), instead of being dependent on third party libraries?
Because they do more than that.
Enjo is offline   Reply With Quote
Old 08-08-2016, 06:37 PM   #15
marcogavazzeni
Addon Developer
Default

Has anyone tried using RC3 + D3D9 ?

I do not see the ball
marcogavazzeni is offline   Reply With Quote
Reply

  Orbiter-Forum > Orbiter Addons > Addons


Thread Tools

Posting Rules
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
Forum Jump


All times are GMT. The time now is 12:59 PM.

Quick Links Need Help?


About Us | Rules & Guidelines | TOS Policy | Privacy Policy

Orbiter-Forum is hosted at Orbithangar.com
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright 2007 - 2017, Orbiter-Forum.com. All rights reserved.