Members

64

1,566

Members

38

2,538

Members

28

493

Members

27

3,195

## Popular Content

Showing most liked content since 03/10/2020 in all areas

1. 6 points

## Erode / Rock tool I'm building

Hey guys, here's an update for the first Rock Pack that I'm building. I ran into a little bit of technical difficulties and I was fine tuning the look to get something coherent and realistic. Here's the result so far :
2. 5 points

## Crazy Hexagons

Another confinement consequence inspired by Hai le tutorial and some hypnotics works of @Librarian. Put your headphones for an immersive transcendental experience The file if you want to play with FancyTimeWithHexagon_F H16.hipnc
3. 5 points

## 10 expert tips for better Houdini FLIP fluid simulations

http://www.cgchannel.com/2020/03/10-expert-tips-for-better-houdini-flip-fluid-simulations/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+cgchannel%2FnHpU+(CG+Channel+-+Entertainment+Production+Art)
4. 5 points

5. 5 points

## STAY HOME AND KEEP LEARNING HOUDINI!

would you throw in a coupla these if ppl order within the next 19 minutes ?
6. 4 points

## Procedural Robots

Hey guys, Wanted to share a setup I made generate procedural robots, here are some renders: Will post some more tomorrow, drops automatic geo from one shape and obj model as silohuette Cheers!
7. 4 points

## Fuel Based Rocket Launch

I made an attempt at "upresing" this fuel based rocket launch. Treating the original file as the a low resolution simulation does allow me to enable OpenCL. The uprezed version is on the right. A 500,000 voxel low res source drives a 4,000,000 voxel upres. ap_upres_smoke_pyro_setup_032520.hiplc
8. 4 points

## Houdini Tutorial Procedural Japanese Castle in Unreal Engine 4

CREATING PROCEDURAL JAPANESE CASTLE Hi, In this tutorial you will learn how to create a procedural Japanese castle generation tool in Houdini 18. How to automatically generate interior and exterior using point instance. The method allows to add portions that can interact with the player (e.g., opening the doors). Provides the ability to speed up the creation of content for games. The tool can be reused in different projects with different types of stylization, because we will use prefabricated props. *Free Demo version: https://gumroad.com/rart#YcpjX *Full version Gumroad: https://gumroad.com/rart#iPTrw *ArtStation Marketplace: https://www.artstation.com/raducius/store Video Presentation WHAT'S INSIDE? 27 Video Chapters (12 hours of tutorial) Houdini 18 Project File Unreal Engine 4.24 Project File + all assets PDF Documentation (54 pages). HDA Asset INTRODUCTION Chapter_1_[1]Project_Setup - 2 min. Chapter_1_[2]Creating_Custom_Nodes - 9 min. Chapter_1_[3]Size_Controls - 15 min. Chapter_2_[1]Creating_Wall&Corners - 40 min. Chapter_2_[2]Creating_ExteriorCeiling&Floor - 44 min. Chapter_2_[3]Creating_Stairs&Ceiling - 38 min. Chapter_2_[4]Creating_InteriorWalls&Doors - 47 min. Chapter_2_[5]Procedural_Tatami_Layout_Generation - 42 min. Chapter_2_[6]Unreal_Engine_Test - 12 min. Chapter_3_[1]Creating_Exterior_Wals&Corners - 31 min. Chapter_3_[2]Creating_Stairs&Ceiling - 25 min. Chapter_3_[3]Creating_Interior_Walls&Doors - 28 min. Chapter_3_[4]Creating_Tatami_Layout - 25 min. Chapter_3_[5]Unreal_Engine_Test - 7 min. Chapter_4_[1]Creating_Interior_Walls - 21 min. Chapter_4_[2]Creating_Exterior_Walls - 24 min. Chapter_4_[3]Unreal_Engine_Test - 5 min. Chapter_5_[1]Creating_Interior_Bridge - 42 min. Chapter_5_[2]Creating_Stairs&Floor - 19 min. Chapter_5_[3]Creating_Exterior_Walls - 27 min. Chapter_5_[4]Creating_Balcony_Structure - 45 min. Chapter_5_[5]Unreal_Engine_Test - 10 min. Chapter_6_[1]Creating_Sides_Floor - 16 min. Chapter_6_[2]Creating_Stairs_Zone - 38 min. Chapter_6_[3]Creating_Ceiling - 22 min. Chapter_6_[4]Creating_Corners - 14 min. Chapter_6_[5]Completion_HDA_Asset - 80 min. TOOLS Houdini 18 Unreal Engine 4.24 MINIMUM REQUIREMENTS Beginner-Intermediate Houdini Knowledge *Free Demo version: https://gumroad.com/rart#YcpjX *Full version Gumroad: https://gumroad.com/rart#iPTrw *ArtStation Marketplace: https://www.artstation.com/raducius/store Thank you!
9. 3 points

