Mirroring multiple objects (cloner, matrix, arrange, copy to points) in Houdini




Mirroring multiple objects (cloner, matrix, arrange, copy to points)

add source object which will be copied:

add tube node (cone) rotate: 90 0 0 radius: 0 0.5 add match size node (to align bottom of objects) justify Z: min

add some points to copy object too:

add sphere node primitive type: polygon mesh rows: 3 coloumns: 6 (circle wouldn't work, it needs to be a 3d object, like sphere or tube to get outside pointing normals) add normal node add normals to: points

lots of points, distributed on surface

add scatter node for random points which have normals (continue with randomize stuff)

using specific points

add add node (or extract all points node) check delete geometry but keep points add blast node remove top most and bottom most point (so there is only a middle row of points, check if normals point outside) add copy to points node and feed tube and points (uncheck transform using target point orientations to align all in same direction)

randomize orientation (up):

(rotating sideways while still being aligned with normal direction) add attribute randomize node (after scatter node) attribute name: up

randomize orientation (tilt):

(rotating freely with partial alignment to normal direction) add transform node (after blast node) attributes: N then rotate in viewport to slightly change orientation add attribute randomize node (after transform node) Attribute Name: N Operation: Add value Distribution: Direction or Orientation Cone Angle: 50 Direction Attribute: N (uncheck cone angle for more random look)

randomize scale/color:

add attribute randomize node Attribute Name: pscale (for size) or Cd (for color) scale (for height) (find more in help under instancing point attributes)

distribution based on noise (to create moss)

(add sphere) add normal node add normals to: points add scatter node add attribute vop and go inside add bind export node name: pscale (and move it to end of network, will be last node) add unified noise static node connect P (of vopglobal) to pos and noise to input (of bind) frequency: adjust... fractal type: standard roughness: adjust... (to visualize, just use another sphere and attribVOP and connect the noise to Cd of output, use fit node to adjust, see output on copy to points node!)

randomize color (to create tiles)

add attribute vop node (under grid) run over: primitives (go inside the node) add a random node connect P (of vopglobal) to pos uncheck clamp position to integer add a color mix node connect rand (of random node) to bias connect clr to Cd (of vopoutput) set primary color to blue set secondary color to white (add multiply constant node before random node) (set a value to generate a different seed) add unified noise static node connect P (of vopglobal) to pos and noise to bias (of colormix) frequency: adjust... fractal type: standard roughness: adjust... (for nicer patterns than those of random node but less contrasty)

randomize roation

(under first scatter node or attribute vop) add scatter and align node (feed into second input!!) mode: add attributes to existing point cloud rotation around normal -> min angle / max angle

for sideways rotation:

while keeping orientation of normal: see randomize orientation (up)

multiple versions, variations of geometry with copy to points

creating the geometry

(after adding 5 versions of some test geo ) add merge node add connectivity node attribute: variant

copy to points

add sphere node (source object for points to copy to) add normal node add normals to: +points add scatter node add attribute from pieces node first input: attribute randomize node (points) second input: feed the connectitity node here piece attribute: variant mode: random add copy to points node feed geo and points piece attribute: variant (see Falling Leaves for animating this)

src

https://www.sidefx.com/docs/houdini/nodes/sop/copytopoints https://www.cgforge.com/blog/copy-to-pnts-0239751



Tags: ,
Veröffentlicht: 09.2022