Profile image

[yapping] techniques to control fuselage surface normals, and how to build sausage

113k hpgbproductions  2 days ago

Introduction

When building a plane, it is insufficient to consider only the 3D geometry. Often, significant attention must be placed on the surface normal vectors (normals). The normals determine the direction of the fuselage surfaces as seen by the shaders used in the GPU. As such, they alter how the 3D geometry reflects light, and therefore how it is perceived. This is how the normals contribute a significant portion of a part's visuals.

Despite this importance, there is little information on controlling surface normals outside of the beginner's tip of enabling smoothing on an entire row of fuselage blocks. This post will explore some other ways to control the surface normals of fuselage blocks, and hence provide more depth to fuselage building techniques.

A demo build showing some ways to control the surface normals may be accessed here.

Smooth-unsmooth mixing

Setting all the fuselage blocks in a row to be smooth is a tip that only works when building the fuselage of an aircraft. In most other cases, its appearance is simply suboptimal (TM). Knowing when to turn off smoothing comes from understanding how smoothing works in general.

The surface normals at the longitudinal middle of the fuselage is (or can be assumed to be) perpendicular to the surface of the fuselage at that point. When no smoothing is applied to the fuselage, all the surface normals will be generated in the same way.

When one side of a fuselage block has smoothing turned on, it will check if there is an attached block, and if its smoothing is enabled as well. And when both fuselage blocks agree to smooth out their connection, the surface normals at the connection seam will take the average of their middle normals, and the normals will be interpolated to the middles of each fuselage block.

However, if only one fuselage block decides to smooth out the connection with another block, the normals at the seam will take the normals of the block that does not have smoothing enabled. Note that the normals are still interpolated, but as the block without smoothing has the same surface normal direction throughout its length, it will appear "flat".

The following table displays how smoothing is applied to the parts in the second screenshot of the demo build. N/A means that the setting has no effect in that build.

Smoothing       A   B   C   D
Tall part       N/A N/A N/A N/A
                No  Yes Yes No
Joining part    No  Yes No  Yes
                No  Yes No  Yes
Short part      No  Yes Yes No
                N/A N/A N/A N/A

This technique may be applied to create straight sections with rounded corners. If the smoothed section is small, it can simulate rounds or fillets in engineering.

Smooth ends

The first method is to create smooth ends. When a fuselage block satisfies the following conditions:

  • Does not necessarily need to have "smooth back" enabled,
  • Has a front that ends in a point (i.e., Fuselage.frontScale="0,0"),
  • Is longitudinally relatively flat (specifically, when the length is up to 0.286 times of the width or height... intel 286 reference?, or smaller if the rise or run settings are used), and
  • Has "curved" or "smooth" corners and the rear width and height are equal, OR has "circular" corners.

The requirements above cause the angle between the tip normals and mid-length normals to be small enough, allowing the dynamic mesh generator to blend the radial, lateral, and/or vertical faces together around the point at the front of the fuselage block. This has the effect of ending a row of fuselage blocks with a smooth nose.

At this point, it may be easy to disregard any use of smooth ends, as fuselage nose cones also allow the production of smooth noses. However, nose cones are inflexible, always following a fixed curved profile regardless of the other fuselage blocks in its row. In addition, if it faces in the opposite direction from the other blocks ~~like two sides of a coin~~, fuselage smoothing will fail to apply at that connection. This means that it is the fuselage cone that has become obsolete, and smooth ends should be used in its place.

Smooth ends are a fairly common technique when observing airplanes built by high-ranked players.

Sausage ends

Unfortunately, there is one limitation of using smooth ends. Namely, it does not work on the back end of a fuselage block, regardless of its settings. Instead, the triangles of the fuselage block will be highlighted in a process that I will call sausagification (I am the first person to give it a name, so it can be anything I want). It poses a minor inconvenience when building, but can be avoided by planning.

Smooth ends on hollow fuselage blocks

Smooth ends can also be applied to hollow blocks. This is useful for the curved trim on a jet airplane's air intakes, as well as the corners of pipes and handrails. It is good to know that hollow structures will never undergo sausagification.

The factors needed to produce smooth ends are adapted from the process for body blocks:

  • The front thickness must be 0,
  • Is longitudinally relatively flat, and
  • Does not have "hard" corners.

This technique is a little less common. The following is a study of the engine fairings on the 10 highest-rated airliners within one year of writing:

Model   Smooth hollow blocks?
A380    No
A380    Engine part
B737    No
B747    Yes
L-1049  Engine part
A350    Yes
B747    Engine part
B737    Yes
B767    Engine part
B707    Yes

P.S.: To all builders, especially of large airplanes, please consider the effect of Z-fighting when looking at the plane from far away.

Conclusion

This article discussed various ways to control the surface normals using the fuselage blocks' smoothing and size options, as well as their effects. I hope that builders will understand why and how certain building techniques are used, but not necessarily how they work (lmao)

Also, I hope that the devs will keep these features in the game. Except sausagification, it kinda sucks (but it is easy to work around though)

  • Log in to leave a comment
  • Profile image
    30.9k Nerfaddict

    This is too much brain for my integrated head potato

    2 days ago
  • Profile image
    13.4k Grob0s0VBRa

    Can fuselage turn canvas into a beautiful masterpiece?

    2 days ago
  • Profile image

    SAUSAGE

    I had sausages this morning...man, now i want a sausage!

    2 days ago
  • Profile image

    Normals on smoothed fuselages should definitely be fixed. But it seems they got better in the last update. I see less artifacts in wing fuselages than I used too.

    2 days ago
  • Profile image

    @ShinyGemsBro this is a guide on how to make the fuselage fuselage even more

    +1 2 days ago
  • Profile image

    @Graingy i added info to the post but now the first paragraph is massive

    +1 2 days ago
  • Profile image
    52.7k ShinyGemsBro

    mmm yes
    the fuselage is fuselaging

    2 days ago
  • Profile image
    41.4k Graingy

    I see?
    I’ll have to look further into this later.

    2 days ago
  • Profile image

    @Graingy it is a normal (perpendicular) to a surface (you know what it is)
    The computer uses it to do extremely big brain math stuff that i don't know how to write, and makes reflections from it

    2 days ago
  • Profile image
    41.4k Graingy

    I’m sure this would be very interesting if you actually explained what a surface normal is.
    Needs a glossary.

    +2 2 days ago