ZBrushCentral

LayerPaint – new plugin

LayerPaint – new plugin jan 2008, version 1, Eddy Loonstijn

This plugin helps the user to polypaint in layers and history.

The plugin can be used in three different ways, separately and together:

1. Paintlayers
It is possible to start painting and save what has been painted as a separate PaintLayer:

LayerPaint_L_1SavedNewLayer.jpg
‘Parallel-History saved’

Guidance and Helpinformation
The user can state that he wants to be guided through the process (good for the first couple of tries).
More helpinformation is provided for in the ReadMe_LayerPaint.txt.

INSTALLATION
The zip contains:
LayerPaint.zsc - the plugin file
LayerPaintTemp – a folder which the plugin needs to function properly.
as a separate file:
ReadMe_LayerPaint.doc - the readme file

Unzip the zip files and place the LayerPaintTemp and
LayerPaint.zsc in your ZBrush 3 …ZStartup\ZPlugs folder.

Feel free to suggest new/other functionalities
And happy layerpainting!

Greetings, EddyL

Attachments

LayerPaint_C_ChooseAnotherPaintLayerToAdd.jpg

LayerPaint_C_NewCombi.jpg

LayerPaint_C_ComparedWithExistingCombiRgbIntens.jpg

LayerPaint_H_NewHistorySaved.jpg

LayerPaint_H_MoreHistorySaved.jpg

LayerPaint_H_ParallelHistorySaved.jpg

LayerPaint.zip (6.35 KB)

LayerPaint_L_4After4LayersSaved.jpg

LayerPaint_C_BaseForNewCombi.jpg

ReadMe_LayerPaint.zip (297 KB)

Hey there Eddy - this looks like a most welcome Plug-in addition :+1: :+1: :+1:

Must give this a try out later on; and of course many thanks for putting this together :slight_smile:

Chris

nice indeed. This may get popular :smiley:

thanks a lot …

wow…if this works like I hope it’ll be a VERY welcome addition.
Thank you for sharing it, EddyL! :slight_smile:

WailingMonkey

:+1:

Will definitly give this a try.
Thanks

YES !
I think we were talking about in another thread, the plug that we were all waiting for !

It brings tears to my eyes!!! Finally poly painting with layers!!! Thank you very much!!

Suggestions if possible:

Opacity control per layer?
Multiply and Addative options?

Nice Pluging thanks:+1:

I’m at work and can’t try this yet, but I’m wondering if these layer history stuff can solve a porblem I have.

In Zbrush, you can’t have smooth uvs for your textures. When you disable UVs you delete them, or simply reopening your tool loses the smoothing. So when you finish painting and do color to texture, it’s not smoothed. Not very good if you had planned to paint a bit in Photoshop. Only way to smooth them is to go to the lowest subdivision, delete higher, then divide again with SUV on. But you lose your polypaint.

Can this plug-in remember that polypaint information, despite deleting higher subdivisions, and bring the paint back after dividing it again to what it was before? I know sculpting detail will be lost, but it won’t matter much at that stage of doing color to texture.

…hit! :+1:

Man I was hoping this would be everything I had hoped for. Unfortunately, it’s extremely confusing, and very much a hack. I could never use this, but thanks for trying though! :+1:

sadly i find it confusing too, but a great effort considering that it would appear we should have this feature built in at some point.
also how does this function with really high poly models? do you get errors?

Hi seanfosyth and spaceboy,
Sorry to hear from yiou that you find this plugin confusing.
Maybe I’m in the programmer’s trap; that is, when you program the plugin you are so familiar with the workings of it, that you can never be like a first-time-user again. So yoy take quite a lot for granted, what maybe is not self-explanatory at all.
So please be so kind to explain a little bit of your confusion, so I can fill in the gaps with some enlightening new explanations and pictures.

About the high poly models: there is no zscript-reason I think of that should preclude the use of highpoly meshes. It will only take some more processingtime and RAM; how much I don’t know; but you can easely experiment a little?

Hi TimothyB,
Your question takes some more time to understand and to answer. I’ll be back with some reaction.

Greetings, EddyL

BTW. seanforsyth,
I’m not a native English speaker, so I don’t understand what you mean with “very much a hack”?

Greetings, EddyL

Hi Eddy, and thanks for replying. I think what has happened is exactly what you are saying. You’re so comfortable with it that it makes sense to you, but to someone not familiar with it, it’s a bit more difficult.

What I meant by it being a hack, is that it appears to be very much a work-around solution rather than a pure one. In other words, you’ve overcome the limitations of the software by using your initiative (which is great), but in order to get it to work, you have to go about it in an unorthodox way. You have to make concessions and compromises in order to get it to work.

