🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Flow fields all having yaw, pitch and roll components?

Started by
7 comments, last by lucky6969b 6 years, 8 months ago


	float heading = noise->noise(xoff, yoff, zoff) * TWO_PI;
                
D3DXQUATERNION q;
D3DXQuaternionRotationYawPitchRoll(&q, heading, 0, 0);
	

For one single standalone field, where the perlin noise only produces a scalar, how do I feed them into a quaternion? I believe in 3D worlds, flow fields have all yaw, pitch and roll components...

Thanks

Jack

 

Advertisement

What are you trying to do?

 

What is the Perlin Noise used for in your implementation ??

Normally, a single Field simply holds a vector which is used as the direction to move in.

I've written a basic Flow Fields implementation for Unity a few weeks ago: 

 

I use it for particle animations.

For example, when the flowfields are used for driving a rainfall system. The raindrops should follow the flow fields, the fields may be the wind and gravity sum up together. They should be falling to the ground inclined with some axis angle.

You don't need yaw, pitch and roll for this, since you aren't dealing with rotations. You just need vectors. You can probably get good results for the rain by using gravity + prevalent wind + 4D Perlin noise (the 4th dimension is for variation with time). These are just vectors.

 

If the perlin noise function only produces a scalar value (a float), how can I change it to a vector? You can't have the scalar to define the whole vector?
Thanks
Jack

3 hours ago, lucky6969b said:

If the perlin noise function only produces a scalar value (a float), how can I change it to a vector? You can't have the scalar to define the whole vector?
Thanks
Jack

 

The most obvious thing to do is to use 3 noise functions, for x, y and z. Use three different seeds to generate them.

At least logically you would do that, but the code will be faster if you implement Perlin noise that produces vectors directly. If this second paragraph confuses you, ignore it and go with the first paragraph solution.

Yes, I grasp the right materials now.
I am going over them.
thanks
Jack

This topic is closed to new replies.

Advertisement