Airplane swirls

   733   4   0
User Avatar
Member
14 posts
Joined: Nov. 2022
Online
Hey everyone,

do you have a tip on how to create those airplane swirls as seen in the screenshot? Or maybe a link to a file or tutorial?

Thanks!

Attachments:
swirls.JPG (103.5 KB)

User Avatar
Member
2537 posts
Joined: June 2008
Offline
This is kind of old but there is some information here:
https://forums.odforce.net/topic/28509-how-to-simulate-helicopter-field/#comment-162029 [forums.odforce.net]
Using Houdini Indie 20.0
Windows 11 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Member
34 posts
Joined: Dec. 2020
Offline
what your after are called Wake vortices they are bigger when the plane is slow and heavy
you could make a spiral size it accordingly and stretch it out. carve the spiral to nothing and (un-carve it by frame and rotate when animating). then sweep a circle along it scale it by point number / curve length. optional mountain sop, and convert to a vdb fog or pyro sim or scatter points inside the tube for fog cards
///////////////////////////////////////////////////
(spiral)

float angle;
vector pos = {0,0,0};
int npoints = chi('number_of_points');
float step = radians(ch('sweep'))/npoints;

for (int n=0; n<npoints; n++) {
angle = step * n; // Or: angle += step;

pos.x = cos(angle);
pos.y = angle/10 ;
pos.z = sin(angle);

addpoint(0, pos);
}
//////////////////////////////////////////////////////////////////////////
(spiral grow)
float angle;
vector pos = {0,0,0};
int npoints = chi('number_of_points');
float step = radians(ch('sweep'))/npoints;

for (int n=0; n<npoints; n++) {
angle = step * n;

pos.x = sin(angle) * angle;
pos.y = angle;
pos.z = cos(angle) * angle;

addpoint(0, pos);
}
/////////////////////////////////////////////////////////////////////////////
Edited by Getyamamout - Jan. 18, 2024 17:28:58
User Avatar
Member
37 posts
Joined: Feb. 2017
Offline
Wake Wash Turbulence tutorial using Axiom:

https://www.youtube.com/watch?v=V4hwPsmALJI [www.youtube.com]
User Avatar
Member
117 posts
Joined: Aug. 2017
Offline
Make v from this.. on your object just make 2 point of that airplane that represent wings left right feed these with two compute velocity (first only preserve original and second one compute velocity, then add point and use this.
int prim;
vector primuv;
float dist = xyzdist(1, @P, prim, primuv);
vector pos_p = primuv(1, "P", prim, primuv);
vector pos_v = primuv(1, "v", prim, primuv);
float class = primuv(1, "class", prim, primuv);


vector indir = normalize(pos_p - @P);
vector vortexdir = normalize(cross(indir, normalize(pos_v)));

	if(class == 1 ) vortexdir=-vortexdir;

float inspeed = exp(-dist * ch("dacale"));
vector winddir = normalize(lerp(vortexdir, indir, inspeed));
float length = fit(length(pos_v), 0, 1, 0, 1);

v@v = winddir * length ;
v@v = lerp(v@v, set(0, 0, 0), fit(dist, 0, chf("dist_max"), 0, 1));
Edited by cncverkstad - Jan. 19, 2024 10:05:45

Attachments:
Dv5fdf.gif (2.2 MB)

Conservation of Momentum
  • Quick Links