Modding Help Figuring Out Color Shading

Discussion in 'Starbound Modding' started by Uacher, Jul 19, 2017.

  1. Uacher

    Uacher Scruffy Nerf-Herder

    I've been tweaking several character appearance mods to improve the look of the characters in-game. One of this mods is the Colorbound series which adds a plethora of body, hair and undy colors for all vanilla races.

    The problem is this: One of the mods that I downloaded adds and replaces the hairstyles of all races with more detailed versions, That detail being an additional shade of the color used as a base. This color is a shade lighter than the lightest shade of the original hairstyles.

    With this in mind, Colorbound adds lots of hair colors but these color options only change the original three shades of the base color from the vanilla hairstyles. The additional lighter shade is simply ignored.

    What I want to know is how are the shades of these colors determined, is there some kind of system? Is it guessed? Or is it possible to determine them using programs like Paint.net?

    That's pretty much it, any help will be greatly appreciated.
     
  2. Cyel

    Cyel Scruffy Nerf-Herder

    If you've already unpacked the assets, you can find where colorswaps are defined for character creation in /species/*.species files. For example, novakids:
    Code:
      "bodyColor" : [
      // Yellow
      { "fff8b5" : "fff8b5", "fde03f" : "fde03f", "f6b919" : "f6b919", "806319" : "352b12" },
      // Orange
      { "fff8b5" : "ffedc4", "fde03f" : "feb05c", "f6b919" : "fa8131", "806319" : "40110a" },
      // Red
      { "fff8b5" : "ffe2c9", "fde03f" : "fe9875", "f6b919" : "ef5443", "806319" : "4f160d" },
      // Pinky
      { "fff8b5" : "fee5ff", "fde03f" : "f6bbf9", "f6b919" : "f57afc", "806319" : "4c2153" },
      // Purple
      { "fff8b5" : "fedbff", "fde03f" : "da89f7", "f6b919" : "ae38f1", "806319" : "340e52" },
      // Blue
      { "fff8b5" : "c7feff", "fde03f" : "56ebf8", "f6b919" : "12c2e8", "806319" : "0c2b4b" },
      // Sea Green
      { "fff8b5" : "c3fffc", "fde03f" : "4df4df", "f6b919" : "0cd6b8", "806319" : "0c482d" },
      // Green
      { "fff8b5" : "c7ffdc", "fde03f" : "63f574", "f6b919" : "17dc0d", "806319" : "0d500f" },
      // Yellow Green
      { "fff8b5" : "fffdae", "fde03f" : "c9f236", "f6b919" : "8ae100", "806319" : "2d510d" },
      // "White/PaleBlue
      { "fff8b5" : "deffff", "fde03f" : "a2dbdb", "f6b919" : "6ea2a9", "806319" : "222d33" }
      ],
    

    this structure is the same for other recolors (eg. armor with dyes): each {object} of the [array] is composed of multiple key colors to be replaced, with a key value that'll replace it; in this example:
    Code:
      { "fff8b5" : "ffedc4", [...] },
    ffedc4 will replace fff8b5. Each time you're in the character creator and press the arrow to change colors, you move up and down in that array. (In a similar manner, each dye has an index value; for example, the red dye is 4th. A script will look for the item's colorswap array, go to the 4th object in there, and apply the directives to the dyed thingy)

    Most software with a color picker will display both RGB and hex value, but if you've only got one, you can easily google a converter to get the other

    If you want a quick explanation on Hex & RGB:

    Hex color codes is, as the name implies, the hexadecimal way to encode colors; it's a shorter way to represent Red, Green and Blue values than the typical [R, G, B] method; here, 'a' is 10, 'f' is 16, and characters are multiplied in pairs; so '0000ff' translates to [0, 0, 255] in RGB, which is full blue.

    (Sometimes, you'll encounter color codes with one more value, which is the alpha channel, or transparency; [0, 0, 255, 255] or 0000ffff would be a full blue, fully tansparent.
     
  3. Uacher

    Uacher Scruffy Nerf-Herder

    All this I already figured out after experimenting. But what I would like to know is how is it that they chose or got the different levels of shading or clarity of the same color. I want to add that fourth color shade that the modded hairs added so that I can tweak the Colorbound .patch files and add that color to the rest. I need to know how to the different shades of the same color were chosen so I can use it and add it to Colorbound.
     
  4. IHart

    IHart Scruffy Nerf-Herder

    There's no accounting for taste.
    Maybe you could study existing pallets from the game?
     

Share This Page