colint | 8 months ago | 15 comments | 1 like | 341 views
songbaojin likes this!
I'm using the "eternal zoom" effect to zoom out of a texture, generating multiple copies of the texture to fill the frame as it does so. As it zooms out, I'd like to fade/transition to a new texture, rather than restarting the cycle with the same texture (as the "eternal zoom" effect does).
To achieve this I'd like to fade to black instead of restarting the cycle with the same texture, then use a simple crossfade transition from the first "eternally zoomed" texture to the second in Vegas Pro.
I've found by careful adjustment of the FX Resolution, FX Speed and Show Duration I can control when the original image is faded in to restart the cycle, and I can fade to black using the Colour or Transparency props.
Is there a better way of doing this?
Is there a better way of controlling when the original image is faded in to restart the zoom out cycle? Adjusting the FX Resolution, FX Speed and Show Duration is largely trial and error. Is there a formula or calculation I can do to work out when the original image is faded in to restart the zoom out cycle?
Also, life would be easier π if the effect didn't continue to run even when the show is stopped. Is this intended fixed behaviour or is there an option to change it?
Thank you!
The period of the animation in seconds is FX RESOLUTION x FX SPEED. So with the default values this is 6 x 1 = 6 seconds.
The idea of this effect is to smoothly fade to a tiled version of the same picture and back. The moment you realize the tiles are smaller versions of the same picture is magical. It becomes less magical when you also fade to another picture because both pictures are visible at this magic moment.
If you want to do it:
-use 2 picture layers
-set them both to FULLSCREEN IN BACKGROUND
-use the same settings, except for the TRANSPARENCY prop:
-for the 1st picture animate the TRANSPARENCY prop from 0 to 1
-for the 2nd picture animate the TRANSPARENCY prop from 1 to 0
michiel, 8 months ago
Thank you Michiel. I appreciate your help.
I completely understand the "magic moment" when you realise the tiles are smaller versions of the same picture. Like I said in my email to you, what I'm trying to achieve is no longer a true Eternal Zoom but I'm happy to live without the magic moment! π
I'm really just trying to use the zoom out effect with multiple copies of the same image as a transition to another image undergoing the same process, as you've guessed from your suggested solution. That does achieve exactly what I want. Thank you. But that's only for 2 images. I've got 30+.....
Indeed, I could have a Show with all the images each with the Eternal Zoom effect and appropriate transparency animations to fade from one to the next to the next, etc. But that's tedious and would result in a huge Show! I get it that BluffTitler is aimed at making short Shows and that's what I'd prefer. I then just drag all the individual rendered .avi files into Vegas Pro and voilà! They're all consistently overlapped and perfectly cross-faded! π
I'm happy I now better understand the relationship between FX Resolution and FX Speed. Thank you for that.
My workflow is to produce a single Show with appropriate settings for the FX Resolution and FX Speed properties of the Eternal Zoom to give me the effect timings I want. Then use the resultant ".bt' Show file as a template by changing the "MPA <path\to\image.jpg> line with a replaceable token (e.g. "changeme"). Then use a command line text editor ("sed" in a loop for each image) to generate a ".bt" Show file for each image.
Ideally, I would like to render these individual Show files from the command line but that doesn't seem possible, I understand. When I asked about that you referred me to "Dynamic Content". That's a great feature but doesn't include rendering from the command line (unless I've missed something?) and doesn't seem to work with the Eternal Zoom effect (using "dir:" to step through each image in a folder, or "xml:" to do the same with image references in an xml file). Unless I've misunderstood or missed something...... (I can get the Eternal Zoom effect to work with an xml file containing only one image reference).
Thank you for reading this far! π I hope it makes sense! Thank you for your understanding and help.
Do you have any thoughts to improve my workflow and BluffTitler experience?
Best wishes
Colin
colint, 8 months ago
P.S. Just in case it's not clear from the above, I completely understand why the Eternal Zoom effect doesn't inherently work with a sequence of images using dir: and xml: Dynamic Content syntax as the effect is intended to work with a single image as you've explained. (It's always worth a try though π).
Rendering from the the command line would be _really_ useful though.....
colint, 8 months ago
I would place the 30+ texture URLs in an XML file.
This installer show does something similar for texts:
DynamicContent\RSS3.bt
It uses [+1] to get the text of the next loop. This technique can be used in your project to fade the current picture to the one of the next loop.
Here's the user guide:
michiel, 8 months ago
Thank you once again Michiel for your quick and informative reply.
Your solution works of course, as far as supplying my sequence of 30+ textures to the Eternal Zoom effect. Thank you for that.
But I would have an undesirably large Show with a long timeline onto which I would have to place (too) many close-together keyframes to animate the transparency of each texture (and their volume if they're videos - which they are).
[Of course, there is a compromise solution using this method to render-out the Eternal Zoom effect with (say) 10 textures, then change the base XML folder in the Show props (or text-process the .bt Show file) to refer to a different set of textures, then combine the exported videos in the NLE. This would work too].
But the show-stopper with this solution is that the effect starts and continues to run even though the textures are invisible, which means when a texture becomes visible it may be at any point in the effect cycle and may never be seen full-sized, which is unacceptable. (Adjusting the FX Speed while the texture is invisible so that it is at full-size in the effect cycle just as the texture becomes visible would be unimaginably difficult, I think).
It's a great app with great effects and features that I look forward to exploring in the future, but inevitably it has limitations. Things like the ability to control videos (outerspace-software.com...), start and stop effects, and of course command line rendering (outerspace-software.com...).
I think we've come to the end of this question. I've learned a lot and hope to carry this forward to other projects in the future.
Thank you again Michiel.
colint, 8 months ago
It's the opposite. Thanks to the XML you only need a very short show with only 2 picture layers and 2 keys per picture layer. This is because the show loops. Every loop, a new set of pictures are loaded from the XML. The show stops when all pictures have been rendered.
michiel, 8 months ago
Oh..... I see. The Show loops until the XML is exhausted. Of course. I must admit I only tried it with 2 textures in the XML and 2 picture layers explicitly referring to them in the Show, then extrapolated that I would need 30 picture layers in the final Show.
So I use [+1] for both picture layers in the Show to refer to the next pair of textures in the XML? I'll give it a go and get back......
colint, 8 months ago
Sorry Michiel, I can't get the indices and offsets to work to loop through the XML. I'm obviously missing or misunderstanding something.
I have two picture planes with key frames set for appropiate transparency animations which work ok.
I have my XML with references to the 30 pictures as follows:
<?XML version="1.0" ?>
<picture>path\to\pictures\picture1.jpg</picture>
<picture>path\to\pictures\picture2.jpg</picture>
<picture>path\to\pictures\picture3.jpg</picture>
...
I have the path\to\xml set in Show props Content.
If I set Picture Plane 1 Texture 1 to xml:?picture and Picture Plane 2 Texture 1 to xml:?picture[+1] the Show just repeats the first two pictures, (naturally, because the first picture reference is an absolute reference to the first picture in the XML and the second picture reference is an offset from that, I believe.... Although see below. It seems the [+1] reference is always being taken as an absolute reference to the second picture).
If I set Picture Plane 1 Texture 1 to xml:?picture[+1] and Picture Plane 2 Texture 1 to xml:?picture[+1] also, the Show just repeats the second picture! It's as if the [+1] is taken as an absolute reference to the second picture.
If I set Picture Plane 1 Texture 1 to xml:?picture[+1] and Picture Plane 2 Texture 1 to xml:?picture[+2], the Show just repeats the second and third pictures, again as if the [+1] and [+2] are being taken as an absolute reference to the second and third pictures.
I'm clearly missing or misunderstanding something. How do I loop through all the pictures?
colint, 8 months ago
I would use the following URLs for the 2 picture layers:
xml:?picture
xml:?picture[+1]
The URL of the XML file is set in the CONTENT field of the FILE > SHOW PROPERTIES... dialog. For example: D:\Temp\test.xml
Note that the 1st picture layer does not use an offset. The 2nd uses [+1] because that's the picture you're fading β¨toβ¨. In the next loop that's the same picture you're fading β¨fromβ¨. This way the loop jump is performed seamlessly.
michiel, 8 months ago
When you have placed your XML on a web server, you might want to unmark the CACHE XML FILES checkbox in the INTERNET AND CACHING tab of the SETTINGS > OPTIONS... dialog.
michiel, 8 months ago
That's exactly what I tried first Michiel.
"If I set Picture Plane 1 Texture 1 to xml:?picture and Picture Plane 2 Texture 1 to xml:?picture[+1] the Show just repeats the first two pictures".
colint, 8 months ago
Aha! The reason why it doesn't work is because it are videos. At this moment only pictures are supported. Thank you for your feature request!
michiel, 8 months ago
Aha!
You're welcome! :-)
colint, 8 months ago