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

33 Excellent

About MrScienceOfficer

  • Rank

Personal Information

  • Name Tom

Recent Profile Visitors

2,803 profile views
  1. import toolutils scene_viewer = toolutils.sceneViewer() viewport_settings = scene_viewer.curViewport().settings() toggle = not viewport_settings.guideEnabled( hou.viewportGuide.NodeGuides ) viewport_settings.enableGuide( hou.viewportGuide.NodeGuides, toggle ) This should work.
  2. I would recommend "Game Engine Architecture" by Jason Gregory isbn: 978-1466560017 There's only a like a single chapter directly related to math, but it goes over every major concept, vectors, quaternions, matrices. It's very well done, and it's not focused on proofs like most math books ( like we weren't going to believe them ). It's by far the best book I've read for learning how to work with 3D graphics applications, it goes over all the underlying concepts of computer graphics which is extremely useful for understanding and working with Houdini.
  3. -DMAKING_DSO isn't written out when you call "hcustom --clflags". The plugin won't load without that defined.
  4. Has anyone manged to get H16 to compile through the MSVC IDE. I can get it to compile using the sdl- flag(disabling security development life cycle something like that), but Houdini wont load the plug in. It throws the "UT_DSOVersion missing" error on startup. I'm just compiling the star sop sample, which does compile with hcustom. There must be some default flag MSVC sets the project by default that Houdini doesn't like, but I can't figure it out. Thanks
  5. Send SESI that file, if you haven't already. That's really messed up.
  6. uvunwrap(@OpInput1,u, v, time, pos, nml) That should solve it, you should file a bug report for that. I'm pretty using @OpInput1 has been depreciated.
  7. Inspired work, well executed. Very cool.
  8. Funny, I was thinking much the same thing. I really want some nicely printed books of the documentation, one for the high level stuff and a reference books for all the nodes, VEX etc.. I would pay good money for that. There's so much information in the docs and it's simple impossible to read through it all when it's a tree of links, we really need it linearized, with pretty color pictures and a hard cover Though I would bet there's s some program out there that could convert the local documentation folders to a PDF... Apparently Adobe Acrobat can convert HTML to PDF.
  9. The sample for python wrappers is in the HOM folder. ../toolkit/samples/HOM/ObjNode_setSelectable.C It's very well commented and should walk you through the process. Any type prefixed with "PY_Py" is (in most cases) a wrapper to the CPython API. So if you need to look up documentation you need to remove the "PY_" and look up the type here https://docs.python.org/2/c-api/
  10. I've never seen anything. If you need to call into C++ on time change events outside of a node, it's probably best to just create a python wrapper into your plug in.
  11. # Get the selected nodes in a list nodes = hou.selectedNodes() # Loop over the selected nodes list for node in nodes : node.parm("px").setExpression("$CEX") node.parm("py").setExpression("$CEY") node.parm("pz").setExpression("$CEZ") In the second sample you were trying to index ( i[0] ) a node. Whereas, in the first code example, you were indexing the node list ( sel[0] ). A good way to learn python is printing things out for example, print type(i) would have told you that 'i' was an ObjNode and not a Parm like in the first example.
  12. That's beyond cool... Thank you so much for sharing, petz.
  13. That's a chapter from the book https://www.amazon.com/Multithreading-Visual-Effects-Martin-Watt/dp/1482243563 It's written Jeff Lait the Senior Mathematician at SESI. It's a good book, it's definitely worth reading... and it is definitely still relevant, a lot of it is the theory behind how Houdini works and how multi threading works in Houdini and the challenges thereof. However will it really help you with VEX? Probably not.
  14. So you need to remove all the points from the point group except for one? I can't run Houdini on my laptop but I would say off hand the easiest way to do that would be something like this in a point wrangle if (@ptnum % NumberOfPointsOnARing > 0) i@group_topedges = 0; That should isolate the first point on the ring. Basically this uses the modulo operator to find the point number that divides without a remainder into the number of points in the ring. Under most circumstances it should work, however a sort sop for example would break it.
  15. Drag and Drop nodes onto shelf tools, to call the tool with that node in the kwargs dict.