Home Technical Talk

qSave - Photoshop plugin to quickly save textures

124

Replies

  • Chai
    Options
    Offline / Send Message
    Chai polycounter lvl 17
    cool glad you sorted it out Mambo4

    Btw there's a photoshop plugin called script listener, it outputs stuff you do in photoshop into a script log you can copy pasta from
  • CreativeSheep
    Options
    Offline / Send Message
    CreativeSheep polycounter lvl 8
    Nice script, works in PsCC-2014 :) I'd love to see EXR support ?
  • Sleuthman
    Options
    Offline / Send Message
    Sleuthman polycounter lvl 11
    Hey Chai, thanks for the tool. I'm running CC 2014 and get this when I hit a hotkey to save

    YniLFsP.png

    Any ideas? Thanks!
  • CreativeSheep
    Options
    Offline / Send Message
    CreativeSheep polycounter lvl 8
    Tom - Did you put the scripts in a folder where they can be read ? I got it working without any issues immediately !
  • Sleuthman
    Options
    Offline / Send Message
    Sleuthman polycounter lvl 11
    Must have been tired the other night. It was because I told it to save out a TGA from a 16-bit PSD. Everything works fine if you're not being stupid! Cheers
  • Chai
    Options
    Offline / Send Message
    Chai polycounter lvl 17
    Great, glad it worked out !
  • CreativeSheep
    Options
    Offline / Send Message
    CreativeSheep polycounter lvl 8
    Tom no worries, whenever I do things, and I always do when fatigued is setting in I always screw things up, all because I try to squeeze as much as I can in a day.

    I have to change my regime and make a PC cut off time !
  • Sleuthman
    Options
    Offline / Send Message
    Sleuthman polycounter lvl 11
    Haha, yep we all know that feeling! Sleep's just so boring though! :)
  • r@m
    Options
    Offline / Send Message
    r@m polycounter lvl 3
    Hey guys , major issues for me in PS CC 14.7 x64, is this great little tool now defunct ?

    Running script i get this:

    L7DGJU1.png

    Clicking the panel button I get this:

    wANyl2d.png

    Any ideas ?

    thx
  • Chai
    Options
    Offline / Send Message
    Chai polycounter lvl 17
    @r@m Ya looks like they changed the save functionality.
    Sorry but I'm still on CS5, the subsequent updates have been pretty underwhelming.

    Recently started messing with unity metallic/smoothness split map, it uses alpha which doesn't work with the channel mixer trick.
    People been long requesting alpha automation here, any ideas of a clever workflow for this so I can add to qSave ?
  • Eric Chadwick
    Options
    Offline / Send Message
    I've been channel mixing a lot. I turn my layer groups into Smart Objects, one for each channel. Each smart object can then use Advanced Blending to set it to Red, Green, or Blue. Double-clicking opens it as a separate PSB, which means I can see in grays while I work.

    For the alpha, I use another smart object, but just keep it hidden. I copy it over to Alpha 1 with a hotkeyed Action. For qSave maybe a naming convention would work great. If you could support a single Layer, a Group, or a Smart Object, that would be great too. Everyone's needs are different.
  • Chai
    Options
    Offline / Send Message
    Chai polycounter lvl 17
    @Eric Chadwick
    Afaik for RGB, you can just use the channel mixer layer effect at the top of a layer group, put something like black as the base, and set the entire group to add, which will mix all the channels on the fly.

    As for the alpha, I use copy to alpha macro as well, but it's an extra step to then show the other group for the rgb (in this case metallic), it's not too bad but it breaks the workflow a bit.

    So I'm trying to think of ways to speed up this workflow.
    • One idea is just make a shader variant in the engine for tests but that's probably overkill.
    • Another idea is like you said, we can flag the group as [A], and he other one as [RGB], and let qSave handle the copy to alpha and group toggle, based on your current layer. (this is complex to implement though)
    • Open to other ideas  


  • Eric Chadwick
    Options
    Offline / Send Message
    Is the channel mixer method better than setting the group's Advanced Blending to be a single channel? I guess you can toggle it on/off faster, rather than opening a smart object.



    I just load my PSD directly in Unity, and it understands the alpha. So I don't us qSave. But 3ds Max is crap at reading PSD alpha, so a TGA is required, and thus qSave. Which engine are you using?
  • Chai
    Options
    Offline / Send Message
    Chai polycounter lvl 17
    Ah that's cool, am using Unity as well.
    I like to keep everything in the same PSD though, as I personally find it much faster to make textures

    Edit: ok got a smart RGB/A split working with qSave, does everything automatically and very fast.
    Will test it for the next week or so and then release here cheers
  • CreativeSheep
    Options
    Offline / Send Message
    CreativeSheep polycounter lvl 8
    There is an update to qSave ?
  • Chai
    Options
    Offline / Send Message
    Chai polycounter lvl 17
    Version 2.4 Released
    • added automatic rgb/a packer on export

    About
    • RGB/A packing is useful for multichannel maps (e.g. unity metallic gloss), and helps avoid constant copy paste to alpha.
    • when within containing layer with [A] / (A) in the name, it will be automatically copied to alpha channel on export
    •  if it has sibling layers with [RGB] / (RGB), those will be made visible on export, please position above the alpha
    •  if no RGB is present, the alpha will be copied and no image exported

  • CreativeSheep
    Options
    Offline / Send Message
    CreativeSheep polycounter lvl 8
    I don't understand RGB/A split, could you create a video ?

    The link for qSave 2.4 isn't working ?
  • Eric Chadwick
    Options
    Offline / Send Message
    RGB/A split is also known as channel packing.
    http://wiki.polycount.com/wiki/ChannelPacking
  • Chai
    Options
    Offline / Send Message
    Chai polycounter lvl 17
    CreativeSheep : sorry for my poor explanation is really simple no need for a video, you just name the containing groups  with those tags and it will pack things automatically.  Link works here

    @Eric Chadwick : thanks, changed it to packer to be more obvious
  • CreativeSheep
    Options
    Offline / Send Message
    CreativeSheep polycounter lvl 8
    Chai - I'm trying to download the latest from the link in your signature and it doesn't work ?
  • Chai
    Options
    Offline / Send Message
    Chai polycounter lvl 17
    Ah thanks forgot to update my page, try now !
    Also I usually keep the 1st page of this thread here updated
  • CreativeSheep
    Options
    Offline / Send Message
    CreativeSheep polycounter lvl 8
    Why all the qSave01 and qSave02 etc, etc ?
  • Chai
    Options
    Offline / Send Message
    Chai polycounter lvl 17
    check the readme for instructions
  • CreativeSheep
    Options
    Offline / Send Message
    CreativeSheep polycounter lvl 8
    Why not have the script read the layers, if the layer has the prefix _diffuse or the layergroup has the prefix _diffuse that layers or layer group is merged and export as an image format ?

    I'm going to safely assume this tool is geared towards game artist, but you should include film &tv artist by including EXR as an export option. 


  • juhone
    Options
    Offline / Send Message
    juhone polycounter lvl 9
    I love this script, but having troubles getting it working in PS CC 2015  (2015.1.1 20151209.r.327 to be exact). Has anybody got it working on the latest Photoshop?

    EDIT: Ah, got it working and now I feel stupid. Looks like when Photoshop updated to CC 2015, it created a new folder but the scripts weren't copied. Also I got distracted of the Plugins and Presets folders that can be found in Program Files (x86)\Adobe. Oh silly me...

    So I can confirm that the script works in PS CC 2015 :smile: 
  • Chai
    Options
    Offline / Send Message
    Chai polycounter lvl 17
    @juhon awesome, hope everything works alright in CC 2015 !
  • juhone
    Options
    Offline / Send Message
    juhone polycounter lvl 9
    Looks like I get the same error message as R@M when I have Export Path Global unchecked. Other than that it seems to be working correctly.
  • Chai
    Options
    Offline / Send Message
    Chai polycounter lvl 17
    @JUHONE - are you using PS CC 14.7 as well ?
  • Chai
    Options
    Offline / Send Message
    Chai polycounter lvl 17
    oh ye you'll get this error if your export path doesn't exist, it has nothing to do with photoshop version
    I should probably add proper error description for this one
  • floon
    Options
    Offline / Send Message
    floon greentooth
    Hi,
    first of all thanks a lot for creating this plugin! It's a great times savior and therefore I wanted to introduce it to the art department at my workplace.
    I'm no coder by any means, but although the pipeline requires different .dds formats (DXT1/DXT5) I was able save them with one action and the help of your plugin :)
    The only problem in which I ran was, that I realised qSave doesn't create mipmaps for the .dds files.
    Is there any way I can "enable" mipmaps in the export settings?


  • Chai
    Options
    Offline / Send Message
    Chai polycounter lvl 17
    Cheers FLOON, glad you like it !

    Sorry it will be a long time until I can implement this.
    I'm not sure about this, but you can try open the qSave.jsx in a text editor, scroll down to the line that has "function saveImageDDS"
    There's a bunch of tags there, could be the "smip" one might be it ... try changing it to 1 instead of 0 and see if it works. could also be "lomm" change to true.
    Again not sure which one enables mipmaps man sorry wish I wasn't so busy all the time 
  • cptSwing
    Options
    Offline / Send Message
    cptSwing polycounter lvl 11
    Quick question while you're paying attention ;)

    Does qSave have to rely on the PSD format for metadata it needs? I've noticed it (understandably) not working natively with Tiff files, if that makes any sense.
  • Chai
    Options
    Offline / Send Message
    Chai polycounter lvl 17
    @cptSwing, ya it uses PSD/PSB metadata for all the operations.
    If you go to File->File Info, you can see all the tags stored in the "keywords" section
  • floon
    Options
    Offline / Send Message
    floon greentooth
    Hey Chai!
    Thank you very much for taking the time to responde!
    Unfortunately neither of your tips worked (I tried all combinations).
    The only thing that was diffrent when I changed the "lomm", was that on the import of the dds the "load mip map checkbox" was checked.


  • floon
    Options
    Offline / Send Message
    floon greentooth
    Good news everyone!
    Reading through this thread I picked up somewhere, that there is a photoshop script listner.
    So I installed that, exported two .dds one with/one without mipmaps. Compared the two files and it revealed that setting
    ( idmmty, 32 )

    to

    ( idmmty, 30 )
    does the trick. I now can export with mipmaps :)


    Thanks again for the great work!
  • Chai
    Options
    Offline / Send Message
    Chai polycounter lvl 17
    Awesome man, glad you got that sorted !
    I'll make a note to implement it sometime ...
  • juhone
    Options
    Offline / Send Message
    juhone polycounter lvl 9
    Hey Chai. We just made the move from using .TGA's to .SuperPNG's at work and looks like I'm having some problems with .SuperPNG alphas.
    If I have .TGA format selected and alpha data in the alpha channel, I get a correct result when exporting the bitmap. But when I change the format to .SuperPNG and export, I get a white alpha. Is this issue with everybody else or just in my rig?

    UPDATE: I got the SuperPNG working. I changed couple of things in the qSave.jsx:
    1. Commented line 809 (var id20 = charIDToTypeID( "alfT" );)
    2. Removed comments in line 810 (var id20 = charIDToTypeID( "alfC" );)
    3. Changed "alfT" to "alfC" in line 813
    Hope this helps others with similar problem.

    Related to above. I also tried the new(ish) alpha copy thing, but I could't get it working properly. Looks like I get just empty alpha when exporting. It's not working in either .TGA or .PNG.
    Here's my test scene. I Think I'm doing everything correctly (I'm using the qSave04 that is 32bit to export).

  • Chai
    Options
    Offline / Send Message
    Chai polycounter lvl 17
    Thanks juhone !

    Atm png & superpng are reading photoshop transparency data, that's why you got a white alpha. haven't gotten around to add switch between both behaviour yet ...

    As for the new alpha functionality, put the upper red layer in a folder and name it [rgb].
    Then put both groups in another one, that should work.
    You may also have to give it an actual name e.g. "glow [a]", not sure.
  • juhone
    Options
    Offline / Send Message
    juhone polycounter lvl 9
    Chai! Thanks man. Your script is literally a life saver. I love it!
  • Chai
    Options
    Offline / Send Message
    Chai polycounter lvl 17
  • Chai
    Options
    Offline / Send Message
    Chai polycounter lvl 17
    Version 2.5 Released
    • proper error message if export path doesn't exist
    • added DDS 8.8.8.8 support (thanks JN)
    • rgb/a packer automatically creates alpha channel if needed
    • fixed error when using rgb/a packer with alpha channel selected
    • toggleable mipmap for dds
  • MikeeCZ
    Options
    Offline / Send Message
    Love this script but there appears to be a glitch which prevents me from using it.
    It appears to automatically change load DDS settings to "Convert to 32Bits" and unticks "Load MIPs" i am talking only basically loading up the DDS, i think it exports them fine. When i change the settings it changes it back every time i load PS.. it does not do that when i delete the qSave from my Scripts folder.
    (running CC 2015)
    So i basically cannot look at my exported DDSes (i do need to sometimes as the graphics engine i work with sometimes needs some manual mipmaps tweaks)
  • melviso
    Options
    Offline / Send Message
    melviso polycounter lvl 10
    Hi, trying out your script.
    I am using Photoshop CS6 and windows 10. When I run the script. All the textures come out with the top most folder only for all the texture output
  • Chai
    Options
    Offline / Send Message
    Chai polycounter lvl 17
    Sorry been busy with Hellhunter  (shameless plug), will check the issues once the craziness settles ;)
  • gnoop
    Options
    Offline / Send Message
    gnoop polycounter
    Would be nice to have such script working with layer compositions instead of  usual groups
  • melviso
    Options
    Offline / Send Message
    melviso polycounter lvl 10

    Sonnhalter wrote: »
    Is this any different than Vtools?

    I've been using that to save .tgas from inside photoshop but I'd rather support a polycount member :)
    qSave is based on a different workflow really, more lowlevel when you want to export what you see on screen to specified texture instantly.
    Also some members here apparently figured out to do mass exports with qSave, but many times you still want to quickly export what you're working on (say that glow map) rather than the whole thing.

    vTools is more higher level and fullblown to export the whole thing, scaling options and whatnot, but obviously not instant and takes a while to setup as well.

    Bottom line use what works best for you, good luck :)
    Just saw this. Must have missed this while going through the thread. This is how I have been using it since I posted, All I need to do is make only the layers or folders I want to save visible and run the scripts it saves out what is visible on screen to the specified qsave script. Simple and clean.

    I guess it works well with PS CS6. My apologies.
  • Chai
    Options
    Offline / Send Message
    Chai polycounter lvl 17
    Ahhh thanks for the update Melviso! :)
  • Thane-
    Options
    Offline / Send Message
    Thane- polycounter lvl 3
    Just wanted to say thank you for this. I am still learning and had been saving manually to tga files, then going over to UE4, right clicking to re-import and waiting for it to update. I now learned to set up UE4 to detect changes and update automatically and so i just hit F12 to save and its so quick to view even minor changes now. What a relief, thanks!
  • melviso
    Options
    Offline / Send Message
    melviso polycounter lvl 10

    Chai said:
    Ahhh thanks for the update Melviso! :)
    No problem. Your script is awesome. Simple and straight to the point.
124
Sign In or Register to comment.