"Multiply" render error (5.6 + 6.2)

Wondering how to accomplish a certain animation task? Ask here.

Moderators: Víctor Paredes, Belgarath, slowtiger

Post Reply
User avatar
slowtiger
Posts: 6257
Joined: Thu Feb 16, 2006 6:53 pm
Location: Berlin, Germany
Contact:

"Multiply" render error (5.6 + 6.2)

Post by slowtiger »

http://slowtiger.de/examples/cels.mov

This strange render is the result of duplicating one layer which is set to "multiply" (then scaling it). It's only 2 layers inside a bone layer, animated with the "snake" trick.

Adding more "multiply" layers results in everything rendered black. Any idea how to overcome this? I've never had this problem before.

The "cels" are vector shapes with some halo inside.

UPDATE: I tried the same with an image layer (cels on transparent): same result, the render seems to use the alpha channel only and looses all colour information.
User avatar
slowtiger
Posts: 6257
Joined: Thu Feb 16, 2006 6:53 pm
Location: Berlin, Germany
Contact:

Post by slowtiger »

I built again everything from scratch this time, and the result until here was fine:
http://slowtiger.de/examples/mu_test4.mov

The setup is quite elaborate. It consists of a cel vector layer, where each cel has a half-transparent fill, a halo, and a blurred outline.

- top group layer
- - bone layer
- - - cel vector layer
- - - cel vector layer
- - bone layer
- - - cel vector layer
- - - cel vector layer
- - - cel vector layer

The fun started when I set layers to transparent. This setup still worked:

- top group layer 100%
- - bone layer 100%
- - - cel vector layer 80%
- - - cel vector layer 80%
- - bone layer 100%
- - - cel vector layer 100%
- - - cel vector layer 100%
- - - cel vector layer 80%

and looks like the link above.

This setup doesn't work (the only difference highlighted):

- top group layer 80%
- - bone layer 100%
- - - cel vector layer 80%
- - - cel vector layer 80%
- - bone layer 100%
- - - cel vector layer 100%
- - - cel vector layer 100%
- - - cel vector layer 80%

and looks like this: http://slowtiger.de/examples/mu_test4a.mov. All colour information is lost.

This setup doesn't work in a different way:

- top group layer 100%
- - bone layer 80%
- - - cel vector layer 80%
- - - cel vector layer 80%
- - bone layer 100%
- - - cel vector layer 100%
- - - cel vector layer 100%
- - - cel vector layer 80%

and resulted in only one layer being gray.

I think this counts as a bug, as AS 5.6 and 6.2 seem to hava a limit with nested transparencies. I'd like to hear if others can confirm this.

Have a try yourself with the file, http://slowtiger.de/examples/mu_test4a.anme.zip.
User avatar
heyvern
Posts: 7042
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

Ink effects like multiply have "weird" results when there is no background. If there is nothing behind the layers with an ink effect it doesn't look right (grayscale or black). I've discussed this with Mike already but it's been a while. He did explain why it was an issue and tricky to fix. Photoshop sort of does the same thing when you use ink effects against transparency but not quite. Ink effects like multiply need to "multiply" the pixel values against other pixel values. I guess if there are no pixel values to multiply weird things happen.

Put a single vector layer with a white filled shape on it behind all layers in your file then render. The color comes back. I think the problem is the nesting and the top layer with an ink effect that causes it to go "grayscale" because it has nothing to "multiply" against. Your other tests worked because of other layers lower in the nesting? Just a guess.

-vern
User avatar
Víctor Paredes
Site Admin
Posts: 5818
Joined: Wed Jan 26, 2005 12:18 am
Location: Barcelona/Chile
Contact:

Post by Víctor Paredes »

I have had very weird multiply results some time ago on version 7.
I forgot to post it here, I'll search if I can find the file.
Image Image Image Image Image Image
Moho co-owner

Previously Rigged animation supervisor: My father's dragon, Wolfwalkers & Star Wars Visions "Screecher's Reach"
My personal Youtube Channel
User avatar
slowtiger
Posts: 6257
Joined: Thu Feb 16, 2006 6:53 pm
Location: Berlin, Germany
Contact:

Post by slowtiger »

If your assumption were right, then the b/w effect would be visible over the transparent BG only, but not where shape intersects another shape. Also the bottom layers should be affected first, which isn't the case:
http://slowtiger.de/examples/mu_test4b.mov

Anyway, I don't think this is going to be fixed soon, so I just look out for this bug where it could happen, and work around it.
User avatar
heyvern
Posts: 7042
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

Slowtiger,

Yes, sort of right except that all the layers are "multiply" so they would all have the same issue against a transparent background. For example if one layer is grayscale against transparent then another layer above it will just be multiplied against grayscale.

I did discuss this with mike as a bug. As I recall he either didn't agree 100% or it might be he didn't have an easy solution for it. Hard to remember. I recall that the main issue is what to do with the pixels values when there was nothing to render against. I had the same problem with a file. If you don't use transparency on the layer an ink effect set to multiply just appears totally black.

-vern
User avatar
funksmaname
Posts: 3174
Joined: Tue May 29, 2007 11:31 am
Location: New Zealand

Post by funksmaname »

so would putting a solid background layer underneith the whole thing fix it?

Image
User avatar
heyvern
Posts: 7042
Joined: Fri Sep 02, 2005 4:49 am

Post by heyvern »

Yes putting a solid background color "fixes" it but is still a "problem". With the background layer you can't use layer blending effects and export animation with an alpha channel which is needed sometimes for compositing in other programs.

-vern
User avatar
funksmaname
Posts: 3174
Joined: Tue May 29, 2007 11:31 am
Location: New Zealand

Post by funksmaname »

true, but you could render once with the background layer (colour), and once without (effectively a luma matte), and then use the grayscale version to mask in post using the other programs... or you could do an alpha pass without the background (might be more accurate than the grayscale) and mix that with a 'solid' export?

I realise it's not ideal though...
User avatar
slowtiger
Posts: 6257
Joined: Thu Feb 16, 2006 6:53 pm
Location: Berlin, Germany
Contact:

Post by slowtiger »

As I said: since I know the problem exists now, I can use a workaround, like rendering all layers separately and re-assemble in another program.
Post Reply