Hey Everyone!
Long time lurker, occasional poster here to share a Photoshop script to help artists with offsetting lots of layers.
This came at the request of @Sweetangel0467 who was working on a tileable texture and was getting very annoyed at having to manually offset each layer, even though she wanted the same offset for a lot of layers.
In comes, Layer Cake.
Layer Cake started out as just 1 script for Multi-Layer offsetting in Photoshop but has now grown while aimed totally at tileable texture creation.
Feature Run Down Vid:
Video Updated for Spectacles (v 3.6.1 + NEW ICONS!)
https://youtu.be/boec1RCq308
Layer Cake
The bread and butter. It's the main script meant to help artists with offsetting multiple layers at once
Layer Cake - Rebake
Rebake is a script that will run Layer Cake but with the last used settings. For those that don't want to deal with UI every time, this is their go to. Set up the values you want to use for Layer Cake and just use Rebake to offset there on out.
Icing
Icing is really the icing on the cake. This will allow artists to quickly view their tileables in bigger sheets to see how they look. Icing will create a 2x bigger document for previewing what your tileable looks like. The sweet part, run Icing on the newly created 2x document and get ANOTHER 2x document. You can quickly and easily see what your tileable will look like in big arrays with VERY LITTLE effort!
Spectacles
Spectacles is the newest addition to the Layer Cake suite. Spectacles allow you to use Gaussian blur or Smart Sharpen on a 3x3 version of your texture. When you're done, hit Done! and it will copy an original size layer to your starting document.
Pick it up below!
WebPage for it:
http://travisevashkevich.com/LayerCake.html
***IMPORTANT*** (March 31/2016)
Multiple people have reported CC 2015.0.0 not working correctly with LayerCake, while later updates work completely fine.
I have no clue as to why, so if you can please make sure you are up to date with Photoshop for the best experience.
Edit: July 31/2016
V3.6.1
July 31/2016
-Created a fallback in the case that my website goes down and the user still has internet connection
The checks now do ->see if online, if online check to see if it can load 1px image from my website. If they can, load online page, else load offline page
V 3.6
Updated LayerCake to make it acknowledge locked layers (and skip them as they can't be worked on) but also make it not abort the whole Layer Cake Operation.
Updated Rebake to do the same as above.
V 3.5.5
Re signed extensions (to make sure things work)
Added features to LayerCake CC to make it so if new versions happen, I can let everyone know via the panel itself
Updated Icons to be a bit more fitting in PS
V 3.5.4-Added Photoshop CS5 version to the download.
V 3.5.3-Added Unit forcing to the other scripts as I noticed Spectacles would give you a totally wrong texture without it (and if you were on cm/in for example)
V 3.5.2
-Units should always show up as pixels now. If you use LayerCake and ruler units are in anything else, it will put it in pixels and put it back to whatever it was after finishing.
-Updated Installation instructions
Version 3.5.1
Fixed bug where having the Original Locked "Background" layer would cause Icing and Spectacles to crash.
Version 3.5
Fixed problem where if adjustment layer was top most layer in selected groups/layers, would cause crash on running.
-Adjustment layers are now being ignored (as you can't merge them by themselves anyways so they just cause more problems than they are worth by having them possible)
Version 3.4Changed how Icing gets called. No longer makes a history in your original document.
-Spectacles v1 added to Layer Cake collection.
--Spectacles lets you do Guassian blur AND Smart Sharpen on a 3x3 version of your texture. This lets you blur and sharpen easier.
When done, hit Done and it will snip the center piece and put it as a layer in your original document.
Version 3.3Added zero buttons to make zeroing out of x or y a button press instead of having to enter it in each time.
Version 3.2
-Packaged all three scripts, Layer Cake, Layer Cake-Rebake and Icing all into one easy to use Extension.
-Icing is the newest script that will take your image, and put it in a document that is 2x the size and tile it so you can quickly and easily see how it looks! You can keep running Icing on the new documents to keep upsizing the tiles to really check those seams. It will also only make 1 document per size (have a 512x 512? it will make 1 1024x 1024 document. If you make changes and run Icing it again, it will redo the tiling in 1 1024 document so you don't get document clutter
Version 3.1
-By Request of
@malcolm
-Was requested to make it so users can essentially "ctrl F" the script to re run it with the same values. So I added Layer Cake ReBake. Run Layer Cake once to setup values
and then you can just use Layer Cake ReBake from there on out.
Note: If you want to be able to just have it auto half offset all your layers make sure to check the X/Y Half Document by Default in settings.
Version 3.0Previewing available pre-offset.
-This option comes with the ability to view your incoming offset with either a merged version of all your selected layers
OR
With the TOP most layer in your layer stack (closest to the top of your layer stack obviously
)
-Fixed problem where closing the window via the X wouldn't reset to previous history state.
-Only known problem with previewing is with offset Types other than Wrap Around. The easy enough work around is just toggling preview on and off.
(this will remake the layer and correctly offset it with the "Set Transparent" or "Repeat Edge Pixels" mode. I don't think people use it that often
so I haven't spent too much time tying to fix it.)
Version 2.5.1
Fixed a bug where using the offset X/Y half button didn't work as intended. Should be fixed now.
Version 2.5- Button to set offset to half doc Dimensions (main window)
Settings can now be persistent. Each run of the script can remember the settings you had last (settings window)
Options to set half doc dimensions as auto offset (settings window)
Bundled Action that you can drop into Photoshop to then just hit Ctrl + F2 to run Layer Cake (if you don't know how to setup custom hotkeys)
Replies
I like new innovative Photoshop scripts, I'll give it a try.
The Seamless Texture Generator there is a very interesting tool (hadn't come across that page at all in my searches) that I don't think I could actually compete with (at least any time soon since I have really just begun to do PS scripting)
I'd like to make Layer Cake more of a utility tool rather than a "Do It For You" tool... Mainly because I don't think I would be able to make something automated that would do a better job than an artist for making tileables. Maybe in the future, but that would a better tool for later
And the "Cake" I have in the read me is actually the one from the end of Portal cause it's awesome. Should be having an official icon for later in the next few days I hope
Edit:
Looking at how to make the HTML5 panels for cs6 seems to be near non existent (especially since I don't really know HTML5)...could take a while for that.
I've used this script for years, with hotkeys set for half canvas X, Y and XY offset.
http://www.hesido.com/base.php?page=tutorials&sub=offsetall
HTML5 is only for PhotoshopCC, therefore you'd have to so some sort of dual system, anything less then CC use ScriptUI and PsCC HTML5. When you decide I can help you design a HTML5 panel.
Well back to functionality I guess
Yeah the hope is that this will make it a bit more user friendly. So far I think it's off to a good start
For previewing the offset, what would be handiest, previewing one layer (likely the top most) or all the selected layers as a merged layer.
I think the merged but I can also see where this could cause a problem (not having all layers selected in a set where they have hierarchy etc.) but also think that it would end up being up to the user whether or not it becomes useful or not.
Would love some feedback on what to do, since I'm trying to give as much possibility to the user I don't want to force them to have all the layers in the doc be previewed or something to that effect so I'm not sure how to go about it. I lean towards the preview on all selected layers (as a merged layer for it to be quicker for viewing etc.) but yeah it can have un desired effects if you're using clipping masks and such.
User selects layers opens LayerCake with preview on
Selected layers are dupe'd and merged
User tests offset amounts which moves the newly merged layer
Hit Offset and it deletes the merged layer and offsets the selected layers
I think even if it merges "badly" it will still serve the purpose of letting the user see where it's going and such.
http://wiki.polycount.com/wiki/PhotoshopTools#Actions.2C_Filters.2C_Scripts
Haven't uploaded it yet cause I want to get this previewing done (or not, whichever it happens to be)
I switch between different resolutions constantly, so an automatic half is much faster than re-typing a value.
I doubt people are looking for custom offset values.
Although it is nice to offset halfway in either one or two axes.
@cptSwing It's super easy to put it, I had it actually at the start of development
Also, on that note, There is a new version, V 2.5 now on the site
Now that I got those side features done, I can get back to working on trying to get the Preview option actually in and working (the check box is in in 2.5 because it was a hassle to comment new functions and remove the check box for the time being :P)
1. Create a texture with an X drawn in the center so you can see the mirroring.
2. Enter the tool and change vertical offset to zero and click okay.
3. Enter the tool again and click okay so everything is back where it started.
4. Enter the tool and now click the X/Y Offset half button and click okay.
5. The texture will only flip in one access which is incorrect as I've just selected to flip it in both X and Y, from there everything gets farther out of wack.
Edit:
Fixed. Uploaded 2.5.1
Wasn't actually setting the variables correctly when using the button (GG Me :P )
Give that a shot and let me know if you find more bugs
We'll see what I can do after I get preview in and stable with merged layers first.
How often do you use the other 2 modes of Offset (the non Wrap-Around ones)?
If you have to think, What other modes, that answers my question.
While testing the other two modes (at least in preview, they do work correctly when you actually offset with the other 2 modes) they cause some weird behaviour compared to the wrap around offset and it made me wonder if they are actually used (therefor if they actually need to be in Layer Cake at all).
If I don't have to try to test this to figure out how to get it working, then I can release the more or less final version of Layer Cake (minus bug fixes.) sometime in the next day or so.
Previewing is in and works great (works near perfect on Wrap Around which for tileables is probably going to be the only one used anyways)
The work around that you CAN use if you happen to want to preview the offset with the other two modes is just this:
Select the other mode, toggle preview off and on again. If you move the layer, you'll have to toggle preview again (it's a weird thing that I haven't spent that much time trying to fix and I'm not 100% sure I could fix other than doing some hacky crap anyways)
SO, please go give it a look and see if it's all working well!
Also, I'm going to start working on a sister script which will create a 2x the size document and tile your texture automatically to let you see what it looks like. I thought about putting it in Layer Cake directly but I think it wouldn't make much sense to put a button for it in the UI since it does something quite different. I'll likely just post that in this thread as well so keep and eye out if you want that too (thinking I'm going to call it "Icing" since it'll be the icing on the cake <.< >.> programmer jokes!)
On a side note if you're looking to make a set of scripts for this kind of work I'd suggest the following as well.
1. The wrapping tool you already have is great, but is there a way to hit ctrl + f to repeat it?
2. A script that takes a layer and sets blue channel off and blend mode to overlay, then if you run that same script again it sets blue channel back on and blend mode to normal. This is something we do all the time for normal map overlays.
2. I can look into this one after I do icing (cause I want to have another script to go hand in hand with Layer Cake. )
As long as you have run Layer Cake once before, it will use the previous settings you used. If you want it to auto offset half, make sure in Layer Cake that you go to settings and toggle the X/Y Half Document By Default on.
I added Rebake to the actions I pack with Layer Cake as well. It's on Ctrl F3 currently.
Rebake is in Layer Cake 3.1 (which is now up)
http://travisevashkevich.com/Shareables/Layer_Cake.zxp
Install the extension, and you you can have a dockable extension that has all three scripts at the push of a button.
Layer Cake
Layer Cake - Rebake
and the brand new....
ICING.
Icing will allow you to preview your image at 2x the size in a tiled set to see if it repeats too much etc. Run it again on the new document to again, get 2x the size etc. etc.
Hopefully this will be the final thing of Layer Cake :P It's been fun creating this and short of bug fixes I think this should be about the last in the Layer Cake set
I have a feature request, in the window that pops up with the X/Y offset half button, could we get a small button to the right that zeros out the value for X or Y independently. Often I will want to mirror a texture by half in one direction then the other. It's great to quickly click the button to get the resolution required of your doc, but then I still have to manually click into the box and zero out one of the values, would be great if I could just click to zero it out.
Another random idea for a script that would be handy is a way to gaussian blur any layer that is a tiling texture in Photoshop. So for example you've created a tiling texture using your great layer cake script, but then you want to apply a gaussian blur, then you realize blurring creates seams in your texture because it doesn't blur across the border edge of the document. It would be great if there was a script which duped your selected layer into a new doc and placed 8 copies of it around the doc then applied the blur with preview to avoid the seams and then pasted that back as a new layer on top of the selected layer you started with. We tried to create that at work through an action, but we need a different action for each resolution type so it would be great as a script which could be more intelligent.
that sounds like an awesome script. Sadly i can't install it. I'm using Photshop CC and when i try to run it with the Extension Manager he tells me I need a Photshop64 13.0 -13.9 version. Am I doing something wrong?
I unpacked the script using winrar adding it all to a Layer_Cake folder, now photoshop find them but I dont get the Layer Cake interface.
Can someone be kind and tell me how to do this correctly
I may have to either port it to html5 (which would take a while because I have no real exp in HTML5 and from what I've seen it is a bigger pain to work with)
I'll see if I can get in touch with a guy that does know it and might be able to help me make the panel quickly.
Use and enjoy
Also, @malcolm Your zeroing buttons have been added.
Go Window -> Extensions->Layer Cake and it should work