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.


  • Content count

  • Joined

  • Last visited

  • Days Won


Community Reputation

330 Excellent

About f1480187

  • Rank

Personal Information

  • Name F1

Recent Profile Visitors

1,828 profile views
  1. You still need to use Quaternion to Angle/Axis node after that. In result, you will get the axis multiplied by angle (in radians). Compute length to extract the angle. Normalize it (or divide it by length, same thing) to compute the axis. Alternatively, you can get axis by crossing vectors and normalizing the result and you can get angle by computing arccosine of dot product between vectors. quat_to_aavec.hipnc
  2. @HainesAJ, artifacts is still there. Try to add a bit of contrast using bottom bar of Render View: Fuse node recomputes affected points's normals by default. That results in slightly randomized normal directions from irregular topology in places where the new normals was computed. Extruding by such normals will output side surface non-perpendicular to light direction, reducing most of the artifacts. That's an equivalent of adding a bit of inset to extrude: The difference is that the bumped surface will face the light and be lit, sunken surface will backface the light and be shaded. Randomized surface will be lit and shaded randomly.
  3. It's a shading error caused by light direction trying to be perfectly perpendicular to surface. Add a bit of inset for your extrude node or move light/geometry by a small distance from origin or try spherical light.
  4. Actual geometry has offset of P attribute. You can add Transform SOP, move geometry to origin and then move back to it's previous place on object-level by hand. If you need to turn offset into exact object-level transform values, use Extract Transform node. Let's assume the original object is called orig1: Copy-paste orig1 and call it copy1. Place Transform SOP inside orig1. Set translate to -$CEX, -$CEY + 0.5 * $SIZEY, -$CEZ to center geometry at origin. Go up to scene level and create Extract Transform OBJ. Set orig1 as Source and copy1 as Destination. Make Extract Transform parent of the orig1. Enable Keep Position When Parenting checkbox on the orig1. Unparent orig1 from Extract Transform to get transform values. Disable checkbox from step 7. Delete copy1 and Extract Transform nodes. Now you have orig1 matching it's previous offset with obj-level transform.
  5. hou.node('/obj/dopnet1') Yes, that function returns hou.Node instance required by the function body. If the node doesn't exist at this location, it will evaluate to None.
  6. On Windows I can remove "%HOME%\houdiniX.X\" folder (for example: "C:\Users\TheUser\Documents\houdini16.0\"). For Mac, I guess, logic is same. Here it's written as "~/Library/Preferences/houdini/X.X/", and exact directory is probably "~/Library/Preferences/houdini/16.0/".
  7. //Reload it and print it out again attribute = attrib(0, "primitive", "attribute1", 50); It will fetch attribute value from first input (original geometry) again. You need to store values in variables.
  8. 1. If you make a shelf tool containing Python script, try to change the last line to something like this: set_opencl(hou.selectedNodes()[0], True) It will try to set parm called "opencl" to True for selected node's children recursively. 2. If you don't need shelf tool and want to use this script in one scene, open Windows > Python Source Editor, paste only function into it and accept. It will store this script into hip and will run it every time you open the scene. All functions and variables defined there will be added to the hou.session module. When you want to use the function, open Windows > Python Shell and execute any of this: >>> hou.session.set_opencl(hou.node('/obj/dopnet1'), True) >>> hou.session.set_opencl(hou.node('/obj/dopnet1'), False) Arrows indicate Python Shell input, do not include them. Obviously, you need to provide correct path to target dopnet node. Easiest way is to erase first argument and drag&drop target node from Network View right here. It will paste hou.node('path_to_node') expression. 3. To add anything to hou.session module, make a new attribute within hou.session: def foo(s): print(s) hou.session.printer = foo After that, you can use it from any python field inside current Houdini session: hou.session.printer('bar') If you didn't add new attribute, it will output error telling you that hou.session module has no such attribute. Here is example made in Python Shell: >>> hou.session.foo = 123 >>> hou.session.foo 123 >>> hou.session.bar Traceback (most recent call last): File "<console>", line 1, in <module> AttributeError: 'module' object has no attribute 'bar'
  9. @dpap, try Facet SOP with Remove Inline Points checked or Refine SOP set up to Unrefine. Then adjust tolerance values. Both work same most of the time.
  10. PolyBevel works just fine for me, when placed after Fuse and by using seam group from Boolean. Though it can be simplified a bit: lamp_bevel.hipnc Your main geometry is reversed. Open Display Options (D key in viewport) > go to Optimize tab > inside Culling group box > turn Remove Backfaces on. You will see that it's facing inside. It will subtract solid geometry in a wrong way, assuming that all world is inside the model.
  11. I'm not sure what's going on there. Post scene example with the problem.
  12. You are trying to bevel border edge. It does not work in Houdini. Not an error, just a warning. If you specified bevel distance, but there is no bevel, it may indicate split edge loop between surface and cutouts. Turning point numbers on or adding Point Jitter or Smooth nodes usually helps to spot such problems with geometry. To weld surfaces, use Fuse node.
  13. Here is lazy procedural approach. Slice by planes into rows, resample cross-sections by approximate brick length and turn pscales on. Copy bricks to points and finally make use of new boolean. Shatter mode will give you mortar, I used another method, to allow later remeshing. Try to randomize cross-sections a bit, so, it won't resample into almost same curves (brickwork won't look lame). bricker.hipnc
  14. Houdini uses gwavefront program to convert objes. It located at $HFS/bin/gwavefront.exe on my machine. You can check it by running Command Line Tools installed with Houdini and typing gwavefront: it should print usage help. Does other geometry formats work?
  15. Your file works fine on my machine. Such kind of errors happens when there is no file exist at this path. Try place file into C:/simplesquare.obj for the test.