Total conversion times of at least 40 minutes per frame was not acceptable, especially considering I would be working with even larger grids for production use. This operation caused execute times to approach 20 minutes again. I reworked the Python to utilize 3D Arrays, so that I might query them differently to account for swapping Y and Z. However, these RIB files did not account for 3D Studio's Z-Up system. After switching to arrays and writing directly from the arrays, I was able to drop the execute time of the Python script from around 25 minutes to 30 seconds. Initially the Python segment was very slow as I was generating the giant strings to write to the RIB file. Next, I used Python to convert these text files into RenderMan RIBs. The runtime for the full MaxScript code was up to 20 minutes for my 19 MegaVoxel grid - an obvious concern. FumeFX data is likewise a voxelized grid, and can be accessed and exported via MaxScript commands inside of 3DS Max.Īfter running the simulation, the MaxScript function PostLoad is activated through a checkbox and the sequence is played back and written to disk as ascii text files. The data values from the voxel grid can be treated as primvars inside the surface shader, and this feature is the primary benefit of volume primitives for shading FumeFX data. Additionally, these volumes are shaded with surface shaders as opposed to the more complicated and slow raymarching approaches of VPVolumes. Volumes in RenderMan can now be handled with RiVolumes, or a voxelized primitive that can have arbitrary data at each voxel point. If time allows, I will incorporate this project with my RenderMan II shader and implement indirect illumination of the smoke and the environment. I will also build a shader based on the physical properties of fire but retains art-directibility. In the RenderMan II class, I have experimented with volume primitives and plan to build scripts to convert FumeFX data to a RIB Archive sequence for use in RenderMan. A lot of time was wasted animating lights to approximate the contribution of the fire to the lighting of the environment, as well as just dialing in the shading parameters as the defaults were terrible. The volumes could only be rendered with the software renderer, and later mental ray support was buggy to say the least (admittedly V-Ray shading was supported from the first release, though I never had access to V-Ray). A major limitation with FumeFX was the shading. In the past, I did a fair bit of FX simulation with FumeFX in 3D Studio Max. FumeFX is a fluid simulation plugin to 3D Studio Max, useful for smoke and fire effects.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |