Transparency Issue 3D Object with Iteration

Steps causing the bug to occur

Using iteration and queuing of a movie file to generate a time cube effect show problem with iteration of 3d objects due to first 3d object not being transparent regardless of transparency settings.

How did the result differ from what you expected?

I expected every object that was generated by the iterator to observer the transparency settings set within it.

Have you found a workaround?

No

Other notes

  • Vuo version: 1.2.0
  • macOS version: OS X 10.9

Transparency_Issue.vuo (6.66 KB)

Screen Shot 2015-12-17 at 7.20.45 pm.png

Please note that I added a draggable camera so you can easily see the effect- and that it is layered correctly. As you can clearly see here- the front image has no transparency at all- even though it is rendered with exactly the same 3D Object generator.

NOTE: I have not attached a video file as you can most probably just copy to a local file that would achieve the same result. I haven 't tested it yet- however I am pretty sure that using a still image would also cause same issue to occur.

Thanks for checking man! Can you get it working by removing any parts of it? It looks like it’s using ffmpeg- maybe try an apple codec (proress file?)

I can confirm this.

Looking more closely at it, it’s not actually a bug. The way I suspect Vuos objects work, is that the first object is what would be used for “world” in other 3d software . This in essence means that it is a background (or something like it, I think the black background you see is actually transparent), which can not be transparent. So when you build a list of items on the Z-axis and multiply a negative number with the item number from the build-list node, the first object will be in front. As it is a “background object”, all objects behind it will not be visible. To make it work like you intend, just make the list range from 0 to intended position (10?), and then subtract 10 from the number. That way the first object will be at the back. See the attached composition for a working sample.

TransparencyFix.vuo (5.06 KB)

@MartinusMagneson you got a crash before and have now removed it. Can you let me know if you were able to stop the crash?

I also re-ordered the list of objects but this simply moved the problem frame around.

If this is intended behavior I hope we can get it confirmed.

Yes I removed the crash report because I looked over it again and it was just referring to the composition instead of transparency-something-to-do-with-code, so I think it’s unrelated to this issue.

I was actually wrong again, it is not a world thing at all, it’s a layer thing! All the frames are the problem frames in that an object can seemingly only be transparent if it is in front of an object with lower priority (lower input number, think layers). At least from the “Unlit 3d object from image” node. What are you trying to achieve with it? There might be ways to get around it with some careful placement and boolean logic, but I think that probably is better suited in the discussions forum (and reverse transparency in the feature requests).

In it’s basic form - when an object is iterated (drawn many times) theoretically each object should retain its correct characteristics.

Also bare in mind Vuos itterator is very much an if-loop - so that the objects are being built between frames- not some sort of dark-art that does strange things. (Yes I’m talking about QC)

@alexmitchellmus @MartinusMagneson

Like Martinus said, it has somehow to do with who’s in front or end.

Keep in mind you can also use the “Copy 3D object” and the “Make points along curve” instead of the “Build list, add values, copy Object with transform” thus allowing direct use of lists.

Look,

  • Left image is when the object interpolation starts at -5 to the front 0 ZAxis. It is transparent.

  • Right image when the object is interpolated from 0 to -5 on the ZAxis. It’s solid.

!

Movie Iteration (TransparencyFix) 1.1.zip (1020 KB)

Ok, this is related to enqueue events. If you use the attached composition with a “movie” file then you will get a translucent texture. However when you reconnect “requested frame” to “time” on the node: decode movie image, then you get the solid frame.

So please test with a playing movie.

Screenshot is paused movie (time disconnected from decode movie image). :-)

Transparency_Issue_2.vuo (6.6 KB)

@MartinusMagneson,

Thanks for the “TransparencyFix” however your comp does not use Enqueue to create a “TimeCube” effect, so does not exhibit the issue due to not using Enqueue. Unless I am using Enqueue incorrectly- I call this a bug.

@Bodysoulspirit the main reason why I am not using a COPY node is due to the fact I am loading into the quad a different texture all the time. I don’t know how to load a different texture into a COPY node for every copy- or even if it is possible. I am assuming that a copy is just that, a copy. This is why I am building each quad in an iterator. So I can get unique textures from the que all the time.

@alexmitchellmus ah ok.

@Bodysoulspirit can you test the comp and tell me it there is a difference between rendering video and still image?

There is something going on, but It seems to be related to the alpha channel. You are probably using enqueue correctly, but none of the image 3d objects can be the first in the objects input in the renderer (not including cameras) to have opacity working as intended. Try inserting a cube as the first object, and then setting the translation scale of it to 0,0,0.

Other blending options for the 3d objects are apparently not affected by this.

@alexmitchellmus yes your composition also does show the first frame solid.

Not sure if that matches your need but you could use “Process List” instead of “Build List” and push these through “Align 3D Objects in Grid”.
And I tried with “Play Movie Image” instead of “Decode Image” so that it would loop and use “Play” instead of the “requested frame”.

Not sure that matches your need but I think it does push a different Time Stamp Frame Image to each object and the front one is transparent too.

Hope it help.

PS : I’ve joined the “Chess.mov” that comes with Vuo.

!

Movie Iteration (TransparencyFix) 1.2.zip (1.85 MB)

And you can use “reverse list” to get the first or the last frame at front …

Be great to hear from team Vuo if this is indeed a bug or simply the way Vuo works. If it is the way it works then is there a part of the manual that states don’t use transparency in 1st layer objects? (ie: use a sacrificial object at scale 0,0,0)

@Bodysoulspirit will have a look at your comp when I get the chance! Pretty hectic here right now, I am assuming the holiday season is like that for everyone.