Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 01/06/2019 in all areas

  1. it's pretty straightforward out of the box just use v@N, v@up or p@orient on your instancing points in such a way that resulting reference frame has Y pointing in up-down direction of your ocean (so in normal direction of the ball) and X in the direction you want wind to blow in in your file, since v@N is pointing outwards and v@N defines Z axis, your ocean deforms in a tangential direction and therefore you are seeing weird deformation here is the modified file ts_ocean_on_ball.hip
    3 points
  2. here's one way...I put the polyframe in there just in case...but wasn't even needed. vu_rectangular rod.hiplc
    2 points
  3. Thanks. Yes i can take a request for some tools if i like them. Actually, i have already made Meshmachine killer for houdini. I just need to test it in production.
    1 point
  4. That is a nice addition. Did you mean to reference the polywire geometry? In this revised file I chose the polywire geometry for the Object Merge instead of just the plain torus. I also added a bit of Motion Blur to the volume source and linked division size from the pyro to the division size of the FluidSource node. ap_fast_emitter_velocity.hipnc
    1 point
  5. Not sure how to do this but I need to randomly choose between multiple source objects in a copyTo point SOP. Imagine a Sphere with Scattered points on the surface. Now using a copyTo SOP imagine having to copy not just 1 object to these points, but randomly choose between multiple. ie For 3 objects instead of copying just a green colored grid, randomly choose either a red, green or blur grid for the copyTo operation.
    1 point
  6. Hello wizards! I have a question about point wrangle SOP. Is it possible create a matrix, and use that matrix in copy SOP as a transform ? In the file attached, i build all axis that i need for create a matrix, and rotate the copies with "roll_on_path" ramp parameter, but until now, no way. If someone have an idea... a big Thanks
    1 point
  7. you can find straight skeleton using PolyExpand SOP which will give you distance as well, then just construct circle from the furthest point it should work for both convex and concave n-gons, they will however be flattened to best fit plane ts_incircles.hipnc
    1 point
  8. That was an example of function usage. It rotates input around world's up using "Turn" parameter, where 1 does full revolution around axis. No need to set @P in your case. If you want to use roll attribute to control rotation instead, replace ch("turn") with @roll. There is no roll attribute defined on points in scene file, angle will be always zero for default ramp. Code you need now will be something like this: v@up = {0,1,0}; @N = normalize(@N); v@binormal = normalize(cross(@N, @up)); @up = normalize(cross(@binormal, @N)); matrix3 mat = set(@N, @up, @binormal); float angle = chramp("ramp", @roll) * radians(360); rotate(mat, angle, @N); @orient = quaternion(mat);
    1 point
  9. Rows order is is another quite painful issue outside matrix creation scope. This will also work: mat = set(normal, up, binormal); mat = set(normal.x, normal.y, normal.z, up.x, up.y, up.z, binormal.x, binormal.y, binormal.z); All set function signatures, obtained with vcc --list-context CVEX command: float set( float ) float set( int ) float set( vector4 ) float set( vector ) float set( float[] ) float[] set( matrix3 ) float[] set( matrix ) float[] set( float ) float[] set( vector4 ) float[] set( vector ) float[] set( float[] ) float[] set( int[] ) vector2 set( float ) vector2 set( float; float ) vector2 set( int ) vector2 set( vector4 ) vector2 set( vector2 ) vector2 set( vector ) vector2[] set( float[] ) vector2[] set( vector2[] ) vector set( float ) vector set( float; float; float ) vector set( int ) vector set( vector4 ) vector set( vector2 ) vector set( vector ) vector set( float[] ) vector[] set( matrix3 ) vector[] set( float[] ) vector[] set( vector[] ) vector4 set( float ) vector4 set( float; float; float; float ) vector4 set( int ) vector4 set( vector4 ) vector4 set( vector2 ) vector4 set( vector ) vector4 set( float[] ) vector4[] set( matrix ) vector4[] set( float[] ) vector4[] set( vector4[] ) matrix2 set( matrix2 ) matrix2 set( matrix3 ) matrix2 set( matrix ) matrix2 set( float ) matrix2 set( float; float; float; float ) matrix2 set( int ) matrix2 set( vector2; vector2 ) matrix2[] set( matrix2[] ) matrix2[] set( float[] ) matrix3 set( matrix2 ) matrix3 set( matrix3 ) matrix3 set( matrix ) matrix3 set( float ) matrix3 set( float; float; float; float; float; float; float; float; float ) matrix3 set( int ) matrix3 set( vector; vector; vector ) matrix3 set( float[] ) matrix3 set( vector[] ) matrix3[] set( matrix3[] ) matrix3[] set( float[] ) matrix set( matrix2 ) matrix set( matrix3 ) matrix set( matrix ) matrix set( float ) matrix set( float; float; float; float; float; float; float; float; float; float; float; float; float; float; float; float ) matrix set( int ) matrix set( vector4; vector4; vector4; vector4 ) matrix set( float[] ) matrix set( vector4[] ) matrix[] set( matrix[] ) matrix[] set( float[] ) int set( float ) int set( int ) int[] set( float[] ) int[] set( int[] ) string set( string ) string[] set( string[] ) bsdf set( bsdf ) bsdf[] set( bsdf[] )
    1 point
×
×
  • Create New...