## Vellum approach to splashing water droplets

create justborn group from replicate to know which points were born at any frame then just copy your prepared vellum sphere to only those points and unlock Vellum Solver to set Emission Type to Continuous on vellumsource1 od_vellum_splash_mod.hip
10. 3 points

## target pops to orientation and position

If you want to simply revert to the original orientation without applying forces, you can do this post-sim by blending your original orient before the sim (save the starting orientation of your particles to a vector4 attribute) and then interpolating that orientation with the current orientation: p@orient = slerp(p@orig_orient, p@orient, bias) where bias is a value from 0-1. If you want to apply this as a force via a POP Wrangle, you'd have to figure out the amount of spin necessary to rotate from your current orientation to the goal orientation. You could then assign that to v@torque, or using wind-like spin forces via v@targetw and f@spinresist. The math for this gets a bit... complicated. First, you want to compute the delta between your current orientation and the goal orientation. You can do this by multiplying your goal orientation by the inverse of the original orientation: vector4 delta_orient = qmultiply(goal_orient, qinvert(p@orient)); However, in order to avoid a situation where the delta is computed as being a greater than 180-degree difference due to the nature of quaternion rotations, which would cause wild flipping behavior, you'd need to compute the dot product of your goal and current orientations and negate one of the quaternions if this is the case: vector4 current_orient = p@orient; if(dot(goal_orient, current_orient) < 0) { current_orient = -current_orient; } vector4 delta_orient = qmultiply(goal_orient, qinvert(current_orient)); Now you can convert this quaternion to an axis/angle representation of a quaternion, which is how the v@torque and v@targetw attributes work: v@torque = qconvert(delta_orient) * chf("spin_force"); The "spin_force" channel would modulate the amount of torque you're applying so the parts don't oscillate too much around their goal orientation. If you want the particles to ignore their mass attribute when doing this, just multiply v@torque by f@mass.
11. 3 points

Fun
12. 3 points

## Abstract -Colors-Copy

or just: @P.y=rint(@P.y*10)/10;
13. 3 points

## trying a subway tunnel

Hi, this should probably work aswell: create a straight tunnel (along x-Axis for example) use a path derformer on the straight tunnel (to deform onto a curve) tunnel.hipnc
14. 3 points

Mainroad Post started posting some classes online. For now there are only 3, it's in russian but it's easily followable and very very very interesting; it deals mainly with vops and maths, and how you can construct patterns using maths functions such as sins, noise, etc.... Very intructive.. https://www.youtube.com/watch?v=rzjXRvgo7YA 1/7 https://www.youtube.com/watch?v=2SSCN3WBne4&t=4591s 2/7 https://www.youtube.com/watch?v=LF4ZUchXU6Q 3/7 And i assume the following will be released soon as they started posting a week ago. Cheers,
15. 3 points

## Make Curve In VEX

