Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by asnowcappedromance

  1. Houdini Senior FX TD, destruction!

    Hey Houdini community, Looking for a strong Houdini senior, remote work possible as long as you can somewhat align yourself with the PST timezone, we're located in Vancouver. If you identify yourself with the following characteristics, you may be a good fit for us: – destruction experience (vehicles, buildings, fire, smoke, complex RBD constraint setups) – works confidently & independently – can execute a VFX shot in his/her discipline from start to finish – pragmatic & quick problem solver – 5 or more years of professional experience in VFX – can work with rapid deadlines without overengineering setups Email with cover letter and reel please to: info@stormbornvfx.com We usually do high level hero shots, so that's something that absolutely has to be on your reel, otherwise we can't consider you. Have a look at what we've been doing recently: Cheers, Manu
  2. Bullet - dynamic constraint creation

    Hey Thomas, Good to hear from you and thanks for chiming in! I really appreciate you taking the time to answer this, that was a huge help. And also thanks for the additional pieces of information, I was not aware of the s@next_constraint_name and s@next_constraint_type attributes. Hope things are well in NY! All the best, Manu
  3. Bullet - dynamic constraint creation

    Hi guys, It's been a while since I had to use constraints and I was hoping somebody can help me out here I'm trying to dynamically fracture 2 boxes that are constraint to 2 static boxes. I then want to delete the old constraints on the fly (that part works but for some reason it happens one frame too late, why?) and constrain the new frags to each other. This part doesn't work at all I'm using the technique described in the file above, but for some reason my constraints go haywire. I hard-coded the first box to refracture on frame #30, the second box does the same on frame #60. Hip file and screenshots are attached, thanks so much for taking a look! Cheers, Manu dynamic_constraint_problem.hip
  4. Stormborn Studios First Reel

    Hi guys, Happy to share this with you! Let me know what you think! Cheers, Manu
  5. Mixing animations from Mixamo.com

    Hey what's up guys? I discovered this amazing website https://www.mixamo.com/ where you can download free animated characters as .fbx files. Because the animations clips in Mixamo are pretty short, I'd like to combine several animations in order to get a longer sequence, but I have no idea how to approach this. The FBX comes in with a bone hierarchy, as well as a Geometry OBJ which contains a locked file SOP connected to a locked Bone Capture SOP, which is then connected to a Capture Override SOP which again is connected to a Bone Deform SOP. I assume that this is pretty standard. So if I now import a second animation, I get a new OBJ containing the same Bone OBJ hierarchy but with a different animation. What is the approach to blend the 2 different animations together? And how would I offset such an animation? In CHOPs? Again, this is not my comfort zone in Houdini, I'd appreciate some pointers on how to get this done! Thanks, Manu
  6. PySide2 override CSS

    Hi guys, I'm having a simple shelf tool in Houdini: from PySide2 import QtCore, QtGui, QtWidgets class PysideTest(QtWidgets.QMainWindow): def __init__(self, parent=None): super(PysideTest, self).__init__(parent) test = QtWidgets.QWidget() self.resize(800, 800) self.setWindowTitle("This is a test") hbox = QtWidgets.QHBoxLayout() edit = QtWidgets.QLineEdit() edit.setObjectName("QLineEditCustom") print edit.styleSheet() hbox.addWidget(edit) test.setLayout(hbox) self.setCentralWidget(test) #self.setBackgroundRole(QtGui.QPalette.ColorRole.Base) self.setBackgroundRole(QtGui.QPalette.Dark) self.setAutoFillBackground(True) self.show() def run(): mainWidget = hou.qt.mainWindow() css = mainWidget.styleSheet() css_filter_str = 'QLineEdit#QLineEditCustom\n{background: rgb(255, 255, 255); color: rgb(255, 0, 255); selection-background-color: red}' css = "\n".join([css, css_filter_str]) mainWidget.setStyleSheet(css) obj = PysideTest(mainWidget) run() When I press on the shelf tool button I get my UI popping up nicely. This only works if I give the class "PysideTest" the parent "mainWidget", otherwise the UI disappears immediately after clicking on the shelf tool. Now because I'm giving it the "hou.qt.mainWindow()" as a parent, the UI inherits the CSS from its parent. In order to override the CSS on the QLineEdit for instance, I can't just simply write edit.setStyleSheet(), this is being ignored. Instead, I apparently have to grab the CSS from the mainWidget (which is a string) and append my own line using the identifier "#QLineEditCustom". This way it's possible for me to adjust the text color (in my case pink) as well as the selection background color (in my case red), however I'm unable to change the background color of the QLineEdit, which is what I actually want to do. > background: rgb(255, 255, 255) does not work > background-color: rgb(255, 255, 255) does not work either What am I missing here guys? I really like the fact that I can just inherit the CSS from Houdini, but it would be great if there was a more straight forward way of customizing it. The other question I have, what if I wanted to change the background color based on the user text input from color A to color B dynamically, how would I approach that? Thanks in advance, Manu
  7. PySide2 override CSS

    Hi Alex, Cool to see that you're in Vancouver! Our office is just a few blocks from Sony! You were right, I can directly set a styleSheet on my PysideTest class, but like in the above example the background color gets simply ignored for some reason. In the below code my text appears in green but the background remains black instead of red. Here's the current code: from PySide2 import QtCore, QtGui, QtWidgets class PysideTest(QtWidgets.QMainWindow): def __init__(self, parent=None): super(PysideTest, self).__init__(parent) test = QtWidgets.QWidget() self.resize(800, 800) self.setWindowTitle("This is a test") hbox = QtWidgets.QHBoxLayout() edit = QtWidgets.QLineEdit() edit.setObjectName("QLineEditCustom") hbox.addWidget(edit) test.setLayout(hbox) self.setCentralWidget(test) self.show() def run(): mainWidget = hou.qt.mainWindow() obj = PysideTest(mainWidget) obj.setStyleSheet("QLineEdit#QLineEditCustom {background-color: 'red'; color: 'green';}") run() Thanks for your help guys! Best, Manu
  8. PySide2 override CSS

    Hi Kishen, Thanks for your reply. In my case I want to change the background color of the QLineEdit, not the QMainWindow. Any idea how to do that? Cheers!
  9. Houdini lighting TD and senior fluid FX TD wanted!

    Houdini artists, we're looking for Fluid FX TDs (remote possible) and Houdini lighting TDs (Vancouver locals only). Send us a message if interested!
  10. Follow Stormborn Studios on Facebook!

    Hey guys, We just launched the official Facebook page for Stormborn Studios! If you like the idea that a small crew of experienced FX ninjas is trying to take on the world of VFX, give us a juicy like, share with your friends and follow us! Thanks for the support! Manu https://www.facebook.com/stormbornstudios
  11. customizing netbox creation and other UI commands

    Hey man, Have a look at this code on how to resize a network box in Python: if hou.selectedNodes(): sel = hou.selectedNodes()[0] pos = sel.position() parent = sel.parent() box = parent.createNetworkBox() box.setPosition(sel.position()) box.addNode(sel) box.setColor(hou.Color(0.5, 0.2, 0.5)) bbox = hou.BoundingRect(pos[0] - 4, pos[1] - 1, pos[0] + 5, pos[1] + 1) box.setBounds(bbox) cheers, Manu
  12. mid- to senior level FX TDs - Stormborn Studios Vancouver

    Role has been filled, thanks guys!!!! Feel free to send me a message anyway if still interested, we always have projects that need top notch Houdini talent
  13. Hi guys, Stormborn Studios is currently looking for mid- to senior level Houdini FX TDs. If you're looking for work or know somebody who does, please shoot me a message! (Vancouver-based artists only!) Cheers, Manu
  14. Introduction to FX using Houdini - workshop

    Hey what's up guys, Only 1 week left to sign up for my fast-track Houdini workshop "Introduction to FX using Houdini". Limited student capacity! Over the course of 9 weeks and 33+ hours of tutorial content students learn how to do procedural modeling, particle-, RBD-, pyro-, FLIP- and whitewater simulations. On top of that we're going to talk about lighting, shading, rendering and we're going to dive deep into VEX scripting. I would love to answer any questions that you might have!!! Cheers, Manu Find the complete course syllabus here: https://www.cgmasteracademy.com/courses/16-intro-to-fx-using-houdini Also for more detailed information on the workshop, check out an interview that was done on 80.lv recently: https://80.lv/articles/making-first-steps-in-vfx-with-procedural-tools/ Here's a quick teaser:
  15. Mixing animations from Mixamo.com

    Hey man, I did it exactly how Atom described it up top. I downloaded several animation clips from Mixamo as FBX and then used timeshift SOPs and the Blendshape SOP in order to blend the animation clips. Pretty easy! Just try to replicate what Atom did, that should work for sure! Cheers, Manu
  16. Uniform Volume Shader with specular/reflection

    woooow 5 days and not a single reply, what's up Odforce? Turns out all I had to do was to transform the point gradient attribute from world to camera space and use the PBR Metallic instead of the PBR reflect. Works really well. Would love to know what's wrong with the PBR Reflect though, why isn't that working as expected? It does if I'm using volumes and a vector3 gradient field ... Thanks to Andrea Sbabo for the tip to use PBR metallic!
  17. Uniform Volume Shader with specular/reflection

    Hey guys, I'm trying to render points as volumes using the uniform volume shader with specularity/reflection. I calculated a gradient attribute on my points (to emulate normals) and plugged that into my shader, but I'm having no success as all. The same technique works if I convert my points to a volume and then use a gradient vector field, however I'd like to get it to work without having to convert my points into a volume. Attached a screenshot of my current shader and also a hip file. Any ideas how to get that to work? Thanks, Manu uniform_volume_spec_test.hiplc
  18. Mixing animations from Mixamo.com

    Hey man, Thanks a lot for the detailed screenshot, I'll have a play first thing tomorrow! Kinda off topic, how are you liking those Ryzens? Better than Xeon or I7? Cheers!!! Edit: I rebuilt your setup and it works like a charm, thanks a lot for pointing me towards the right direction!!
  19. Houdini, Algorithms and Python

    Haven't posted my work here in a long time, but here's a hip file in which I used Python to implement the divide and conquer closest pair of points algorithm. Obviously not nearly as fast as a pcopen lookup, but I wanted to learn about the divide and conquer paradigm and had a lot of fun figuring it out! Code runs in O(n*log(n)) time, as explained in the following video: Enjoy! Comments are always welcome And no, I don't script in C++, no need to tell me that it's faster divide_conquer_find_closest.hipnc
  20. Houdini, Algorithms and Python

    Hey what's up community? In order to keep this thread alive, although I'm hardly ever posting, here's my latest and greatest Python project! Would be awesome to get some feedback on this, cheers!
  21. OTL hotkey problem, help?

    Hi guys, I'm trying to assign a hotkey to the tool section of a script OTL and can't get it to work. Script is located in 'Type properties > Tools'. parameters on the Options Tab are defaults: Name - $HDA_DEFAULT_TOOL LABEL - $HDA_LABEL Then I go to the Hotkeys tab, hit 'Edit' (Global), then the Hotkey Manager pops up and the 'Action' column is selecting 'HDA_LABEL' by default. Now when I assing a hotkey to this, I'm getting the following error pop-up on execution of the hotkey: 'Cannot find the tool $HDA_DEFAULT_TOOL.' Does anybody know how to fix this / what's going on? Thanks a lot, Manu
  22. Houdini, Algorithms and Python

    No Of course Linux does have copy/paste What I wanted to do is store strings that are created by Python into the clipboard, that's not possible without using modules in Python. Using PySide/PyQt, not only can you store strings, you can also store images as well as Mime data, which can be quite helpful!
  23. Houdini, Algorithms and Python

    Here's an interesting snippet I came up with the other day. If you want to copy/paste stuff with Python, but you're working on Linux and 'xsel' is not installed on your system, you can abuse PySide to access the clipboard. Following code takes the path of a selected node and copies it into the clipboard, so you can paste it with ctrl-v: if hou.selectedNodes(): import PySide.QtGui as qtg app = qtg.QApplication.instance() clipboard = app.clipboard() string = hou.selectedNodes()[0].path() clipboard.setText(string)