13.07.2015 Views

Controlling Fluid Simulations with Custom Fields in Houdini Master ...

Controlling Fluid Simulations with Custom Fields in Houdini Master ...

Controlling Fluid Simulations with Custom Fields in Houdini Master ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

and create extra output variables that can be rendered to separate image planesfor greater control <strong>in</strong> a composit<strong>in</strong>g application. Another useful eld to haveas part of the simulation is the rest eld, which basically carries a set of uvcoord<strong>in</strong>ates that can be used to map textures to the uid.<strong>Fields</strong> can be given any name, but only certa<strong>in</strong> specic elds will be pickedup by the Mantra render eng<strong>in</strong>e, for example if the vel eld is detected andmotion blur for render<strong>in</strong>g is turned on, the <strong>in</strong>formation of the velocity eld willbe used to apply motion blur on a fast mov<strong>in</strong>g uid simulation.4.2.3 Rest eld <strong>in</strong>terpolationIn the preset smoke solver a s<strong>in</strong>gle rest eld is advected along <strong>with</strong> the otherelds. This rest eld is then used <strong>in</strong>side a volume shader to map various k<strong>in</strong>dof noise to the uids and <strong>in</strong>crease the detail of the smoke as is also described<strong>in</strong> [17]. When this rest eld is advected far away from the <strong>in</strong>itial position, thetextures will become distorted which can give undesirable results. In the newpyrosolver <strong>in</strong> Houd<strong>in</strong>i 10 a second rest eld (rest2) is <strong>in</strong>troduced to solve thisissue. The <strong>in</strong>itialization of both elds (rest and rest2) is staggered <strong>in</strong> time andthe pyro shader cont<strong>in</strong>ually <strong>in</strong>terpolates between them. For example if the resetvalue on the pyrosolver is set to 50, the rest eld will be re-<strong>in</strong>itialized every50 frames, start<strong>in</strong>g at the rst frame. The rest2 eld will also be re-<strong>in</strong>itializedevery 50 frames, but will start at frame 25 (half of the reset value). The pyroshader has a correspond<strong>in</strong>g Reset Rate parameter that should be set to thesame value. This will cause the shader to <strong>in</strong>terpolate between the two rest elds<strong>with</strong>out show<strong>in</strong>g any popp<strong>in</strong>g when the rest elds are re<strong>in</strong>itialized.r e s t : +−−−−−−−−−−−−−+−−−−−−−−−−−−−−−+−−−−−−−−−−−−−−− ( e t c )r e s t 2 : −−−−−−+−−−−−−−−−−−−−−−+−−−−−−−−−−−−−−−+−−−−−−− ( e t c )At each + <strong>in</strong> that graphic, the eld resets. The pyro shader then constantlycross-fades between the two elds, such that a given eld has full contributiononly at the reset frame [12].4.2.4 Volume eld viewport visualizationWith<strong>in</strong> DOPS there are dierent way to visualize the <strong>in</strong>formation stored <strong>in</strong>a eld. This visualization can greatly help to visually debug the values of aeld. To be able to enable this visualization for a specic eld, a Scalar/VectorField Visualization node needs to be attached to the data <strong>in</strong>put of a eld. Thisvisualization can consist of:• show<strong>in</strong>g the eld as smoke (useful for density),• as straight l<strong>in</strong>es depict<strong>in</strong>g both length and direction of the values of avector eld (generally useful for a static or dynamic velocity eld),• as streamers, which are curves depict<strong>in</strong>g the ow of a vector eld, (usefulfor view<strong>in</strong>g the <strong>in</strong>terpolation of the velocity between voxels)10

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!