Hi @tagosaku, you can shift points by sampling positions from their respective curves with a channel ramp: float u = vertexprimindex(0, i@vtxnum) / float(primvertexcount(0, i@primnum) - 1); v@P = primuv(0, 'P', i@primnum, chramp('shift', u)); curve_density.hipnc
16. 3 points

## Hair simulation grass helicopter landing

here you are: - if you're not into crop circles...then simply disable plasticity in vellumhair - dive inside vellum solver, I've added the popaxisforce which gives you torus shape, I haven't played with it too much, it's there for you to experiment with just enable it, prolly wise to disable the popfan. (chuck my HDA into C:\Program Files\Side Effects Software\Houdini 18.0.xxx\houdini\otls) vu_HeloWind.hiplc
17. 3 points

## Make Curve In VEX

please take a look at the attached file. it´s an example how you could create bezier curves with arbitrary degree and another one relying on beziers in hermite form since you wrote about blending curves... petz curves_vex.hipnc
18. 2 points

## Carve Line by UV Attribute (not parametric uvs)

No one's asked for this (as far as I'm aware) but I thought I'd share anyway. Its a real basic method of carving a poly line base off of a uv attribute INSTEAD of using parametric uvs. This has the nice advantage of 1) allowing for all lines to grow at the same speed and 2) allowing for super easy adjustments, offsets and what not just by modifying the attribute. I wanted to share because I couldn't really find a simple way of doing this. All the other methods demanded parametric uvs. Not sure if I've missed something super obvious but wanted to share anyway. Hopefully there's something in here that'll help someone. carve_by_uv_attribute.hipnc
19. 2 points

## Boat explosion

Hey guys, Here's a new project I'm working on as I have some free time. The boat is a free model from cadnav. The main rbd sim with instanced debris is there : https://streamable.com/pcayf I used the new rbd deform pieces for the mesh (which is pretty useful) and I'm looking to add some noise and more details to the edges later. I've made the explosions (but infortunately I have only 119 frames because it crashed, I may resimulate the explosions 1 by 1 instead of the 4 in a row) : https://streamable.com/sjcje I've also made a quick low res render to see how the ocean and the explosions behaved all together with a lil bit of comp (to match my background) : https://streamable.com/1sduw Now I need to add sparks, smoke trails, and flip white water, and maybe additionnal splashes, refine the ocean.. Cheers and happy confinement !
20. 2 points

## Hex Walker Lone Rearranger

Luiz breaking out...
21. 2 points

## Procedural Robots

Some more procedural duderinos:
22. 2 points

## Procedural Robots

thanks guys! appreciate it @flcc @6ril @momposina I spoke about the setup here:
23. 2 points

## copy to points - variant issue

if you want to be safer and also to avoid increasing seed by increments of 1 just offseting the same random number to the next point you can use 2 dimensional rand(float, float) i@variant=int(fit01(rand(@ptnum,chf("seed")),0,3));
24. 2 points

## Stick points to growing geometry

Since your target geometry has a changing point/prim count, you'll probably want to handle the points-sticking behavior as a solver, preferably inside the same solver that's handling the growth. You can use minpos() in VEX to compute the nearest point on the growing surface to each existing point and stick that way, or if you need to stick orientations as well, use xyzdist() to get the nearest primitive and primitive UV on the growing surface to each point, then use primuv() to sample P, N and up from the growing surface, move each point to the sampled P, then set N and up for each point based on the sampled values.
25. 2 points

## FLIP: Viscous fluid sticky to mesh. HELP

Can you try this scene, You collsin geo was setup incorect, no velocity, or vdb for collision. flip_Sticktest_v002.hip
26. 2 points

## Erode / Rock tool I'm building

Some tweaking of placement and light
27. 2 points

## Vines reacting to collider / force

sigh....here and on SESI...there must be a cult that just wants to oooooooooooooooooovercomplicate their scenes to the point that it breaks. whatever happened to keeping thing simple ? vu_vines.hiplc
28. 2 points

