Macha Posted September 12, 2011 Share Posted September 12, 2011 I'm thinking about good ways to make an age field for volume sims. Temperature doesn't work well and nor does heat. I'm hoping to find a way to track age through a smoke or fire sim. One of the ideas I have is by advecting a particle sim and transferring the life attributes back. It would be so great to have age fields. And so useful! Quote Link to comment Share on other sites More sharing options...
anim Posted September 12, 2011 Share Posted September 12, 2011 not tested but maybe you can create scalar field Age default to 0 and at each timestep do: source value 0 from your sources to Age field advect Age field by velocity add small value (timestep) to whole Age field masked by Density Quote Link to comment Share on other sites More sharing options...
bunker Posted September 12, 2011 Share Posted September 12, 2011 (edited) you can use a scalar field: initial : age = 0 age = age + source age = age * (1-aging_rate) you get values from 1 to 0 Edited September 12, 2011 by bunker Quote Link to comment Share on other sites More sharing options...
Macha Posted September 13, 2011 Author Share Posted September 13, 2011 Hm, good idea Bunker, but doesn't that do the reverse? If I try this, say with a pyroball, then the center of the sim becomes denser. But that is the youngest part, where the smoke emerges. The smoke gets older as it travels, so I would expect the age field to increase there. Quote Link to comment Share on other sites More sharing options...
Macha Posted September 14, 2011 Author Share Posted September 14, 2011 (edited) Seems like if I make an age field that progressively adds temperature and density (if < lowvalue), and advect it, then I get a sort-ish age field. Edited September 14, 2011 by Macha Quote Link to comment Share on other sites More sharing options...
bunker Posted September 14, 2011 Share Posted September 14, 2011 yes it looks like it's the reverse (actually complement), but you can do a lot with that, and that's the most accurate and logical way I found - there is only age where there is density. since the age values are normalized, you can use (1-age) anywhere (eg: a gasfield vop). What are you actually doing with the age ? is it for shading purpose ? Quote Link to comment Share on other sites More sharing options...
Benyee Posted October 16, 2011 Share Posted October 16, 2011 It would be hard to achieve in voxel based sim process as the properties carried by the voxels rather than carried by individual entities like that in classic particle sim. Quote Link to comment Share on other sites More sharing options...
Klockworks Posted October 16, 2011 Share Posted October 16, 2011 Why not does something along the way a rest field is handled? Without the reinitialization of course. Where density is emitted you get a value of 0, and have the rest of the field be -1. At each timestep you could add a value to it and then advect it by the vel field. I would think using 100% of the vel to advect would give you a pretty accurate age track of the density as it moves. You will probably get some odd things happening where your density does not move entirely outside of emission. Though I think particles would work as well. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.