Search Unity

  1. Unity 2019.2 is now released.
    Dismiss Notice

Assets Palette Modifier - Change the colors of Low Poly models directly inside Unity

Discussion in 'Works In Progress' started by Nicrom, Oct 4, 2019.

  1. Nicrom

    Nicrom

    Joined:
    Nov 17, 2013
    Posts:
    304
    Palette Modifier

    Discord | Twitter

    Hi everyone.

    If you work with low poly models (for example, those created by Synty Studios) you probably noticed that most of the models use a single material and a texture atlas with a series of color palettes arranged in a grid like pattern. If you want to change the colors of a model, first you have to import the model in a 3D application (3DS Max, Maya or Blender) and find which texture colors are used by that model, then you have to import the texture atlas in an image editing software like Photoshop or GIMP. The next step can take a considerable amount of time as you will most likely have to change the colors and export the texture multiple times before you get the result you want.

    To reduce the time needed to change the colors of a texture atlas, I created an editor extension called Palette Modifier, that allows you to do that directly inside Unity.

    Main features:
    • Per object colors
    • Break color sharing.
    • Texture pattern tint.
    • Color gradient.
    • Save color changes as a new texture atlas.

    Other features:

    • Color groups.
    • Color highlight.
    • Reorderable list of colors.
    • Foldable list of colors.
    • Non destructive workflow.
    • Reset single color to its original value
    • Reset palette colors to their original values.

    Per object colors
    Palette Modifier finds and displays in the inspector only the colors that are used by the selected game object.

    Break color sharing.
    PM creates a copy of an objects mesh and moves the UVs to a section of the texture that is unused by other objects. This feature is useful when you want your object to have unique colors that are not shared with other objects.

    Texture pattern tint.
    Palette Modifier allows you to apply a color tint to segments of the texture atlas that have texture patterns on them.

    Color gradient.
    You can apply a color gradient to all the object colors or to just a few.

    Color groups.
    If your model has many colors you can arrange them in groups and give the color groups distinctive names.

    Color highlight
    The color selected in the inspector can be highlighted. This makes it easy for you to know where this particular color is used on the object.

    Reorderable list of colors.
    The object colors are displayed in the inspector as a reorderable list.

    Foldable list of colors.
    The colors list can be collapsed to make the list more compact in the inspector.

    Non destructive workflow.
    The changes you make to the texture atlas are not automatically saved to HDD. This means that you can experiment with different colors without being worried about destroying your original texture atlas.

    Save color changes as a new texture atlas.
    If you changed some colors, but don’t want to lose your original texture, you can save the color changes as a new texture atlas.

    Below are some GIFs that showcase Palette Modifier features.

    Per object colors


    Break color sharing


    Texture tint


    Color gradient


    This editor extension will be available on the Unity Asset Store.

    Please let me know what you think of this editor extension. Thank you.

    Best regards,
    Nicrom.
     
    Last edited: Nov 10, 2019
    Magnitude9 and JoJa15 like this.
  2. Kekoss

    Kekoss

    Joined:
    Mar 12, 2019
    Posts:
    1
    This looks so useful and timesaving, can't wait to try it out.
     
    Nicrom likes this.
  3. Nicrom

    Nicrom

    Joined:
    Nov 17, 2013
    Posts:
    304
    The coding is all done, now I just have to make a tutorial, promo materials, and the documentation, than I can submit it to the Asset Store for review.
     
    Last edited: Oct 5, 2019
  4. Nicrom

    Nicrom

    Joined:
    Nov 17, 2013
    Posts:
    304
    Progress Update.

    Hi.

    In the past week I made some changes to Palette Modifier code as well as added new features.

    In the video bellow you can see how the Texture Grid asset is created. PM uses the Texture Grid asset to find the texture colors that a model uses.



    Previously you could only change the flat colors of a model, but now you can also apply a color tint to parts of the texture atlas that have texture patterns. Color tint works the same way as the material color, but instead of it being applied to the entire texture, it is applied only on the parts of the texture used by the current object.

    Another thing that changed it how you break color sharing between models. Previously if you had several models that shared the same texture colors and wanted to have a model with unique colors, you had to open a Palette Modifier window. In that window you had to provide a reference to the object with the PM script, a reference to the Texture Grid and the color of the unused space on the texture. Now you only need to press a single button.

    The video bellow showcases the color tint and how you break the color sharing between models feature .

     
    Last edited: Oct 23, 2019
  5. Magnitude9

    Magnitude9

    Joined:
    Jul 11, 2017
    Posts:
    7
    Hi just checking in on this. When will this be available on the asset store?
     
  6. Nicrom

    Nicrom

    Joined:
    Nov 17, 2013
    Posts:
    304
    Hi. Yes, it will. I'm currently doing a beta testing of PM with a small group of people, to make sure there are no major bugs.
     
    Magnitude9 likes this.
  7. Nicrom

    Nicrom

    Joined:
    Nov 17, 2013
    Posts:
    304
    Progress Update 2
    Hi. It's been a while since the last update. I'v added a couple new features as well as improved the user experience.
    • When you add the Palette Modifier script to a GameObject, you no longer need to assign a Texture Grid asset. You still have to create it, but the task of assigning it is now done automatically by PM.
    • If you select a texture atlas, right click it and create a Texture Grid asset, the selected texture atlas will be assigned to the Texture Grid asset. The Texture Grid asset will have the same name as the texture atlas plus the TG_ prefix.
    • The PM settings in the objects inspector are now displayed in tabs.
    • When you create a Texture Grid asset, you don't want to have overlapping Flat Color Grids or Texture Rects, but there was no way to know if you had any overlapping grids on the canvas. Now if the Texture Grid Editor detects that there are overlapping grids, they will be colored in red.
    • I added the ability to copy and paste a Flat Color Grid or Texture Rect.
    • I added the ability to reset a color field to its original value.
    • I added the ability to reset the colors of a palette to their original values.
     
  8. shininguri

    shininguri

    Joined:
    Nov 25, 2015
    Posts:
    10
    If this works as intended you've created something great man. Any timeline for when it will come to the store?
     
    Nicrom likes this.
  9. Nicrom

    Nicrom

    Joined:
    Nov 17, 2013
    Posts:
    304
    Thank you :). I plan to submit PM for review by the end of this week.
     
    Last edited: Nov 11, 2019
  10. shininguri

    shininguri

    Joined:
    Nov 25, 2015
    Posts:
    10
    Great to hear, thanks for the reply.
     
    Nicrom likes this.
  11. Nicrom

    Nicrom

    Joined:
    Nov 17, 2013
    Posts:
    304
    Progress Update 3

    Hi. I made a video tutorial for Palette Modifier. This should give everyone a better idea on how Palette Modifier works.

     
    shininguri likes this.
  12. shininguri

    shininguri

    Joined:
    Nov 25, 2015
    Posts:
    10
    Nice, thorough explanation video. Looking forward to the asset
     
    Nicrom likes this.
  13. Nicrom

    Nicrom

    Joined:
    Nov 17, 2013
    Posts:
    304
    Progress Update 4
    Hi. Palette Modifier is now Pending for Review on the Unity Asset Store.

    The normal price will be 19.99$, but for the first week it will be discounted by 25%. First week price 14.99$.

    Palette Modifier Trailer
     
    Last edited: Nov 20, 2019 at 3:33 PM
    shininguri likes this.
  14. shininguri

    shininguri

    Joined:
    Nov 25, 2015
    Posts:
    10
    Let us know when review is done you will have a day one buy from me.
     
    Nicrom likes this.
  15. Nicrom

    Nicrom

    Joined:
    Nov 17, 2013
    Posts:
    304
    I'll make a post on this forum thread when it is available on the Asset Store.
     
    shininguri likes this.