## [Solved] Flatten a sphere to a grid

hello again laddies, I highly recommend traveling thru wormholes...from the bottom end !!! vu_SphereUnfolds_toGrid.hipnc
29. 2 points

## Volume Brain

could not resist a simple softbody drop.
30. 2 points

## [Solved] Flatten a sphere to a grid

excuse me while i channel Stephen Hawking for a sec: The Singularity at the bottom will make your proposal an impossibility. Therefore, you must create your own event horizon by clipping the singularity to facilitate the opening of a wormhole Allow me to demonstrate, please scrub timeline and you'll see my theory in action The remaining task now is to simply merge with a grid. Which for an intellectual giant like me considers a task for the plebs. Good day, Cheerio. vu_SphereUnfolds.hipnc
31. 2 points

## Corona Fever

I can't wait until people don't have masks on their face; some people I couldn't understood before the mask, now it's worse.
32. 2 points

## [solved] getting a smooth connection between curve and geometry

Threw something together quick, might get you started dv_smoothcurve.hipnc
33. 2 points

## Automatically remove interior from double-sided geometry

Hehe .... try this.... description is in scene ..... sensitivity is keyed for every input geometry because they are very distinctive but it works properly on all geos you provided. keep_outer_side_examples_djiki.hipnc cheers
34. 2 points

## Erode / Rock tool I'm building

Two more renders: same rocks, different layout and lighting/shading. Almost ready to release Rock Pack 01
35. 2 points

## Forest Fire

Forest Fire entirely done using Houdini and Rendering in Arnold.
36. 2 points

## Storing and reevaluating point positions

Freeze frame and use point wrangle with first input actual points second - freeze one. int pt = findattribval(1, 'point', 'id', @id); vector pos = point(1,'P',pt); if(@P!=pos) do what you need your points should have id attribute
37. 2 points

38. 2 points

## Rotate clumps?

Hi José, you can twist curves around other curves by rotating lots of copied cone lines using noise on a rotate VOP. Then transfer those twisted curves to the position and orientation along other curves based on transformation matrices from the orient along curves-node. float u = 1.0 - vector(relbbox(0, v@P)).z; int copy = prim(0, 'copynum', i@primnum); matrix trans = primuv(1, 'transform', copy, u); v@P.z = 0.0; v@P *= trans; twist_around_curves.hipnc
39. 2 points

## use alcohol as disinfection against COVID-19

after work just relax
40. 2 points

## use alcohol as disinfection against COVID-19

I know as a fact, that soap is better in dealing with viruses, but obviously doeas't deal well with quarantine.
41. 2 points

## Procedural Neighbourhood Generation

Hello everyone, I created a digital asset that outputs a neighbourhood with buildings and vegetation, based only on a masterplan drawing. It is divided in three modules, one to create the masterplan geometry, one to create the buildings and one for the vegetation scattering. It allows for alot of controls on the vegetation and on the buildings to create different variations. Here is also a test of the asset inside Unreal, using the Houdini Engine: Cheers!
42. 2 points

## On Growth and Form

Make GrotesKt St Arch ..Have fun ArchiFunGRoty.hipnc
43. 2 points

## How can I apply patterns, to the volumes using volume VOP?

It's working and it's easy. What do you dislike, using uvs or using noises ? or another reason ? Volume_Pattern_01 F.hip
44. 2 points

45. 2 points

## On Growth and Form

