In this tutorial Moeen will be going through how to create a Doctor Strange-style portal effect in Houdini. It's VEX heavy and can be a lot to take in but we're trying to make it easier for everyone by going through it over at our blog post. We'll try to keep our next tutorial a little less VEX intense for anybody who is trying to avoid VEX like the plague. But, for now, we'll get you thinking with portals.

The music used in the intro: Charles the First (ft.Clozee) - The Mist

For more in-depth explanation: https://www.ninebetween.com/single-post/DoctorStrangePortalTutorialHoudini

VEX documentation: http://www.sidefx.com/docs/houdini/vex/functions/index.html

CREATED BY

• niczoom 5 years, 7 months ago  |

Thanks for the tutorial. I found the VEX very informative and have picked up some helpful tips! Spoken well, nice and clear.

• MarceloSousa 5 years, 7 months ago  |

I reaky like this videos, they help very much!
But... I can't reder the shader, the render seems like a particles default shader....

• absorbentghost 5 years, 6 months ago  |

Can we get the scene files to go along these?

• forrestvfx 4 years, 11 months ago  |

Great tutorial!

• luscho2005 4 years, 8 months ago  |

dont get it alt ´+ E right

• luscho2005 4 years, 8 months ago  |

float xdir = sin(@time*3)/2;
float ydir = cos(@Time*3)/2;
vector direction = set(xdir,ydir,0);
float r = fit01(rand(@ptnum*@Frame),0.1,0,5);
@N+=cross(@N,direction)*r;

did I something wrong?

• luscho2005 4 years, 8 months ago  |

is there anithing wrong cannt find something but mine Portal is looking wear after this

float timer = 2*@Time-@curveu;
@brightness=chramp('timing_ramp',timer);
@N=fit01(@brightness, 0.4, 0.6);

whole expression
float flare = fit01(abs(sin(@Time)),0.5,1);
@N *= flare;

float xdir = sin(@time*3)/2;
float ydir = cos(@Time*3)/2;
vector direction = set(xdir,ydir,0);
float r = fit01(rand(@ptnum*@Frame),0.1,0.5);
@N+=cross(@N,direction)*r;

float timer = 2*@Time-@curveu;
@brightness=chramp('timing_ramp',timer);
@N=fit01(@brightness, 0.4, 0.6);

• Moeen 4 years, 8 months ago  |

Hi Luscho,

The issue is likely due to:

float xdir = sin(@time*3)/2;

VEX is case sensitive so you need to ensure that @time is @Time.
Try this and see if it helps:

float xdir = sin(@Time*3)/2;

Hope that helps :)

• Yann Nicolas 2 years, 11 months ago  |

Hi, this link isn't avalaible anymore:

https://www.ninebetween.com/single-post/DoctorStrangePortalTutorialHoudini

Where can we find the more in-depth explanation you mention?
BTW, your Houly Challenge serie is phenomenal!