kami-blue / client

ARCHIVED - KAMI Blue: a continuation of 1.12.2 KAMI
https://kamiblue.org
GNU Lesser General Public License v3.0
360 stars 379 forks source link

Flight Attitude and Direction Indicator #1610

Open HoratioGamer opened 3 years ago

HoratioGamer commented 3 years ago

Is your feature request related to a problem? Please describe. The problem is, in some instances, one can be disoriented in minecraft, for instance when flying high at night, or in the void, or underwater at night, or where chunks are not rendering, or when one's head is stuck in the bedrock roof of the nether. The void of 2b2t's queue is equally disorienting.

The current display of the direction one is facing "+X" or "+X+Z" is not a graphical representation of orientation. One has to read it, move the mouse and form an impression of what direction one is pointing. Without visual queues from the view on the screen, it is very easy to have an ambiguous understanding of one's pointing in the horizontal arc to directions of +/-22.5 degrees, and in the vertical direction +/- 90 degrees (no idea whether one is looking up or down).

A compass display does not display pitch attitude. I see no way to display pitch attitude on KAMI/blue

Describe the solution you'd like

Aircraft, spacecraft and submarines have long had a simple visual display that unambiguously gives a visual impression of orientation and direction, even when seeing out the window is impossible. It is called a Flight Attitude and Direction indicator, or artificial horizon, flight director attitude indicator, or an 8-ball. It looks like this:

https://www.researchgate.net/profile/Randall_Bailey/publication/245433832/figure/fig3/AS:298302777118723@1448132332464/Attitude-Direction-Indicator.png

https://history.nasa.gov/afj/ap16fj/01popup_fdai.html

In minecraft, it need not have a roll degree of freedom -- the horizon will never appear tilted in the indicator -- One will only see the compass direction and elevation or declination degrees of freedom.

Describe alternatives you've considered

Why create something that is inferior to known solutions. Inferior solutions might be what currently exists, or separate indicators for compass direction and pitch angle.

There was a forge mod called the AMT+Artificial_Horizon that was only good for minecraft 1.10

There is a forge and fabric mod: https://www.curseforge.com/minecraft/mc-mods/flighthud but it only works on minecraft 1.13 and newer.... Also, I would prefer to choose between HUD and gauge, or would like an inoffensive gauge up in a corner when I want to look at it. A small display, up in a corner, that can be toggled on and off, is superior to a HUD that obstructs the main part of the screen.

I appreciate the graphical simplicity of this HUD. All lines are straight tick marks and are oriented either horizontal or vertical. This is graphically much easier than rendering a sphere or any large portion of one. As a small semi-transparent gauge up in a corner, it need not even obstruct the view through it like a solid-looking sphere gauge would. Further, if the lines are drawn like this HUD, then the drawing of horizontal pitch-indicator lines is entirely independent of the drawing of vertical direction indicator lines -- it makes the code much easier.

If instead of putting markings on the frame of the gauge, one attempts to do a rendering in the field of the gauge, then the drawing of heading and elevation representations would couple. This would happen if one attempts to place numerical markings at the intersection of the (vertical longitude) direction lines with the (horizontal equator) horizon line -- cardinal or numerical angle heading markings -- or intersections of pitch angle lines (lines of latitude) with cardinal meridians (like the prime meridian or international date line) to numerically indicate elevation angle.

Straight lines that are either vertical or horizontal is good for pitch attitudes close to level, but, in minecraft one can look straight up or straight down and the polar convergence of direction lines at pitch attitudes of +/- 90 degrees is a valuable visual representation that reinforces one is looking straight up or straight down. Imagine this display as being inside a clear spherical globe, with lines of longitude and latitude. Looking up or down is like looking at the north or south pole of a globe from the inside -- the convergence of lines of longitude reinforce, one is looking at a pole. Rendering some very small portion of a sphere-projection, where the lines appear straight and are drawn straight, and the 8-ball top and bottom ("gimble lock" orientations) would visually reinforce and be particularly informative that one is flying down at a steep angle into the ground or up at a steep angle.

The simpler, decoupled display with tick markings and numerals on the frame only, like the hud, would be acceptable as a start.

Additional context

Haven't I already hit the tl;dr ?

5HT2 commented 3 years ago

The new GUI already has Pitch / Yaw degree indicators, but this suggestion is much more deep in the sense of a proper compass representation

HoratioGamer commented 3 years ago

Do you mean the new GUI I should be looking for on the current KAMI/Blue something added recently I have not noticed, or one that will be coming in a future release of KAMI/Blue?

Please direct me to the setting if it exists in the current version, or please post a screenshot example of what the future one will look like.

Doogie13 commented 3 years ago

Just use Forgehax. It has a compass. It also is almost entirely useless apart from that. Don't use Forgehax.

5HT2 commented 3 years ago

one that will be coming in a future release of KAMI/Blue?

1510 / https://github.com/kami-blue/client/tree/refactor/GuiRewrite