JupiterSunset
12-09-2002, 10:54 PM
Hi there!
Did anybody try to loop the maya ocean shaderīs waves
over time?
Like say in areteīs DNT you can click loop
(just love those click-ploink solutions),
enter the number of frames the water
should loop along and there ya go:
perfectly looping water!
Duncan made a workaround that a nice guy at
a/w passed on to me:
(hope itīs ok to post it here)
"The speed of the various waves are not currently forced into integer relationships, so it is not directly possible to set the ocean shader such that it loops over time. This is often requested, however, so at some point we could perhaps add a loop toggle along with the number of frames. One can
use other methods to get looping over time, however.
I was able to get the following cross dissolve trick to work:
1. Create an ocean( or ocean shader). Make the numFrequencies and waveHeight both zero so that the ocean is totally flat( and more optimal to render ).
2. Map the oceanShader waveHeightOffset with an ocean texture..asProjection = ON and newTexturePlacement OFF. On the projection make the rotateX = 90.
3. Map the colorOffset of this texture with another ocean texture..
asProjection = OFF and newTexturePlacement = OFF
4. Animate the time values of the two ocean textures such that the start of one is the same as the end of the other:
In the time field on oceanTexture1 type:
= frame/30 (the time parameter generally expects seconds, not frames)
In the time field on oceanTexture2 type:
= (frame-200)/30
5. Keyframe the waveHeight on the two textures to do a cross dissolve:
oceanTexture1 frame 1 = desired height, frame 2 = 0
oceanTexture2 frame 1 = 0, frame 2 = desired height
The ocean animation should now loop across 200 frames. For it to work the two ocean textures must have identical values( appart from the wave height and time ). Note that with this method you cannot preview the displacement of the ocean using heightfield node(convert displacement to poly will work,
however). Also buoys and boats will not animate with wave height(texturing on the ocean shader is currently not taken into account for these effects)."
(duncan, youīre the best, cheers!)
NOW: maybe itīs because itīs late and my brainīs offline
(no dial-up connection possible, invalid password..)
or whyever, but I canīt get this to work.
With this method, the waves "jump" between frames 1 and 2, while without the trick they jump between 200 and 0 (during playback, of course).
guess itīs my fault, not Duncans.
anybody can tell me where my brain disconnected?
thanks
over
Did anybody try to loop the maya ocean shaderīs waves
over time?
Like say in areteīs DNT you can click loop
(just love those click-ploink solutions),
enter the number of frames the water
should loop along and there ya go:
perfectly looping water!
Duncan made a workaround that a nice guy at
a/w passed on to me:
(hope itīs ok to post it here)
"The speed of the various waves are not currently forced into integer relationships, so it is not directly possible to set the ocean shader such that it loops over time. This is often requested, however, so at some point we could perhaps add a loop toggle along with the number of frames. One can
use other methods to get looping over time, however.
I was able to get the following cross dissolve trick to work:
1. Create an ocean( or ocean shader). Make the numFrequencies and waveHeight both zero so that the ocean is totally flat( and more optimal to render ).
2. Map the oceanShader waveHeightOffset with an ocean texture..asProjection = ON and newTexturePlacement OFF. On the projection make the rotateX = 90.
3. Map the colorOffset of this texture with another ocean texture..
asProjection = OFF and newTexturePlacement = OFF
4. Animate the time values of the two ocean textures such that the start of one is the same as the end of the other:
In the time field on oceanTexture1 type:
= frame/30 (the time parameter generally expects seconds, not frames)
In the time field on oceanTexture2 type:
= (frame-200)/30
5. Keyframe the waveHeight on the two textures to do a cross dissolve:
oceanTexture1 frame 1 = desired height, frame 2 = 0
oceanTexture2 frame 1 = 0, frame 2 = desired height
The ocean animation should now loop across 200 frames. For it to work the two ocean textures must have identical values( appart from the wave height and time ). Note that with this method you cannot preview the displacement of the ocean using heightfield node(convert displacement to poly will work,
however). Also buoys and boats will not animate with wave height(texturing on the ocean shader is currently not taken into account for these effects)."
(duncan, youīre the best, cheers!)
NOW: maybe itīs because itīs late and my brainīs offline
(no dial-up connection possible, invalid password..)
or whyever, but I canīt get this to work.
With this method, the waves "jump" between frames 1 and 2, while without the trick they jump between 200 and 0 (during playback, of course).
guess itīs my fault, not Duncans.
anybody can tell me where my brain disconnected?
thanks
over