First off, the unzipped file was stored in a directory called LayerPaint, so it didn’t load and I only noticed after searching fruitlessly for it. Then, after installing it and trying to use it, I got error messages saying that it couldn’t save a file to the LayerPaintTemp directory (which doesn’t exist), so I had to go and create that. Then, I didn’t notice that the tooll bar actually gets the new layers. I simply didn’t notice it and it wasn’t pointed out very clearly. On top of that, I had presumed that this would be a case of being able to “see” all your layers at one time as you paint on one of them, and this doesn’t appear to be the case. Without that functionality, I couldn’t use it. I also had some problems painting multiple colours on one layer in that it only seemed to store one. It also seemed like I was constantly getting messages telling me to press cancel, then to hit New layer again, then to press No, etc. I have no idea what the History and Paint versions of the model I painted are, but it seems to constantly swap the two out and even swap models out if I try to paint two seperate models. I sometimes have to Reset, other times not, some times I can add a layer, other times not. All in all, I just feel very confused by it. The documentation is not really very clear at all.

I guess what I’m trying to say is that I had hoped it would be as simple as the 3D Layer system currently is. Create a new layer, show it/hide it whenever you want, delete layers, see your other layers as you paint, etc.
This is the one feature that’s stopping us using ZBrush in a production environment for painting models. It’s so frustrating. I REALLY appreciate your efforts on it, and I wish you the very best of luck with it. Unfortunately, until it can be improved and made simpler to use, I can’t see myself using it. Having said that, I’m obviously an idiot as I’m constantly having problems with polypaint as it is, but I don’t see many others complaining about it, so it must be just me and my stupid way of approaching things.

Hi seanforsyth,

Thanks very much for your open and informative answer.

I’m really glad with the things you are telling me; these not only help me to improve the plugin, get maybe some bugs out of the program and look for some more clarity in the helpinformation, but also could give me some new inspiration for conceptual improvements.

My idea in general is that if someone is confused by the workings of a program there is something ‘wrong’ with the interface of the program and/or the concept altogether. So I don’t think that you are stupid in your ‘way of approaching’, maybe it’s a matter of communicating the idea on which the program is based.

And indeed, I would have liked to make a straightforward layer plugin like we are used to in PhotoShop and other 2d graphical programs. But the structure of ZB and the possibilities of zscripting do not allow that in a straightforward manner.
BTW. I hope that Pixolator will make a layered polypaintsystem in ZB3+; I understood that the Tool:Layer-system is capable of holding colorinformation, but for some reason the accompaniying layerpaint feature has not been supplied.
So, to pick up my argument, I had to use some workaround; I found the possibility to repaint what has been painted before through the use of ZScript:Record. So you can draw on an already existing polypainted surface - and see as it where the layers underneath your new painting! (this seems to be contrary to what you are saying in your reply) - and later redraw the latest drawingstrokes on a new ‘virgin’ surface, which is saved as a new separate PaintLayer. Also is the new state (that is, the already existing ‘painted canvas’ plus the new painted strokes) automatically saved as a new HistoryLayer.
This Paintlayer-system is useful when you want to recombine a different canvas/historylayer (of course belonging to the same mesh) with different PaintLayers and/or differently applied PaintLayers (other sequence and/or transparency)
The necessary StartRecord and EndRecord of your paintingstrokes makes you temporarily leave the zscript wherein you started your new PaintLayer work.
Actually when the program asks you to Press:Play-button the LayerPaint-plugin is already ‘in coma’ and by Press:Save Layer again you reanimates the plugin.
That makes for more LMB-clicks than I wished for, but up till now I don’t know a way around this. Maybe someone else in the zscripting-forum?

What I believe to be more useful for the normal workflow is the HistoryLayers-part. You simply can paint freely without needing to plan in advance that you want to save a specific set of strokes-yet-to-come. (which actually is the case with PaintLayers in the setup which I have programmed in this version of the plugin)
A HistoryLayer simply saves the picture as it is right now. And that’s really usefull: you can fall back unto an earlier state of your polypainting simply by activating a former HistoryLayer that has captured that earlier state and go on painting an alternative painting-route.
At least, that has been my purpose with this plugin. Maybe there are some nasty little bugs crawling around, which have escaped my flawed attention, so it’s not (yet) working as it should. I wil look into that.

Well, I hope my answer is enlightening and maybe inspires you to have another look at the program. If not, you gave it a try and I am glad with that also.

Greetings, EddyL

Hi Eddy, and thanks for replying.

That does it make it a little bit clearer thanks, but I’m still confused about many aspects of it. Would it be possible to record a video of it in action (a slow one) and put it on youtube or something? That way we could actually see it in use. If it could be annotated with explanatory notes, even better still!

First thanx bigtime for the plug but I am having a hard time implementing it - I am not getting the workflow.
Maybe I am too dumb. Anyway - could you do a specific workflow tutorial please?
Much appreciated.

Hi Kasperle,

I think that for you my new plug-in ‘History’ is a better choice; you will have a good functionality to save your work successively so you can restart at an earlier phase of your sculpting and painting.
The plug-in is very easy to use, just press: Save History.

Greetings, EddyL