 # Librarian

Members

1,383

95

## Everything posted by Librarian

1. Problem!!!???? if someone have time to explain ProbUnfold.hiplc
2. ## How to Grow Ice & Break Pieces off in Wind as Feedback Loop?

v[]@pos; for (int i = 0; i < chi("BAckstep");i++) { insert(v[]@pos,0,@P); } //solver attCOpy vector p1 = point(1,"P",@ptnum); pop(v[]@pos); insert(v[]@pos,0,p1); float speed = length(@v); float dir = dot(normalize(@N),normalize(@v)); f@speedBack = fit(speed,chf("minspeed"),chf("maxspeed"),0,1); @speedback = chramp ("speedRemap",@speedBack); f@dirBack = fit(dir,-1,1,0,1); @dirBack = chramp("normalRemap",@dirBack); float MIXER = f@speedBack; MIXER = lerp(MIXER, 0, 1-f@dirBack); MIXER = MIXER * (chi("Backstep")-1); @P = lerp(v[]@pos[int(MIXER)],v@pos[int(MIXER)+1],frac(MIXER));
3. @quentin
4. ## Procedural Design: Render Decal With Arnold or Redshift?

Nice futuristic BH ..Please check ->Game Development Tips and Tricks | Luiz Kruel | GDC 2018 for decals and you have tutorials for Arnold on Forum Autodesk You have files on Ftp by Sidefx ..Japan https://www.sidefx.com/tutorials/sci-fi-crate-generator/ Have Fun.
5. /* 1. Create normal for input points. 2. Cross product of N and a tangent "z-vector", rotate this by X degrees. Z-vector points in inclination dir. 3. Create a new point by pushing it along the generated direction for dist_factor. 4. Move the new point to the surface and connect to the previous point. 5. Create attributes. 6. Repeat. */ float dist_factor = ch("dist_factor"); float rotation_degrees = ch("degrees"); float per_step_rotation = ch("per_step_rot"); int steps = chi("steps"); float pc_radius = ch("pc_radius"); int diagonal = chi("diagonal"); vector find_z_vec(vector pos; float pcrad; int diagonal) { int handle = pcopen(1, "P", pos, pcrad, 1); if (pciterate(handle)) { int found_pt; vector found_pos; pcimport(handle, "point.number", found_pt); pcimport(handle, "P", found_pos); int neighbors[] = neighbours(1, found_pt); int n_neighbor_arr[]; int cross_neighbors[]; vector max_y_pos = set(0, -1000, 0); foreach (int n_pt; neighbors){ vector n_pos = point(1, "P", n_pt); if (n_pos.y > max_y_pos.y) { max_y_pos = n_pos; } if (diagonal){ int a_neighbors[] = neighbours(1, n_pt); foreach(int a_pt; a_neighbors){ append(n_neighbor_arr, a_pt); } } } // Activating diagonal also checks the diagonal neighbors for a maximum y value if (diagonal) { foreach(int m_index; int m_pt; n_neighbor_arr){ foreach(int k_index; int k_pt; n_neighbor_arr){ if (k_index > m_index && m_pt == k_pt && m_pt != found_pt){ append(cross_neighbors, m_pt); } } } foreach(int cross_pt; cross_neighbors){ vector n_pos = point(1, "P", cross_pt); if (n_pos.y > max_y_pos.y){ max_y_pos = n_pos; } } } pcclose(handle); return normalize(found_pos - max_y_pos); } else { return set(0, 0, 0); } } int old_pt, new_pt = @ptnum, prim; vector curr_normal = @N; vector curr_pos = @P; for (int i = 0; i < steps; ++i){ // find the tangent vector zvec = find_z_vec(curr_pos, pc_radius, diagonal); if (length(zvec) == 0.0) //no max value found => no point on the surface found break; // basic translation of the point vector pre_rot_vec = cross(curr_normal, zvec); vector4 quat = quaternion(radians(rotation_degrees + per_step_rotation * i), curr_normal); vector rotated = normalize(qrotate(quat, pre_rot_vec)); curr_pos = curr_pos + dist_factor * rotated; // this pushes the point to the surface vector gradient = volumegradient(2, 0, curr_pos); float sample = volumesample(2, 0, curr_pos); curr_pos += normalize(-gradient) * sample; curr_normal = normalize(-gradient); old_pt = new_pt; new_pt = addpoint(geoself(), curr_pos); // set attributes and create a spline, grad attribute is used for the color ramp setpointattrib(geoself(), "N", new_pt, curr_normal, "set"); setpointattrib(geoself(), "grad", new_pt, i / (float) steps, "set"); prim = addprim(geoself(), "polyline"); addvertex(geoself(), prim, old_pt); addvertex(geoself(), prim, new_pt); }
6. @nijhun Just search on GitHub "Baku89 Houdini NOPS" he posted wonderful things(otls) Have Fun .
7. have Fun PointCloud2017.hipnc
8. ## I want the point to snap to the grid lines...

• 3 replies
• 1
• 9. just open those OTL'S C:/Program Files/Side Effects Software/Houdini 18.5.351/houdini/help/examples/nodes/dop/constraintnetwork/
• 3 replies
• 2
• 10. ## Reaction Diffision OpenCL - Missing F and K Parameters

@yasinesin You have if you search "all-ready in- Open cl formulas* in this forum + try using this also. Have Fun OI @yasinesin maybe its reverse in U and V its working here
11. @gnarlog ...or...Post that scene Please. I have this code Old, just use on that saved points on Mantra In-line Code . \$out = 0;//npoints(\$input); int size = npoints(\$input); int samples = 800; vector pos[]; resize(pos, size); float cdf[]; for (int i=0; i<npoints(\$input); i++) { vector Lpos = ptransform("space:world", "space:camera", point(\$input,"P",i)); pos[i] = Lpos; cdf[i] = 1/distance2(P,Lpos) * max(0 ,dot(normalize(N), normalize(Lpos-P))) + cdf[i-1]; } int getI(float cdf[]; float r) { int i = 0; r*=cdf[-1]; while(r<cdf[i]) i++; return i; } for (int i=0;i<samples;i++){ int id = int(nrandom("qstrat")*size); vector Lpos = pos[id]; \$out += vector(point(\$input,"Cd",id))/distance2(P,Lpos) * max(0, dot(normalize(N), normalize(Lpos-P))); } \$out /= samples;
12. Ola Peoples! I'm just gonna post my adventure regarding and learning more about organic form and modeling. Have fun , and I hope that someone can help with tips and other Trix in Vex or just enjoying this Topic. Starting model, it's Lily - L-system. Reading ON GROWTH AND FORM BY D’ARCY WENTWORTH THOMPSON Cambridge: at the University Press 1917. This is not for professionally CG artists only for Hobbyist-sss
13. ## how to create specific shape from smoke

14. You have wonderful ex and otl's in that Topic Uv-shapes(any shape to Uv proj )investigate ..Have FUn https://github.com/Fe-Elf/FeELib-for-Houdini
15. @torwart tricks to investigate .Have Fun vellumP.hiplc
16. @CESTAINSI Try this File ..and just Fine adjust . Have FUn byline.hiplc
17. @r_itoh Have Fun ----I like CHOPS Method ----. If you search on YouTube you have Procedural Mrkovka-(Carrot Slicing) endless possibility with chops Method.
• 1
• 18. ///1 points wrangle float r = rand(@ptnum * chf("randseed")); i@group_sources = r > 0.85; -------------------------------------- /////2 wrangle //group sources int nears[] = nearpoints(0, @P, chf("maxdist")); foreach (int pt; nears) { setpointgroup(0, "nears", pt, 1); }
19. newton's law and try to use this it works function float Kernel(vector r ; float h){ float q = length(r); q /= h; float factor = 1.0f / (PI * h * h * h ); if( q>0 && q<=1){ float right = 1.0f - 1.5f * (q * q) * (1.0f - q/ 2.0f) ; return factor * right; } if(q >1 && q <=2 ) { float left = factor / 4.0f; float right = pow(2.0f - q , 3); return left*right; } if(q>2) { return 0; } return 0; } function vector GradKernel(vector r; float h){ float q = length(r); q /= h; vector dir = normalize(r); float factor = 1.0f / (PI * h * h * h ); vector retgrad = set(0,0,0); if( q<=1){ retgrad = dir * (factor / h) * (-3.0 * q + 2.25f * q*q); } if( q<2){ retgrad = dir * (-0.75f * (factor / h) * pow((2.0f - q),2) ); } return retgrad; } float h = chf("h"); @P.y = Kernel(@P, h); @N = GradKernel(@P, h); NewtonsLaw.hiplc
• 4 replies
• 3
• • 20. it can be useful Fun05.hiplc
21. Only sharing files and links for peoples that want to learn ..including mine self Here its snippets(File) useful for Tricks and Links for Video Tut INC ...WITH FILE. https://vimeo.com/454127040 https://vimeo.com/207724703 https://vimeo.com/305429043 uiHud.hiplc
• 31 replies
• 7
• • • (and 1 more)

Tagged with:

22. @supaLuca hm I think they basically using fragment (Zoom slow-Mo ) of this ...Just find shader redshift or mantra @konstantin magnus posted method somewhere . B.hiplc
23. Did you check on Qiita ..you have same file and examples or its just VAT 3 Bug or something?
24. part of something that just having Fun on The Sun . Nice example there you have .. "post final prim count " ...on that mesh ..Just wonder
×
• Donations