More fun 13.lesson. projectione.h /*! \fn vector2 one_sphere(vector2 z; float r) \brief Project \f$z \in C\f$ to \f$S^1\f$. Project \f$z \in C\f$ to \f$S^1\f$ with radius \f$r\f$. \param z the direction in \f$C\f$ to project to \f$S^1\f$ \param r the radius of \f$S^1\f$ \return the point \f$z \frac{r}{\mid z \mid}\f$ */ vector2 one_sphere(vector2 z; float r) { return z / length(z) * r; } /*! \fn vector two_sphere(vector z; float r) \brief Project \f$z \in R^3\f$ to \f$S^2\f$. Project \f$z \in R^3\f$ to \f$S^2\f$ with radius \f$r\f$. \param z the direction in \f$R^3\f$ to project to \f$S^2\f$ \param r the radius of \f$S^2\f$ \return the point \f$z \frac{r}{\mid z \mid}\f$ */ vector two_sphere(vector z; float r) { return z / length(z) * r; } /*! \fn vector2 stereo2(vector c) \brief Stereographic projection from \f$S^2\f$. Stereographic projection from \f$S^2\f$ into \f$C\f$. \param c the vector in \f$S^2\f$ to project into \f$C\f$, , must not be \f$(0, 0, 1)\top\f$ \return the stereographic projection to \f$C\f$ */ vector2 stereo2(vector c) { float x = c.x; float y = c.y; float z = c.z; return set(x, y) / (1-z); } /*! \fn vector stereo3(vector4 c) \brief Stereographic projection from \f$S^3\f$. Stereographic projection from \f$S^3\f$ into \f$R^3\f$. \param c the vector in \f$S^3\f$ to project into \f$R^3\f$, must not be \f$(0, 0, 0, 1)\top\f$ \return the stereographic projection to \f$R^3\f$ */ vector stereo3(vector4 c) { float x = c.x; float y = c.y; float z = c.z; float w = c.w; return set(x, y, z) / (1-w); } /*! \fn vector4 stereo3_inv(vector c) \brief Inverse of the stereographic projection from \f$S^3\f$. Inverse from \f$R^3\f$ into \f$S^3\f$ of the stereographic projection. \param c the vector in \f$R^3\f$ to reproject into \f$S^3\f$. \return the projection into \f$S^3\f$ */ vector4 stereo3_inv(vector c) { float x = c.x; float y = c.y; float z = c.z; return set(2*x, 2*y, 2*z, length2(c)-1) / (length2(c)+1); } vector stereo3_e4(vector4 c) { return set(c.x, c.y, c.z) / (1.-c.w); } vector stereo3_e4_inv(vector c) { return set(2*c.x, 2*c.y, 2*c.z, length2(c)-1) / (length2(c)+1.); } /*! \fn vector sphere_inversion(vector z; vector center; float scale) \brief Sphere inversion Perform a Möbius tranformation to project every point inside the the unit sphere in \f$R^3\f$ to outside and vice versa. \param z the original vector in \f$R^3\f$ \param center the center of the sphere \param scale the radius of the sphere \return the inverted vector */ vector sphere_inversion(vector z; vector center; float scale) { // Compute translation, then transform in the origin and retranslate vector translation = set(center.x, center.y, center.z); vector transformed = z - translation; return transformed / length2(transformed) * pow(scale, 2) + translation; } complex.h *! \fn vector2 cmul(vector2 z; vector2 w) \brief Multiply two complex numbers Multiply two arbitrary complex numbers. \param z first factor \param w second factor \return \f$z \cdot w\f$ */ vector2 cmul(vector2 z; vector2 w) { float x = z.x; float y = z.y; float u = w.u; float v = w.v; float real = x*u - y*v; float imaginary = x*v + y*u; return set(real, imaginary); } /*! \fn vector2 cdiv(vector2 w; vector2 z) \brief Divide one complex number by another complex number Divide one arbitrary complex number by another non-zero complex number. \param w divident \param z divison \return \f$\frac{w}{z}\f$ */ vector2 cdiv(vector2 w; vector2 z) { float x = z.x; float y = z.y; float u = w.u; float v = w.v; float divisor = pow(x, 2) + pow(y, 2); float real = (u*x + v*y) / divisor; float imaginary = (v*x - u*y) / divisor; return set(real, imaginary); } /*! \fn vector2 cpow(vector2 z; int n) \brief Compute the \f$n\f$-th power of a complex number Compute the \f$n\f$-th power of a complex number, for \f$n \in N\f$. \param z the complex number \param n the exponent \return \f$z^n\f$ */ vector2 cpow(vector2 z; int n) { float x = z.x; float y = z.y; float r = length(z); float phi = atan2(y, x); return pow(r, n) * set(cos(n*phi), sin(n*phi)); } /*! \fn float real(vector2 z) \brief Give the real part of a complex number Give the real part of a complex number represented by the first component of a two element vector. \param z the complex number \return the real part \f$a\f$ of \f$z = a + ib\f$ */ float real(vector2 z) { return z.x; } /*! \fn float img(vector2 z) \brief Give the imaginary part of a complex number Give the imaginary part of a complex number represented by the second component of a two element vector. \param z the complex number \return the imaginary part \f$b\f$ of \f$z = a + ib\f$ */ float img(vector2 z) { return z.y; } /*! \fn vector2 e_to_the_is(float s) \brief Give a point on the one-sphere. Give a point on the one-sphere parameterized by \f$s\f$ in the parametric form. \param s the real parameter \return the point \f$(\cos s, \sin s) \subset C\f$ */ vector2 e_to_the_is(float s) { return set(cos(s), sin(s)); } vector4 f; p@f; float n = chi("n"); float k = chi("k"); int j = @ptnum; float cosine = cos(($PI*j) / (2.*n)); float sine = sin(($PI*j) / (2.*n)); vector2 cosine_exp = cosine * e_to_the_is($PI -$PI/(k+1)); vector2 exp_neg = e_to_the_is(- $PI/4); vector2 exp_pos = e_to_the_is($PI/4); vector2 sine_exp_neg = sine * exp_neg; vector2 sine_exp_pos = sine * exp_pos; float j_mod_4n = j % (4*n); if( j_mod_4n < n ) { f.x = cosine; f.y = 0; f.z = real(sine_exp_neg); f.w = img(sine_exp_neg); } else { if( j_mod_4n < 2 * n ) { f.x = real(cosine_exp); f.y = img(cosine_exp); f.z = real(sine_exp_neg); f.w = img(sine_exp_neg); } else { if( j_mod_4n < 3 * n ) { f.x = real(cosine_exp); f.y = img(cosine_exp); f.z = real(sine_exp_pos); f.w = img(sine_exp_pos); } else { if( j_mod_4n < 4 * n ) { f.x = real(cosine); f.y = 0; f.z = real(sine_exp_pos); f.w = img(sine_exp_pos); } else { f.x = cosine; f.y = 0; f.z = real(sine_exp_pos); f.w = img(sine_exp_pos); } } } } p@f = f;
46. 2 points

## Houdini 19 Wishlist

Haven't seen 18 yet so don't know if the code editor was improved, but if not, this still is my ABSOLUTE NR. 1 wish. if(code_editor_improved != true) { Code editing in Houdini Wrangles is - well - crap. It's a total shame we don't even see command parameter lists when typing since even in value fields typing expressions does it and has autocomplete for paths etc. Even only bringing that ability to the VEX editor would be very helpful. Of course it would also make a lot of sense to have other settings and helpers in there, like auto-closing brackets, more clever cursor positioning, offering existing variables and attributes when typing etc. - the Houdini devs should know ALL about that, they probably spend their life in real code editors... The use of external editors could be improved a lot if a.) we wouldn't have to press ALT+E twice for the external editor and wouldn't have to get to the floating editor first each time and b.) if that connection would be "live" like for instance the Pinegrow Web Editor does it with a little plugin for Code and Atom, where you can type in either the internal or external editor and they update each other in realtime. The current system is too clumsy and the 3rd party implementations also aren't really there (no negativity towards the authors intended at all!). Make it native! Make it goooooooood! } else { All is well. Nothing to see here. :-) } Cheers, Tom
47. 2 points

48. 2 points

49. 2 points