Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by younglegend

  1. Un-hide Nodes

    Hey guys! Sharing a simple tool to reveal hidden/deprecated houdini nodes, incase you need them or just miss them. It's free, hope you find it useful. cheers! Use with caution, some nodes might make your scene unstable! https://gitlab.com/kishenpj/unhide_nodes
  2. Un-hide Nodes

    Can you proivde the error message? I have provided installation instruction at the bottom of the linked page.
  3. Drag and drop QtWidget data to a parameter

    In that case, the only choice i have is to make my widget in python panel. Well that's a bummer. Thanks Alex!
  4. As the title suggests, how do you drag and drop Qt data on to a parameter? I was able to use this example as reference. But in my case the i couldn't make the drop event register. The code i have now kinda works, but the dropped text is wierd. What's the right way to do this....could use some help! I'm attaching an example code. from PySide2.QtWidgets import * from PySide2.QtCore import * from PySide2.QtGui import * import hou class TreeWidget(QTreeView): def __init__(self): super(TreeWidget, self).__init__() self.setDragEnabled(True) # def dragEnterEvent(self, event): # print "dragEnterEvent" # event.acceptProposedAction() def mouseMoveEvent(self, event): print "MoveEvent" mimeData = QMimeData() data = (self.selectedIndexes()[0]).data() mimeData.setText(data) drag = QDrag(self) drag.setMimeData(mimeData) drag.exec_(Qt.CopyAction | Qt.MoveAction, Qt.CopyAction) # def dropEvent(self, event): # print "dropEvent" # mime_data = event.mimeData() class Example(QWidget): def __init__(self): super(Example, self).__init__() self.build_ui() def build_ui(self): self.setGeometry(300, 300, 150, 250) self.setParent(hou.qt.mainWindow(), Qt.Window) mainlayout = QVBoxLayout() self.setLayout(mainlayout) self.tree_widget = TreeWidget() self.tree_widget.setRootIsDecorated(False) self.tree_widget.setHeaderHidden(True) model = QStandardItemModel() self.tree_widget.setModel(model) mainlayout.addWidget(self.tree_widget) for i in range(10): parent_item = QStandardItem('Example_{0} \nnew_line_{0} \n '.format(i)) model.appendRow(parent_item) def dragEnterEvent(self, event): event.acceptProposedAction() # def dropEvent(self, event): # print "dropEvent 2" # str = event.mimeData().text() # event.acceptProposedAction() ex = Example() ex.show()
  5. Drag and drop QtWidget data to a parameter

    I'm dragging the text from the QWidget (QTreeView) to a wrangle node. Right now when i drop the text on to a wrangle, it copies only the first line and the rest shows up when i delete those lines.
  6. Drag and drop QtWidget data to a parameter

  7. opunhide all nodes using python

    That's perfect. Thanks Tomas
  8. opunhide all nodes using python

    How do you opunhide all nodes in a particular category or a bunch of specific nodes using python? I wish to add this in my startup script. a simple hou.hscriptExpression("opunhide Sop point") dosent seem to work. Nor does hou.hscript(). What am i doing wrong?
  9. opunhide all nodes using python

    oh you're right, it does. Had to restart houdini for some reason. ok so hou.hscript("opunhide Sop") gives me all the hidden sop nodes but since it's returns a string, how do you make it a list so that i can loop for each node and say hou.hscript("opunhide Sop <node_name>") sop_list = [] for i in hou.hscript("opunhide Sop"): sop_list.append(str(i)) for sop in _sop_list: node _name = (sop.split(" ")[-1]) print node_name This won't work as i realized t's returning a string, not list of nodes
  10. How do you load a new instance of houdini from current scene's shelf tool? hou.hipFile.load(path) loads to current scene.
  11. PySide2 override CSS

    you can set color or MainWindow right after you create it. self.setStyleSheet("QMainWindow {background: 'green';}") Not sure how to change the color of background dynamically, but you can use another widget and connect it's signal to update the color. Cheers!
  12. Load new instance of houdini from current scene

    While on this topic, how do i do an event callback for the new instance? I can do it for the current scene using hou.hipFile.addEventCallback(self.some_hip_event) But been trying to add one before it loads another new instance.
  13. collisionvel by group (flip)

    Hey ppl! So in a standard flip simulation, i'm sourcing collisionvel (vdb) from a source volume. How do you apply that collisionvel only to a particular point group? Not sure what i have to modify in the flip solver or is there a easier way to control this? Thanks!
  14. Trigger a state with another state

    Solved it! Had to use a sop solver under crowd source. For some reason the crowd trigger weren't updating the particle attributes. Guess it can only read already updated ones.
  15. Trigger a state with another state

    Hello ppl. I'm still messing with my new interest on crowds and got stuck in a situation. So i have 10-15 agents in 'idle' state and among them 3 random agents change their state to 'headshot' ( I'm using pop groups set to random). Now i want the rest of the agents to change their state to 'scared' soon after 'headshot' state is triggered. Here's what i've tried.. 1. Made a group/attribute when the headshot state is triggered and use that on the crowd trigger vex. Did not work... i@trigger = 0; if (@group_groupname or attribute == 1){ i@trigger = 1; } 2. Used the state trigger expression directly on crowd trigger. Nope. i@trigger = 0; if (s@state == "headshot"){ i@trigger = 1; } The only expression that works is with @Frame. I have to manually find the frame where the agent get triggered to the 'headshot' state and enter it. Moreover my next step is to trigger the 'scared' state by radius/proximity. Any help or ideas is appreciated. Thanks!
  16. Came across this post few weeks ago. Take a look. Might help. Cheers!
  17. Copy Node

    Hard to help without a scene file. But if i had to guess, maybe the base geometry your points are growing on has a noise or animated seed on it? You can visualize the point numbers on the viewport and check node by node where the point numbers are changing. Hope this helps!
  18. Align Null to other Null in Viewport

    If i understood your question right, you can click the small button on the right end of the translate then select the helper you want to snap to, on the viewport. It will give you the translate values of the selected helper. Same goes for other parameters. Cheers!
  19. Large scale FLIP workflows

    You can use a fluid source set to 'pump' or make your own in vops and feed it into source volume set to 'pump' or use a gas field wrangle to bring in the vel field. Have attached few links below; might help. Cheers! https://forums.odforce.net/topic/17837-flip-pump-from-object-volume/?tab=comments#comment-108139 https://forums.odforce.net/topic/38831-modify-splash-in-flip-sim-by-sink-pump-or-pop-nodes/?tab=comments#comment-188764 https://forums.odforce.net/topic/18012-helicopterdynamic-flip-waves-test/?tab=comments#comment-136617
  20. Large scale FLIP workflows

    No matter which workflow you follow, in the end it comes down to how much time you have to finish the shot of such scale. Your workflow is straight forward and will definitely work. But if you have good amount of time on your side you can optimize your shot quite a bit, but expect hitting into some annoying problems along the way which could consume more time. Even though every artist have their own workflow and a way of optimizing, here's what i would do; 1. Simulate and cache waterfall separately and pump it's vel into the river sim. You can use vel only from the portion that hits the river. Gives you good control on how splashy you need the waterfall to be. 2. That definitely helps with the quality. 3. Fluid compress takes care of that. You can always edit the attributes you need anyways. 4. Particles should be enough to make foam, bubbles etc 5.No idea if that helps. sorry. 6. No idea about upres. But i usually combine 2 or 3 medium res caches with different seeds. Take a look at this discussion though. Might help. Cheers and goodluck!
  21. Animate parameter per cluster

    Hello ppl! Have a question about pyro clustering that i've been thinking about for a long time now. So i have multiple explosions on impact and i'm using pyro clustering for that. How do you animate parameters per cluster? For example i need the timescale to be 2 when an explosion starts and gradually come down to 0.5 after few frames, but per cluster. Any ideas on how to approach this? Unfortunately i can't share my scene file. But you can find the similar setup here. Thank you!
  22. Animate parameter per cluster

    That's the only choice i guess....and let it render over the weekend. The dop is reading attributes like scale, cluster and div size which is assigned outside the simulation and somehow applying it to each cluster container. Trying to figure out how to bring other attributes like timescale, the same way before taking the long route. If it was pops or rbd, assigning attributes outside the sim will override or multiply with the dop attributes.
  23. Animate parameter per cluster

    Thanks for the suggestion James. Wedging was my first choice as well but unfortunately i have to stick to clustering because i'm overriding division size per cluster, based on the distance from camera. And if i carry on with wedging, i might have to do multiple wedges with multiple resolutions which just keeps consuming more time and my limited disk space. (i have like more than 15 explosions atleast) That's a great article by the way. Cheers!
  24. waterman

    I see a straight forward flip sim emitting just from hand's and leg's velocity. You might have to spend quite a bit of time playing with the parameters to achieve the motion. Maybe lots of drag, swirly kernel, a touch of viscosity...etc