FusTek_StationParts icon indicating copy to clipboard operation
FusTek_StationParts copied to clipboard

Emissive window lights on Karmony crew modules + shutters synced with IVA viewport shutters

Open sumghai opened this issue 8 years ago • 1 comments

In older versions of FusTek Station Parts, the Karmony crew module viewports had emissive animations that allowed them to glow at night. This feature was removed during development towards R0.04a / V1.0 in favour of JSITransparentPod-powered see-through windows, with IVA viewport prop shutters that block out the internal lights from inside the cabins.

As a consequence of 5f0ff19, I'll not only have to re-implement the emissive animations on the module externals, but also ensure that they work in conjunction with the internal viewport shutters.

Requirements

  • The original lighted viewports were triggered via the Lights action group
    • The new implementation should instead be dependent on the current state of the internal cabin lights, while the Light action group should be reserved for actual lights on the vessel exterior only
    • Some modules have different lighting "zones":
      • Hab: five total; one for the galley, and four for each of the bunks
      • Sci and Util: both have only one zone for the entire cabin
  • The states of the external shutters should correspond to their internal prop counterparts
    • This includes the master-slave system already planned for the internal viewport shutters

Tasks

  • [ ] Determine if multiple animations on a part can be controlled independently, regardless of the states of other animations
  • [ ] Modify external viewport model by adding curved inner surface
  • [ ] Create new model consisting of viewport inner glass panes + shutters
    • [ ] Diffuse viewport texture is frosted blue
    • [ ] Emissive viewport texture is frosted light yellow
    • [ ] Each glass pane and each shutter should be animated individually
  • [ ] Weld viewport inner glass pane + shutter model to Karmony crew modules via MODEL{} nodes
    • [ ] Hab
    • [ ] Sci
    • [ ] Util
  • [ ] Duplicate six FusTek_CurvedWallPadded_Viewport__n_.CFG, where n is a single-digit unsigned cardinal number from 1 to 6
    • [ ] Associate each viewport prop with the corresponding external shutter animation
  • [ ] Replace the existing shared viewport props with the new numbered ones in the Karmony crew modules IVAs
    • [ ] Hab
    • [ ] Sci
    • [ ] Util
  • [ ] Associate the pushbuttons for each lighting "zone" with (sets of) viewport inner glass pane animation(s)
  • [ ] Add master-slave control

sumghai avatar Jul 20 '15 09:07 sumghai

It was mentioned in Mihara/RasterPropMonitor#309 that there will be a user override for transparent pod rendering in the future. To ensure compatibility with this feature, the viewport model will be revised to have the following submeshes:

  • frame, the round outside frame of the viewport. KSP Specular shader and always opaque.
  • two separate panes of "glass"
    • pane_outer, the pane exposed to the outside of the craft. KSP Alpha shader and always transparent
    • pane_inner, the pane facing the inside of the craft. KSP Emissive shader and opaque _by default, but can be made transparent via _JSITransparentPod/transparentShaderName
  • shutter, the animated shutter sandwiched between the two window panes. KSP Specular shader and always opaque.

sumghai avatar Sep 24 '15 20:09 sumghai