PDA

View Full Version : Looping procedural textures?



Simon-S
01-28-2013, 04:13 AM
Hi,

I've created an calm ocean surface that uses a turbulence displacement traveling down on Y and I need to make it loop over say 200 frames. Is there a way of doing this with procedural textures?

Cheers.

Skonk
01-28-2013, 04:18 AM
Have it move 1m over how ever many frames needed for the speed you like and have the last key's "Post" behavior set to repeat?

I think this will do a seamless loop but not 100% sure.

Simon-S
01-28-2013, 04:24 AM
Maybe I haven't explained myself properly...

I want to only render 200 frames and have the texture loop seamlessly. Just setting the keys too repeat will surely make the animation 'snap' as it repeats the animation?

prometheus
01-28-2013, 04:36 AM
tricky one ..as you want the final animation to loop seamlessly, so you can play it with repeat function without noticing the animation starting over again.

Donīt know right now.

Michael

Simon-S
01-28-2013, 04:47 AM
I may just try and do it in post with a subtle fade.

Lightwolf
01-28-2013, 06:08 AM
It won't work if you just move on Y. You could try rotating the texture by 360° for 200 frames... and maybe combine it with a second one that rotates as well but at a different position.

In both cases, make sure the centre of the texture is outside of your view - or it will make the rotation apparent.

Cheers,
Mike

Simon-S
01-28-2013, 06:49 AM
Ah nice idea thanks.

Ryan Roye
01-28-2013, 06:56 AM
Another solution is to create an image map of a turbulence texture (not procedural), mirror it, and make certain that the image map goes from beginning to end so that the last frame shows the same "turbulence" as the first frame... because you mirrored it, and because an image map is not procedurally generated, it will match exactly.

Simon-S
01-28-2013, 07:41 AM
I have tried it using an image map but the beauty of using the procedural texture is that its works in 3D space. You get quite a nice undulating effect if you move the procedural texture down the Y axis, which I'm not sure I can replicate with images.

I did manage to create a decent looking loop in aftereffects by duplicating/offsetting the rendered frames and using long subtle transitions so I have kinda solved the problem. I would be nice to know a proper solution however.

RebelHill
01-28-2013, 07:49 AM
I thought procedurals repeat in each scale amount... so if ur tex scale on a given axis is 10m, then moving it 10m on that same axis gets u back to where u started... so if u need the loop to process over a given number of frames, then just make the move match that frame range.

Simon-S
01-28-2013, 07:51 AM
I thought procedurals repeat in each scale amount... so if ur tex scale on a given axis is 10m, then moving it 10m on that same axis gets u back to where u started... so if u need the loop to process over a given number of frames, then just make the move match that frame range.

Awesome, thanks!

Simon-S
01-28-2013, 08:01 AM
I thought procedurals repeat in each scale amount... so if ur tex scale on a given axis is 10m, then moving it 10m on that same axis gets u back to where u started... so if u need the loop to process over a given number of frames, then just make the move match that frame range.

Actually that doesn't appear to be the case. You get snapping on the loop point.

Thomas Leitner
01-28-2013, 10:04 AM
Hi,
if I remember right the ripples procedural texture which is "self animated" can be looped (wave speed should be wavelength divided by the number of frames over which the pattern should loop). This could be true for other "self animated" procedural texture too.
Probable this wonīt help you with your problem.

ciao
Thomas

UnCommonGrafx
01-28-2013, 10:25 AM
I think Thomas is on to something.

I've seen this suggestion but never saw the formula for it, as you have shared: wl/# of frames.

I dunno if it gives the formula in the manual but i know it speaks to there being a way to loop procedurals.

XswampyX
01-28-2013, 04:43 PM
It won't work if you just move on Y. You could try rotating the texture by 360° for 200 frames... and maybe combine it with a second one that rotates as well but at a different position.

In both cases, make sure the centre of the texture is outside of your view - or it will make the rotation apparent.

Cheers,
Mike

That will work. :thumbsup:

http://i465.photobucket.com/albums/rr16/xXswampyXx/Rot_Proc_zps8b7dbfb8.jpg

Don't know how well it would stand up when used with a very long object?

lertola2
01-28-2013, 04:44 PM
You can make a procedural texture loop by using two copies of the texture and two reference nulls. Just make sure the second reference null gets to the same spot at the end of the loop as the first null was in at the beginning of the loop. And envelope the top procedural texture layer's opacity.

http://forums.newtek.com/attachment.php?attachmentid=110751&d=1359416041
http://forums.newtek.com/attachment.php?attachmentid=110750&d=1359416025

erikals
09-04-2013, 04:13 AM
just throwing in this video...http://erikalstad.com/backup/misc.php_files/smile.gif


http://youtu.be/1IOta3xuBpA

gerardstrada
09-04-2013, 11:54 AM
Interesting solutions! Here's (http://www.flexomizer.com/PermaLink,guid,630fd367-9256-40b3-acdc-8750fb021503.aspx) an old way with Oscillator (http://www.flexomizer.com/file.axd?file=Loop%20Tutorial/anim6.wmv).



Gerardo