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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Figure 12: Premultiplication problems: The image on the left shows the attribute<strong>in</strong> grey and the density of the metaball <strong>in</strong> white.The image on the rightshows the correct premultiplied values.is shown <strong>in</strong> Figure (13), the artifacts are not that visible <strong>in</strong> a still frame but willcause jitter<strong>in</strong>g dur<strong>in</strong>g animation.At this po<strong>in</strong>t the values are simply added together, which works well fordensity, but not so well for velocity or color. For example <strong>in</strong> the case of particlesbe<strong>in</strong>g emitted from a s<strong>in</strong>gle po<strong>in</strong>t <strong>in</strong> space and then spread<strong>in</strong>g out from thatpo<strong>in</strong>t over time, what would happen is the density would be accumulated andlook good, but because of the dense number of particles at that s<strong>in</strong>gle po<strong>in</strong>t, thevelocity eld would grow extremely large and when this entire result<strong>in</strong>g volumeis then rendered by mantra <strong>with</strong> motion blur turned on, huge streaks are createddue to the high velocity accumulation.So more control was needed to dene the k<strong>in</strong>d of mathematical calculationthat takes place. Therefore an averag<strong>in</strong>g operation and a switch is added, so theuser can choose whether to accumulate the values or to average them. This is nottrivial and this choice should be provided to the user. A temperature eld for<strong>in</strong>stance might require either accumulation or averag<strong>in</strong>g, both could work andwill give dierent results. The presets try to alleviate this issue for some of thepopular attributes based upon what works better for those attributes <strong>in</strong> mostscenarios so the user does not need to worry too much about this. However ifthe accumulation of velocity attribute were required, the user can set the presetto other and dene v as the attribute, vector as the type and add as theblend operation as the other preset allows any custom attribute to be used.Because the copy sop <strong>in</strong>side of the asset transfers the template po<strong>in</strong>t attributes,the special attribute pscale can be used. When a pscale attribute isdened on the template po<strong>in</strong>ts, the metaballs will be scaled based on the pscalevalue. This tends to give good results, however when the pscale goes to zero,jitter<strong>in</strong>g <strong>in</strong> the volume might occur if the po<strong>in</strong>ts are mov<strong>in</strong>g. It would be as ifthe small metaball would only occasionally be picked up by a voxel when it is <strong>in</strong>close enough proximity. A better way of deal<strong>in</strong>g <strong>with</strong> this problem is by us<strong>in</strong>gthe weight attribute <strong>in</strong>stead of the pscale. This will not modify the radius, butwill <strong>in</strong>stead result <strong>in</strong> more of a fad<strong>in</strong>g eect. The best results can be achievedwhen both are used together.23

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

Saved successfully!

Ooh no, something went wrong!