Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice
  4. Dismiss Notice

Graphics Pixel Harmony - Ultimate Image Editing Solution for Unity

Discussion in 'Tools In Progress' started by Rukas90, Feb 9, 2022.

  1. Rukas90

    Rukas90

    Joined:
    Sep 20, 2015
    Posts:
    169
    Pixel Harmony
    Versatile / Ultimate Image Editing Solution for Unity





    Buy on Asset Store

    Pixel Harmony is an image editing plugin for the Unity engine. It offers an array of image manipulation tools, extending your creative scope without leaving the Unity environment.

    Greatly minimize the back-and-forth with external software. With Pixel Harmony, enjoy the convenience of making timely, efficient edits to your images within the Unity workspace.

    Furthermore, significant attention was put into designing a user interface that is both straightforward and intuitive, ensuring a welcoming experience for new users. Pixel Harmony is your invitation to explore image editing with ease and efficiency.

    UserInterface.png

    PIXEL ART 1.png

    ADJUSTMENTS.png

    Brush Creator Tool.png



    Performance:
    Performance was one of the major factors throughout the development process. The majority of the features are processed on the GPU resulting in fast execution times.


    Undo / Redo:
    This plugin has a fully integrated undo/redo system. Meaning that you are able to undo any change while working with this tool.

    Layering System:
    Pixel Harmony comes with a fully integrated layers system. With this system you are able to create, duplicate, remove layers from the canvas as well as reorder them as you like.

    upload_2022-2-9_0-8-52.png

    Blend Modes:
    There are various blend modes that you can choose from for each layer.

    • Normal
    • Behind
    • Dissolve
    • Clear
    • Darken
    • Multiply
    • Color Burn
    • Linear Burn
    • Lighten
    • Screen
    • Color Dodge
    • Linear Dodge
    • Overlay
    • Soft Light
    • Hard Light
    • Vivid Light
    • Linear Light
    • Pin Light
    • Hard Mix
    • Difference
    • Exclusion
    • Subtract
    • Divide
    • Hue
    • Saturation
    • Color
    • Luminosity
    • Lighter Color
    • Darker Color
    • Negation
    • Phoenix
    • Reflect

    Masks:
    Every layer can have a custom mask applied to it. This mask can either be a bitmap or hand drawn.


    Adjustments:
    Pixel Harmony comes with various adjustments.

    • Brightness and Contract
    • Channel Mixer
    • Lift, Gain and Gamma
    • Color Balance (Shadows, Midtones and Highlights)
    • Desaturate
    • Exposure
    • Flip (Horizontal / Vertical)
    • Hue, Saturation and Value
    • Invert
    • Mirror (Horizontal / Vertical)
    • Posterization
    • Replace Color
    • Vibrance
    • And many more...

    Filters:
    Alongside various adjustments, Pixel Harmony also comes with multiple filters.

    • Gaussian Noise Removal
    • Noise Distortion
    • Emboss
    • Film Grain
    • Solarize
    • Gaussian Blur
    • Solid Color
    • Gradient
    • Noises (Perlin, Voronoi, Value, Simplex)
    • Offset
    • Pixelate
    • Radial Shear
    • Sharpen
    • And many more...



    Tools:
    Pixel Harmony possesses many tools that can be used with a click of a button:


    Move:
    Ability to move the layer around the canvas

    Free Transform: Ability to alter the layer via wireframe edit


    Rotate: Ability to rotate the layer in a 0-360 degrees

    Crop: Ability to crop the canvas to a specified area

    Flood Fill: Ability to fill the selected area with a color



    Painting: Ability to freely paint onto the layer.


    There are many brush options available, such as the ability to specify the color,


    change Radius

    Opacity
    and the blend mode in which to use to blend with the already existing layer pixels.
    You are also able to select variously defined brushes and create your own custom brushes.


    Pixel Harmony comes with an easy brush management system. Each brush has various settings that can be adjusted to your liking.


    Flow
    Controls spacing between strokes


    Scattering

    Controls stroke position offset


    Jittering

    Controls stroke size, angle and opacity jittering


    Fade

    Controls stroke fade in effect


    Trail

    Controls stroke angle depending on the paint path

     
    Last edited: Oct 19, 2023
    DragonCoder and mgear like this.
  2. Bananzabro

    Bananzabro

    Joined:
    Oct 19, 2020
    Posts:
    21
    Great job and everyting, but why would anyone use it when there is actually Photoshop out there?
     
  3. Rukas90

    Rukas90

    Joined:
    Sep 20, 2015
    Posts:
    169
    Hello there,
    it is a great question, with this tool the main idea was to create a tool that would help users save time by not having to always switch to an external application when needing to make a change to an image. This is a frequent process and having tools on hand can be very beneficial and can ultimately increase the overall workflow.

    No matter what product the user is making, in most cases, especially when developing a game, image editing is a non-stop process. From minor tweaks to creating new images for UI or when dealing with 2D graphics, developers spend lots of time in image editing applications. Having everything in place is a preferred choice overall.

    That being said, apart from having a tool that users can use in the editor, I am also planning in the future to make such features available for runtime purposes.
     
    Last edited: Feb 10, 2022
    zyzyx likes this.
  4. Bananzabro

    Bananzabro

    Joined:
    Oct 19, 2020
    Posts:
    21
    wow, runtime feature would be really cool!
    good luck then! Hope you'll succeed!<3
     
    Rukas90 likes this.
  5. Rukas90

    Rukas90

    Joined:
    Sep 20, 2015
    Posts:
    169
    DragonCoder likes this.
  6. frbrz

    frbrz

    Joined:
    May 10, 2016
    Posts:
    76
    Does it have Windows-only features or would it work under Linux too?
     
  7. Rukas90

    Rukas90

    Joined:
    Sep 20, 2015
    Posts:
    169
    Hello there, Pixel Harmony has not been thoroughly tested on other operating systems. It should work on Mac, but I am not sure about Linux. I see no reason why it shouldn't, but I can't say for sure, unfortunately.
     
  8. frbrz

    frbrz

    Joined:
    May 10, 2016
    Posts:
    76
    Great!
     
  9. JuniorLongfellow

    JuniorLongfellow

    Joined:
    Feb 27, 2013
    Posts:
    19
    Hey I purchased this asset for use in my Unity 2021LTS project on mac. First error I got said it doesn't support 8K textures. Then I resized the texture into a 4k PNG and the tool crashed. I purchased this for the sole purpose of creating normal maps. What file formats are supported?

    [Error] Unable to get path. Requires initialization.
    Paths.GetFinalPath()
    Paths.get_DocumentsFolder()
    Paths.get_Resources()
    Paths.get_GlobalCache()
    Startup.GetPath()
    Startup.Gather()
    Startup/<Init>d__9.MoveNext()
    EditorCoroutine/YieldProcessor.MoveNext() at Library/PackageCache/com.unity.editorcoroutines@1.0.0/Editor/EditorCoroutine.cs:80
    78: <Color=#808080>{</Color>
    79: data = <Color=#FF0000>default</Color><Color=#808080>(</Color>ProcessorData<Color=#808080>)</Color><Color=#808080>;</Color>
    80: <Color=#FF0000>return</Color> enumerator.MoveNext<Color=#808080>(</Color><Color=#808080>)</Color><Color=#808080>;</Color>
    81: <Color=#808080>}</Color>
    82: <Color=#FF0000>return</Color> <Color=#FF0000>true</Color><Color=#808080>;</Color>
    EditorCoroutine.ProcessIEnumeratorRecursive() at Library/PackageCache/com.unity.editorcoroutines@1.0.0/Editor/EditorCoroutine.cs:134
    132: <Color=#00FF00>//process leaf</Color>
    133: m_Processor.Set<Color=#808080>(</Color>enumerator.Current<Color=#808080>)</Color><Color=#808080>;</Color>
    134: <Color=#FF0000>var</Color> result = m_Processor.MoveNext<Color=#808080>(</Color>enumerator<Color=#808080>)</Color><Color=#808080>;</Color>
    136: <Color=#FF0000>while</Color> <Color=#808080>(</Color>kIEnumeratorProcessingStack.Count > <Color=#FFFFFF>1</Color><Color=#808080>)</Color>
    EditorCoroutine.MoveNext() at Library/PackageCache/com.unity.editorcoroutines@1.0.0/Editor/EditorCoroutine.cs:115
    113: <Color=#808080>}</Color>
    115: <Color=#FF0000>bool</Color> done = ProcessIEnumeratorRecursive<Color=#808080>(</Color>m_Routine<Color=#808080>)</Color><Color=#808080>;</Color>
    116: m_IsDone = !done<Color=#808080>;</Color>
    EditorApplication.Internal_CallUpdateFunctions() at /Users/bokken/build/output/unity/unity/Editor/Mono/EditorApplication.cs:356
     
  10. Rukas90

    Rukas90

    Joined:
    Sep 20, 2015
    Posts:
    169
    Hello there, I apologize for the inconvenience you've encountered.

    May I ask, which specific Unity version did you use? Pixel Harmony requires a minimum Unity version of 2021.2+. Any older version will not work.

    Also, the plugin currently supports a max canvas size of 4096 by 4096. In the future, this limit will be lifted. Moreover, as of now, Pixel Harmony supports png, jpg, jpeg, and TGA formats only.
     
  11. JuniorLongfellow

    JuniorLongfellow

    Joined:
    Feb 27, 2013
    Posts:
    19
    I'm on 2021.3.27f1 Silicon LTS
     
  12. Rukas90

    Rukas90

    Joined:
    Sep 20, 2015
    Posts:
    169
    Released version 1.1.0

    Changelogs:
    --
    Added
    • Implemented support for tablet + pen pressure
    • Implemented custom convolution filter
    Improved
    • Improved memory management when loading resources
    • Improved performance when painting
    • Reorganized the painted inspector view
    • Improved the order of the top navigation buttons
    Fixed
    • Fixed a 'Replace Color' adjustment inspector bug. Where when the values of the inspector are reset to defaults, the 'Exposure' value does not reset properly causing it to get stuck at zero until a value is changed

    Asset Store:
    --

    https://u3d.as/2Fji
     
    AthrunVLokiz likes this.
  13. Rukas90

    Rukas90

    Joined:
    Sep 20, 2015
    Posts:
    169
    Released version 2.0.0

    Changelogs:
    --
    Added
    • Shortcuts for tools and actions:
      • Move Tool: V
      • Crop Tool: C
      • Rotate Tool: R
      • Transform Tool: T
      • Brush Tool: B
      • Eraser Tool: E
      • Shape Tool: U
      • Delete Selected Layer Area: Delete
      • Extract Selected Layer Area: Alt+Shift + E
      • Levels Adjustment: Ctrl/Command + L
      • HSB Adjustment: Ctrl/Command + U
      • Toggle Pixel Perfect: Shift + P
      • Toggle Snapping: Shift + S
      • Open Color Select: Shift+Alt + Q
      • Insert New Empty Layer: Ctrl/Command+Shift + J
      • Duplicate Selected Layers: Ctrl/Command + J
      • Merge Selected Layers: Ctrl/Command + E
      • Select Next Layer: Shift + RightBracket
      • Append Next Layer: Ctrl/Command+Shift + RightBracket
      • Select Previous Layer: Shift + LeftBracket
      • Append Previous Layer: Ctrl/Command+Shift + LeftBracket
      • Unselect Top Layer: Alt+Shift + LeftBracket
      • Unselect Bottom Layer: Alt+Shift + RightBracket
    • Snapping feature
    • Rectangle Selection Tool
    • Uniform scaling for free transform to maintain aspect ratio
    • Layer blending options
    • Blend-if features for current and underlying layers
    • Toggle for layer RGB channels
    • Ability to project layer content onto a layer mask
    • Implemented Swatches
    • Added canvas ribbon for quick access to global features
    • Implemented a way to create a new layer mask by using the current selection
    • Additional shapes:
      • Triangle
      • Heart
      • Arrow
      • Polygon
    • Global plugin settings for data persistence, like selected brush target
    • Draggable windows
    • Added a traditional mode to the bucket fill tool
    • Implemented a Pixel Perfect option
    • Implemented a new brush effect "Continuous aka Build-Up"
    • Implemented a new brush effect "Texture/Pattern overlay"
    • Implemented an option to adjust brush's initial angle and roundness
    • Implemented an option to adjust brush falloff
    • Implemented an option to duplicate the brush preset
    • Implemented brush stroke preview in the brush creator window
    • Added new brush presets:
      • Dithering x4 brushes
    • Added new color galleries
    • Switch data serialization from the legacy custom serialization system to Odin Serialization system
    • Added confirmation menu to the following tools:
      • Rotate tool
      • Transform tool
      • Perspective tool
    • Implemented a canvas preview window
    Improved
    • Painting performance
    • Improved one-pixel painting
    • Enhanced edge-smoothing for brushes, with improved visual quality at smaller brush sizes
    • Improved the brush angle jittering
    • Improved resources previews
    • Improved the histogram coloring
    • Improved layer, mask, and channel previews when dealing with a small-resolution canvas
    • Improved Toolbar icons
    • Improved Fill tool by adding an option to use the traditional mode
    Fixed
    • Certain shortcuts not executing in specific action states
    • Fixed Resources save corruption bug
    • Fixed brush rotation
    • Fixed SolidFill layer icon missing
    • Fixed Resource item rename update bug
    • Fixed a bug where the adjustment would not be applied to a selected layer mask unless it was not linked to the content
    Removed
    • Temporarily removed the CatmullRom painting interpolation mode
    • Removed the Create button from the brush Creator top navigation
    Notes
    • All projects saved prior to version 2.0.0 are no longer supported due to a change in the serialization system.
    • Latest confirmed supported Unity version is 2023.1.16f1

    Asset Store:
    --

    https://u3d.as/2Fji
     
    AthrunVLokiz likes this.
  14. Rukas90

    Rukas90

    Joined:
    Sep 20, 2015
    Posts:
    169
  15. Rukas90

    Rukas90

    Joined:
    Sep 20, 2015
    Posts:
    169
    Released version 2.1.0

    Changelogs:
    --
    Added
    • Shortcuts for tools and actions:
      • Fill Tool: G
      • Clone Tool: S
    • Added the ability to type the opacity value using either the keyboard's alpha keys or keypad keys
    Improved
    • Improved zooming by adding:
      • Scroll to zoom (Alt + ScrollWheel)
    • Improved panning by adding:
      • Scroll to pan vertically fast (Shift + ScrollWheel)
      • Scroll to pan horizontally (Control + ScrollWheel)
      • Scroll to pan horizontally fast (Control + Shift + ScrollWheel)
    Fixed
    • Fixed the clone stamp sampling issue
    • Fixed the toolbar tool tooltip formatting
    • Fixed the eraser strength/opacity bug
    • Fixed solid color layer gamma correction issue
    • Fixed fill filter on the empty layer bug
    • Fixed Gradient filter bound to selection bug

    Asset Store:

    https://u3d.as/2Fji
     
    AthrunVLokiz likes this.