Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
A simple and easy snow storm creator. Done for having a easy way of adding snow to multiple scenes keeping the same aspect, look and dynamic having very different scene types and sizes and different FOVs cameras.
Parameters; (added as attributes to the main selector)
Amount; cuantity of flakes
Turbulence; magnitude of the main field
Flake size; no secrets in this one.
Global Scale; scale of the effect, aproximately, the amount of centimeters per maya unit. It´s connected to all other attributes.
Down Speed; I didn´t used gravity (gravity is set to 0 in the nucleus) as snow flakes usually have terminal velocity as they enter in the scene, this is the valor of the speed the flakes are emitted. Gravity may be added through the snow nucleus or by putting negative magnitude to the alongAxis attribute to the Axis field.
1-Execute the script in a clean scene with no dynamics as it will interfere with other nucleus nodes. Check the nparticles are set to cloud.
2-Resize and place the Snowflake curve to completely cover the scene, rotation doesn´t work yet, no snow will get out the box formed by the axisField "alive" (a expresion kills them when acceleration is 0)
3- The snowStorm curve has the attributes to tweak the parameters, set them to fit the dynamic feel you want.
4- Add collision objects and any other field needed. (lateral wind may be added in the nucleus node).
5- Create ncache.
6- Render in Mental ray.
7- Resize and place for other shot, the behaviour of the flakes will be the same. The SnowStorm selector may be animated in size and traslation to add snow or kill the snow as the camera moves though the scene.
A fluid fx is used for shading, you may tweak the aspect of the flakes by selecting the fluidsnowFlake and tweaking the builtin texture.
Lots of cleanup.
Fix the interference with other nucleus in the scene.
Look for a solution to nparticles needed to be as clouds.
Add rotation, at least in Y axis.
UI window for setting initial parameters.
Investigate shading for Arnold, Vray and Renderman.