Search Unity

[New Release] Texture Studio - Photoshop style Layer based Textures

Discussion in 'Assets and Asset Store' started by SpookyCat, May 27, 2023.

  1. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,760
    1920x1080 title.jpg

    Asset Store Link : Documentation

    Texture Studio

    Texture Studio is a layer based Texture creator, builder, adjuster. It can be used to build up your game textures from any number of other textures. Each layer can be positioned, rotated, scaled or deformed in numerous ways, as well as each layer can have its channels remapped, swizzled, multiplied or adjusted with numerous modifiers such as colour, hue, saturation, levels, color replace and more. The layers can be blended using Photoshop style blends as well as making use of blend masks and target masks to limit areas where changes will happen. And you can also add text layers using the full Text Mesh Pro features and even make use of sprite and texture atlases. Being able to build textures from parts and being able to change any part at anytime in your project can also greatly reduce the number of textures needed to be loaded or added to the final build.

    As well as being able to create your layered maps directly in Unity you can also import Photoshop .psd files into Texture Studio so you can use your favourite Art package to create your map if you wish and then import it and all its layers and blending modes will be kept so you can add to or edit them in Texture Studio. This also means you can use Texture Studio to quickly bake out Textures directly inside Unity from your .psd layers, enable and disable layer that you need and then create a new texture, or leave it as a Composite Map and choose your maps quickly and freely at runtime.

    The system makes use of the GPU to build the textures and you can at any time change the output resolution to suit your needs, the final texture can be used directly as is as on any shader on any pipeline, or you can bake it out to a texture file. The real power of Texture Studio comes at runtime though as the system is fully functional in your built projects so you can have build up complex textures and in your game project turn on and off any of the layers, substitute in other images, change the text, cycle through sprite images, change colors, apply extra decal effects and more. So if you game project needs different skins such as in a car game, or you need player names to appear on some object or changing team colors without having to have special shaders then Texture Studio will do that for you.

    Texture Studio has a Param system where you can define per layer or per map params you would like to change via script and then through a very simple API you can update the texture at anytime in your game, and as the texture creation is done on the GPU it is super fast. And so you can have complex decal, or fancy shader type effects without the need for custom shaders. You can also rescale the textures at anytime if you want.

    Documentation

    Example Use:


    Making a Map


    Texture Studio works on all plateforms and on all pipelines.

    Features:
    • Photoshop style Layer based Texture creator
    • Import .psd files
    • Bake out .psd files quickly to textures
    • GPU Based
    • Create any size textures
    • Update any part of the texture at runtime
    • Use any number of layers to build up the texture
    • Move any layer, rotate, scale
    • Change layer shape via vertex controls
    • Snap controls for easy positioning
    • Zoomable texture editor window for fine control
    • Easy click of layers for selection in Texture Editor
    • Apply multiple Adjustments per layer
    • Use Text Mesh Pro in layers
    • Bend and Layer
    • Change Layer shape
    • Support for Sprite Atlases
    • Support for Texture Atlas
    • Mask areas
    • Blend Areas
    • Final Output color options
    • GPU based texture builder for super fast editing
    • Textures can be update and generated at runtime
    • Param system for quick and easy changing of textures at runtime
    • Fully featured Editor window for building your textures
    • Drag and Drop of layers for easy mangement of draw orders
    • Full Tooltips on every control
    • Full Undo support
    • Save to Textures or generate RenderTexture at anytime of any size.
    • 26 Photoshop Blendmodes
    • Full texture channel swizzle support
    • Combine textures great for roughness, specular, AO maps
    • Change almost any option at runtime
    • Great for adding names or numbers to objects, or skinning characters
    • Have endless Texture combinations without using loads of memory.
    • Faster loading times
    • Smaller build size
    • Works with Normal Maps as well
    • Supports Built In, URP, HDRP and Custom Pipelines
    • Works on all platforms
     
  2. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,760
  3. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,760




     
    Last edited: Jul 4, 2023
  4. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,760
    A small update is in the store now, this adds auto updating of the materials when entering and exiting Play mode, note params for maps are not applied in edit mode, I may add an option for that if it's wanted in a future update.

    Also added support for adding blur to layers, this can be an expensive porcess on very high res textures and large blur amounts but is generally fine, if you want to use blurred textures you can always add the blur and bake out the map to a texture and add that new texture as a new layer. A blur param has also been added for easy changing using the SetParam method.

    Changes in V1.01
    • Added system to update the maps in the scene when entering and exiting play/edit mode
    • Maps should also no not be reset when compiles happen.
    • Add a blur option to the Adjust panel, will blur whats under the layer.
    • Add Blur param to the Params section so it can be set using the SetParam method.
     
  5. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,760
    Submitted a small update which fixes a bug when a renderer in the scene has a null material applied.

    Changes in V1.02
    • Fixed an exception you could get if an object in the scene has a null material in its sharedMaterials list.
     
    Last edited: Jul 4, 2023
  6. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,760
    Another quick update, spotted if you change the width or height in the Texture Window area that it had no undo so added that in. Also did a quick video for the main texture window area.


    Changes in V1.03
    • Added Undo support for changing map width and height in the Texture window.
     
  7. MikeUpchat

    MikeUpchat

    Joined:
    Sep 24, 2010
    Posts:
    1,056
    Another great asset and perfect for my needs, looking at the thumbnails for your videos were the car textures done with this asset, I assume so, but just wanted to check?
     
  8. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,760
    Thanks @MikeUpchat, this tool has opened up a lot of options in our own game project so should be useful to others. Yeah the car textures are all done with the asset, in that case each livery was its own map but then you can change the colors, numbers, driver names for each, as we also use it to adjust the metallic, smoothness, normal maps, and is used by the damage system to overlay scratches, dents etc.

    Below are some variations of a single map used on another car, each image was 1 single key press to change it all all from one map containing the 4 different liveries and params for the color replace, driver names and numbers. Can only add 5 images but you get the idea you can have pretty much endless customizing options for any texture in your project. Screenshot 2023-07-04 143000.png Screenshot 2023-07-04 142850.png Screenshot 2023-07-04 142543.png Screenshot 2023-07-04 132027.png Screenshot 2023-07-04 131920.png
    Screenshot 2023-07-04 143000.png Screenshot 2023-07-04 142850.png Screenshot 2023-07-04 142543.png Screenshot 2023-07-04 132027.png Screenshot 2023-07-04 131920.png
     
    MikeUpchat likes this.
  9. MikeUpchat

    MikeUpchat

    Joined:
    Sep 24, 2010
    Posts:
    1,056
    Great, exactly what I need, my current system uses dozens of unique textures, this will make life so much easier, can't wait to get it and get it working in my project.
     
  10. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,760
    Let me know if you get it and you find anything that you would like added, open to ideas and suggestions :O)
     
  11. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,760
    Had an email that asked if Texture Studio could be used to add Dirt to models, yes, just add a dirt layer to the Map and set the blend amount. If you would like more options for such things just let me know.
    dirtmap.png
     
  12. MikeUpchat

    MikeUpchat

    Joined:
    Sep 24, 2010
    Posts:
    1,056
    Just got this and having a play but already I can see this is going to simplify my life immensely, I can greatly reduce the complexity of one of my shaders for starters, and it is going to give me a ton of flexibility on different looks, I can see this being a core system in my game, already got new ideas because of it.
     
  13. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,760
    Submitted a small update for TextureStudio which fixes a bug where if you tried to change the Text object for a layer through a Param it didn't work, now does.

    Changes in V1.04
    • Fixed a bug where changing the Text object for a layer through a param wasn't working.
     
  14. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,760
    Sorry @MikeUpchat I missed you message. Great to hear it is useful and helping you out, if you have any feedback, idea or siggestions or anything to show please do post, or email me, or join the Discord
     
  15. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,760
    Submitted a small update to the store that fixes a small issue with the height value not being set when saving a texture, and also saving will remember the last folder saved to and reuse that the next time.

    Changes in v1.05
    • Fixed the height value being 0 when you go to save a texture.
    • The last save folder is now saved and is set as the directory for saves
     
  16. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,760
    Just to say Texture Studio is in the Unity asset sale at the moment at 50% off.
     
  17. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,760
    A small update in the store that fixes a problem in Unity 2022+ regarding textures being included in a build which shouldnt be and giving errors.
     
  18. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,760
    There is a new version in the asset store that fixes an issue with not errors due to missing resources caused by a folder in the wrong place.
    Version 1.07
    • Fixed a major issue with the editor scripts not being able to locate the texture resources it uses givings errors. The folder is no in the correct location.
     
  19. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,760
    Another quick update. This adds some improvements to stop textures going black when scenes save etc. Also the MapManager component has been updated to find any maps in the scene and update them automatically so maps update in build without any need to call UpdateTexture. The mapmanager component can also be set to update maps in a list and there is an example of that in the demo scene. One thing to note is if you see blank textures in a build where there should be a Composite Map it couldbe the map is not being included in the build, to make sure they are put your CompositeMaps in a Resources Folder.

    Version 1.08

    • Update the MapManager script to find any CompositeMap in the build and update it so materials are correct on play and build. Note CompositeMaps used must be in a Resources folder to be included in the found. If not use the LinkMap option to add the maps to update.
    • Fixed materials not updating and going black when scene is saved and other changes.
    • Demo Scene has a Map Manager object setup.
    • Added a ApplyMap() method to the CompositeMap class, call this after calling UpdateTexture to apply the texture to the any materials setup in the map to use it.
     
  20. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,760
    A very small update in the Asset Store that fixes the Mask Tiling and Offset values not having any effect.

    Version 1.09
    • Fixed that the Mask texture Tiling and Offset values were not working.
     
  21. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,760
    Another quick update, seems the Hue value for a layer was missing from the Param system, this has been fixed now. Update in the store now.

    Version 1.10
    • Layer Hue value was missing from the Param system, this has been fixed.
     
  22. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,760
    A small update in the store now. Fixed the issue if you switched to 'Normal' mode then the Final Out put section of the Params would not be displayed, fixed now to show the relative available options.

    Version 1.11
    • Fixed the Final Output params section not being showed if you switched from Texture to Normal mode.