SSTU - Shadow Space Technologies Unlimited

SSTU - Shadow Space Technologies Unlimited

98.5k Downloads

Procedural MFT

FFCJoseEduardo opened this issue ยท 0 comments

commented

as requested, just so it doesn't get forgotten

Features:

  • Allow for procedurally constructed main tank out of multiple segments
  • Allow toggling between smooth and sharp shading between segments

Requirements:

  • GUI for manipulating segments; add, remove, resize
    • Minimum of 2 arcs; top + bottom
    • Can add, remove, re-order, and re-size arcs
    • Top and bottom adapter/mount size set by top/bottom arc diameters
      • OR top and bottom ring diameters set statically to the 'main tank diameter' from the main gui control
      • with all other arcs being set to a size relative to the top/bottom
        • this also simplifies the GUI as it can all be normalized to a 1-unit size, and scaled based on current 'tank diameter'. This keeps the end caps at the same scale/size, while allowing for nearly any tank geometry (as long as the top and bottom are the same diameter).
    • Ability to set smooth shading for vertical segments (to allow for procedural domes/nosecones)
      • Will require adjusting the procedural mesh-generation to calculate normals for each edge loop based on the average normal of its face and the face of the vertically adjacent quad.
  • UV mapping; single vertical pass for entire tank side

Implementation

  • Would like to re-use most of the existing MFT code, with overrides for sections dealing with the central model.
    • Will require conversion/adaptation of SingleModelData to allow for a procedural model
      • This may be the most invasive part of the change, but should be doable
    • Will need some changes to the GUI interaction for the base module, as well as some of the model-setup code.
    • Need a method to save/persist the procedural model data, including ring height, radius, uv, and smoothing data.

TODO:

  • Add smoothed-normals option to procedural mesh generation
  • First-pass generic implementation of a procedural model-building UI
    • going to need a -ton- of UI interaction in order to set this up properly
    • how to render/represent the layout of the tank in a user-understandable format, while allowing for selection of the various rings and options?