So far, everything works fine expect one thing: the cloud itself, the arrangement of the particles that make up the cloud. I am looking for an algorithm that creates clouds out of particles. Does anyone know about that?
You could generate the clouds as perlin noise, sample it on some regular grid and create particles where the noise function exceeds some isovalue. You can also vary the particle size, opacity etc. according to the noise function.
Originally posted by JanHH:
[b]I Guess i just didn’t know the word as I am from germany. Of course i know weisses rauschen etc. But the url seems great, thanks .
Jan[/b]
Perlin noise is not the same as white noise. It’s a type of noise generated in a very special way. This is done to ensure that it has certain properties, most importantly the ‘bumps’ in the noise all have roughly the same size. This is very important for compositing.
Though perlin noise is more or less random, it has a specific frequency. You can then compose multiple ‘octaves’ of perlin noise to achieve a desired spectrum. This is actually very similar to audio processing.
im working in a modelling technique that uses fluid dynamics to create the cloud.
my problem is solving the navier-stokes equations. this is a phisically based approch, but the results are good, and there is no need for artistic input. look in harris’s new paper, he has some information about the process. there are also a few siggraph papers about it.
PS. if anyone here has done that, i would really appriciate some help
Of course you have to modify the pure noise function to make it look like clouds. Try multiplying it with some function like
f(x, y, z)=clamp(1-y^2)
to limit the clouds to a certain height. Then set any value below 0.3 (for example) to 0. And so on, I think you get the idea.
in fact I found out that my noise function seems to be wrong and that that’s what the problem is (at the moment). So I’m still optimistic… I think the idea of perlin noise is still the right one for this case.
Then I fill each grid cell with a random value (which is in fact three random values, one one-dimensional perlin noise function for each dimension, multiplied with each other).
This random number in each grid cell, multiplied by a constant factor (for example, 10) gives the number of particles that later are randomly distributed in the space this grid cell makes up (given a space width for each grid cell).
So I do, and it looks like crap, although I think the idea is OK. Any Ideas?
yes i did. but could not really find a solution, altough I guess I have to look a little further there.
The task itself is pretty simple: you have a space with an x-, y- and z-width, and you have n particles. place the particles inside of the space so if you render the whole thing, it looks like a cloud.
arghh… is it possible that this is so difficult, or am I just so stupid?
You should look further, i seem to remember a paper on vterrain’s page, based on a voxel of cloud particles, which i implemented successfully and gave very nice results. After that i rendered the cloud with billboards, and if the cloud is too far away, impostors. That’s pretty much the standard technique in flight simulators (like FS2002) nowadays.
yes and that’s exactly what I am doing. I would be extremely happy if I could read that paper, but haven’t found this one yet there. could you tell me the url?