Welcome to od|forum

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

konstantin magnus

Members
  • Content count

    241
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by konstantin magnus

  1. You could overlay to noises, one for the veins structure and one for their thickness. veins.hipnc
  2. Works for me. Did you right-click on the parameters name and say "copy parameter" and then go to the other ramps name and say "paste relative references"?
  3. Usually I would just copy-paste the nodes from a material network and reconnect their global inputs and outputs. As shaders work on pixels and not on points I don't think there is a direct way of exporting its calculations to points, but you could try baking out pixel maps and then import them with attribfrommap.
  4. Did you try a combination of table SOP and attribwrangle already?
  5. A simple shelf tool script could go like this: nodes = hou.selectedNodes() path = nodes[0].path() hou.ui.paneTabOfType(hou.paneTabType.SceneViewer).curViewport().setCamera(hou.node(path))
  6. Hi Jack, some really useful free tutorials on procedural modeling are: Kim Goossens series on Youtube and the ones on Gametutor.com http://www.gametutor.com/live/tutorials/houdini/
  7. +1 for using Blade Runner references !
  8. You can count all nodes on object level by a specific name using Python. # INPUT node = hou.node("/obj") search = hou.ui.readInput("Find OBJ nodes by name:", buttons=('Search',), title="Count nodes") name = str(search[-1]) # SEARCH obj_nodes = [] for child in node.children(): obj_nodes.extend([child.name()]) match = [x for x in obj_nodes if name in x] count = str(len(match)) # OUTPUT print(match, count) text = count + " nodes found named " + name + "." hou.ui.displayMessage(text, buttons=('OK',), title="Number of nodes")
  9. Hi Mike, if you want to keep the grid´s extent and only change it´s height, you should only change the Y component of your position vector. This can be done with setvectorcomponent (set to 2nd). Btw: I set the noise to 1D, so that the color information fits to the height deformation. However you can set it back to 3D without corrupting the geometry. ramp_and_noise2d.hipnc
  10. Hehe cool, makes me proud to see it´s of any use!
  11. coke.hipnc
  12. Hi Mike, here is what I meant by multiplying. ramp_and_noise2b.hipnc
  13. http://www.sidefx.com/docs/houdini/shade/nested#set-up-involved-shaders
  14. try multiply instead of add. Black is 0, if you multiply something by 0 it will stay 0.
  15. COPs themselves are not UV dependent, I think (though I wish they were in some cases). They are just two dimensional, as well. Shaders work on pixels, so my guess would be texture baking. http://www.sidefx.com/docs/houdini/nodes/out/baketexture
  16. Just copy your VOPs to COPs and display the textures in the background of your UV map by pressing 'D' in the UV view, go to background > UV, click on Disk File and switch to COP Image and choose your final COP node.
  17. When I add scatter after polyframe it still works in my file. Make sure to keep the * in point attributes, though.
  18. p@rot = quaternion(@Time, @N); The order of transformations: http://sidefx.com/docs/houdini/copy/instanceattrs rotate_instances.hipnc
  19. Use the "getattrib" node, set its input to "Second Input" and its attribute to "N". Feed its "adata" output e.g. to "v".
  20. You can also use the new boolean, eg. a sphere against vertically copied grids.
  21. I dont divide it in favor of small transitions. Just projected a spherical UV before the wrangle which keep these gradients towards the center of the cap. You can apply different displacement textures with a mix node along UVs inside your shader.
  22. Great look! You can also turn a sphere into a mushroom by ramping its vertical bounding box to the point positions: vector bbox = relbbox(0, @P); float shape = chramp('Shape', bbox.y); float width = chramp('Width', bbox.y); @P.y = shape; @P *= set(width, 1, width); That way an artist just needs 2 ramp parameter curves to create all sorts of mushroom shapes. It is quite versatile, I think.. In the end you can assign a displacement shader that adds all the necessary detail at render time.
  23. here is a tutorial on the changes: https://sidefx.com/tutorials/geometry-workflows/