I’m glad it is working OK for you now. I’m pretty sure I understand your original problem now. The interpolation between fluid caches is different than say interpolating position of a moving object. We simply interpolate the grid values, which is similar to doing a cross dissolve. It might be possible to do a more advanced interpolation by partially propagating density values using the grid velocities, but this would be much more complex to implement and would make cached playback slow.
When slowing down fluid caches one sometimes gets pulsing effects for a couple of reasons.
- A cross dissolve between two frames generally has lower contrast than the frames being interpolated. (especially if the flow is moving quickly)
- The interpolation is done to the raw grid values, not the final shaded values. There is usually a non-linear relationship between the grid values( density, temperature) and the shaded values (opacity, incandescence). Thus the interpolated frame might end up looking much closer to one of the frames being interpolated rather than a 50/50 blend.
There is an outstanding bug on the second issue. We could potentially compute the opacity for each voxel, interpolate that, then figure out what density would be require to produce the interpolated opacity. However this would tend to slow cached playback and is difficult to implement in the current caching architecture( which does not know about fluid shading).
A workaround is to simply slow the simulation down( for example by changing the frame rate ) and cache the full slower solution. However this can change the nature of the resulting solution.
Duncan






