Jump to content
[[Template core/front/profile/profileHeader is throwing an error. This theme may be out of date. Run the support tool in the AdminCP to restore the default theme.]]

Community Reputation

1 Neutral

About shadowst17

  • Rank

Personal Information

  • Name
    John Doe
  1. Get the corner position of a diagonal line

    Fair point, if I provide a direction on both points is it possible. Basically i'm trying to create some sort of road system and I need to generate a curve that connects to another road but smoothly rather than directly.
  2. Hello, I imagine this is a super simple math issue and my brain has just turned to mush but how would I go about getting the corner/ intersection point of 2 points that are at an angle from each other. Please see the attached image for an example. Thanks
  3. Hey guys, I'm trying to setup a crowd ragdoll system and I have agents already playing clips prior to the DOP and was wondering if anyone knew of a way to pass through these agents so that they continue to play whatever clip they have while still being able to trigger ragdoll? My current dilemma is that the dop reassigns the clip data which isn't too big of an issue to adjust but if for example the clip has been modified in stream with agent edit or it transitions to another clip it will disregard these changes and continue to play the original clip that it assigned on frame 1. Ideally I'd rather it didn't assign any new clip and just ran off the current clip in whatever form it takes. SOLVED: Setting the attribute "@crowdanimated" to 1 fixed my issue immediately.
  4. Viewer States and onDraw indices

    Hello, I'm wondering if anyone has had any issues getting hou.GeometryDrawable objects to set the "indices" parameter onDraw when manipulating the attribute data on the geometry data it's referencing in Houdini 18.0. For example I have a curve tool i've made and you can select multiple CVs. I have a hou.GeometryDrawable that is linked to the points geo inside the node. I create a list of points I want to select and feed that into the onDraw function. def onDraw(self, kwargs): handle = kwargs['draw_handle'] self.anchor_selected.draw(handle, {"indices": self.selectedPnts}) This works but I also have a handle that I create to move said selected points and as soon as I move the handle all the points are drawn with the selection hou.GeometryDrawable as if it's disregarding the indices. I can go back to select individual points again after the handle is no longer moving. It's not specifically to do with position, any attribute on the geometry that is changed breaks the drawable too. I've tried manually drawing at the end of the onHandleToState or force recooking the node that the hou.GeometryDrawable is referencing but no luck. I don't know if this is a bug, an intentional limitation or possibly done to keep it optimized. I wish I could attach a file but it's work related. I guess I can just do it the way the example files have where you create the geo and points on the node and store them in a dictionary then iterate over them. Feels like it would be a more inefficient way to do it but I guess going the route I have with this problem probably one of the reasons not to do it this way.
  5. Hello so I've been doing a lot of stuff with viewer states as of late in Houdini 18.0 and I was wondering if it was possible to grab the snapped position that is done when snapping is enabled? The docs only mention grabbing the point or prim with snappingRay() or ray intersecting geo only when the geometry is supplied prior to it but I want to grab the position that for example the Multi-Snapping tool ray intersects when using Primitive already and to any geometry that is already visible in the scene viewer. Something similar to the curve tool
  6. Hi guys so i've been using viewer states in Houdini 17.5 and they're great but I was wondering if there is a way to have the OTL not install the viewer states depending on context. My current predicament is when a job is sent to Tractor the node errors out the job(even if it's not being used). My guess this is due to tractor using hython? Where there is no interface but the OTL is still trying to install and getting the "Not available in this context" error. SOLVED: Solution was to make the viewer state check if there was a ui using hou.isUIAvailable() before installing.
  7. Hi, I'm trying to make my scene viewer pane maximize just before flipbooking. Annoyingly no matter what I do the very first frame doesn't maximize(Rest of them are). Any ideas if there's a work around for this? Thanks SOLVED: Was able to figure it out by my self. For anyone also having this issue. I set the frame one before the start frame then maximized it then ran the flipbook. My guess this forces the flipbook to update the viewer as I guess it doesn't update it if you already have the bar on the initial frame.
  8. Hi, I was wondering if it's possible to create a button on a node that will allow you to select geometry in the view port from a specific group select attribute
  9. hey guys, I have a pyQT window that is parented to the main Houdini Window but every time I reopen the scene it's opens the PyQT window again. class Manager(QtWidgets.QDialog): def __init__(self, parent=None): super(Manager, self).__init__(parent) self.setWindowTitle('Manager') self.setFixedSize(700, 450) dialog = Manager() dialog.setParent(hou.ui.mainQtWindow(), QtCore.Qt.Window) dialog.show() According to the docs I need to unparent it in the close event which I have done but it still seems to open. What am I missing? def closeEvent(self, event): self.setParent(None) self.close()
  10. Hi Guys, i've just moved up from 16.5 to 17.5.360 and i've noticed that the python command for selecting geometry from a viewer no longer seems to work with agents. Is this a bug or have they created a new command for them?
  11. Hey guys, I was wondering if anyone new of a simple way to run a function when I select a different node? I've currently got a little UI with pyQt and I've gotten to it to update using the ChildSelectionChanged node callbackEvent but that is only for specific networks. The only thing I can come up with is I have the script check for new sub networks everytime it runs and creates new callbacks for them. Surely there is a more efficient less dirty way to do this? Doing it the dirty way this is what i'm using when running the script, updating it per change on selection and when calling the close event: Only works with networks one down from obj but I imagine if I made this find all sub children it will have a performance impact? def callBacks(self, enable): nodes = hou.node('/obj/').children() for node in nodes: if enable: if len(node.eventCallbacks()) == 0: node.addEventCallback((hou.nodeEventType.ChildSelectionChanged,), self.updateUI) else: node.removeAllEventCallbacks()
  12. Probably an odd question but due to how my works pipeline is a lot of assets tend to be broken with the default conversion done for Houdini(usually the camera) and requires a manual export of certain assets from Maya. I'd like to be able to press a button on my shelf in Houdini that will run Maya standalone and run a python script in said Maya.
  13. Wouldn't that still have the same issue as i can only group by volume by points which wouldn't be visible inside the volume and is why I needs it to look for the primitive?
  14. Hi Guys, i'm trying to optimise my viewport by removing any environment geo outside the cameras frustum. My current method has been to create the cameras cone of view and have it take all the points, promote them to prims with maximum value set. This works well in most cases but with geometry that has a low poly count already where there's not a single point from that primitive visible in the camera but spans the entire camera width I need a method that detects the primitives rather than the point.a Any suggestions would be greatly appreciated.
  15. (SOLVED) Import nodes from file using Python

    Ah yes sorry! Don't know what I was thinking. Thank you for your help!