Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


LaidlawFX last won the day on October 15 2018

LaidlawFX had the most liked content!

Community Reputation

203 Excellent


About LaidlawFX

  • Rank
    Technical Director
  • Birthday 02/23/1985

Contact Methods

  • Website URL

Personal Information

  • Name
  • Location
    Pacific North West
  • Interests
    Getting away from the computer
  1. Any code you made before you worked there that you may work on there should be explicitly defined in your contract. You can general make an addendum to this if you need. If you do open source your own code, you may need to have it clear legal that you can use it. The consequences are more severe from companies like Disney and MS down the grade to small commercial shops. Some shops won't care and most code dies past the user working on it, but if you care enough to ask definitely get it in writing that you own the code.
  2. So in this example press the reload button and it will populate the number of tabs. This will help it from being autoset every time your values upstream change. You should avoid having the system inadvertently wiping previous set values in the multi-parms. This code is in the call back script. It looks for the name attribute information on the geometry of the node iterPython. Based on that if finds the length of the list. It then will set it to the multiparm. node = hou.node('iterPython'); geo = node.geometry(); attr = geo.findPrimAttrib('name'); list = attr.strings(); iter = str(len(list)); hou.parm('extrude').set(iter) ForLoopNameMultiparm_02.hip
  3. How to reload .sim files

    Welcome to the forums. If you search the forum you should see a few post on the subject. Good Luck
  4. I did notice some cook lag. You can do a callback in the group menu to update the drop down. You might be best off putting a button next to the multiparm list that will update when the user presses it. Avoid the issues where a bad cook will wipe out your settings. I would have to grab my example of it. It's a line of python or two. Sleeping baby wins this round.
  5. You need to use a foreach loop to iterate over your nodes. The add sop is a different case as it is a basic for loop. Where as you want to iterate over select items. As of note, avoid using groups to manipulate data like this. Since Foreach's no longer take groups as input it is best to handle them with attributes. Especially in consideration of the common name attribute, you save a lot of data overhead as opposed to having multiple groups to do the same work. Groups only represent Boolean data. They are either in or out. Unless in the case you have overlaps, but even then you should default to name first then groups for secondary sources. I have encapsulated the example in a subnet for a better real world example i.e. eventual use in an hda. On the subnet is the multiparm block. I split out the groups you want to work with first and bypass the rest. The multiparm list number is channel references to the max number of items in the list. Then I foreach loop on each name attribute. In a for loop like add sop you can just channel reference the multiparm number into the iteration of a for loop. Here you need to ne a bit tricky and take into account eh foreach loop will go inorder of the list of items. In order to make the user aware of what item they are rotating I made a label that indexs into the list items of the name attribute so you can identify which item is being manipulated. For additional help look at how I modified the channel references from the multiparm block to the parameters in the for loop. You need to edit the channel references so the # in the interface is the equivalent of the loop iteration in the for loop. ForLoopNameMultiparm.hip
  6. Houdini Engine is a realtime bridge between the two.
  7. Open Python panel from shelf item

    http://www.sidefx.com/docs/houdini/hom/hou/PaneTab.html I believe clone is what you are looking for.
  8. Add RealFlow or not?

    Yeah Houdini is more a toolbox than a set of specific tools, which is good and bad. The cloud setup is a few shelf buttons, and the fluid/particle setups are a few buttons and example files away. The defaults if you keep them within default Houdini scale, so not trying to make planets or microscopic sims, work pretty well. You can allways scale before and after sim. VEX is not really needed in DOPs. You can use it for sure, but it's the hundreds of microsolvers you use instead. If you run a few shelf operations you can see for sure the patterns on how to run the setups. DOPs has a different network flow than SOPs or COPs, etc... as time is the primary cyclical factor. So if you have time to play with a few of those setups to get your bearings, then it can be pretty quick. If that makes more sense wording it that way. Realflow on the other hand you don't have to worry how another context works it's just plug and play, like most plugins.
  9. Add RealFlow or not?

    Real flow is a very powerful piece of software that used to out handle Houdini real well. They have a lot of default behaviors that when you use it out of the box's are better than Houdini's setup. As far as adding it once you have Houdini is a different story. It used to be people would have realflow and the debate would be should you add Houdini. As Houdini was/is the more expensive product. The major different is Houdini was designed as a full 3-D app and Realflow is a really good specialist software. For those who only need a particle system and say after effects, Houdini doesn't make much sense. Or if you want you wanted to pair Realflow with Maya or Max it makes a lot of sense. Also if you are on a short term project with a Realflow specialist versus a Houdini specialist it makes sense. Additionally since Realflow is not a full 3-D package you will need to render, surface, instance, or cleanup in another app. Which often was the case of using Houdini or going straight to a 3rd party render engine. In your particular case it doesn't make as much sense. Houdini's particle and fluids are extremely comparable in today's builds. The default's in Houdini are not as good as in Realflow, but you can get there pretty quickly if you have a bit of time. Also if you already paid for Houdini FX you don't really need to splurge the extra money. In the end it comes down to time or money.
  10. I've attached an example where I've created the attribute id in a wrangle sop and and then used the add sops attribute to connect the lines. There are a few more alternatives, depending on what your goal is. Circunferences lines_2.hip
  11. You can save the point number as an attribute, and then use the add sop based on attribute value. But you can not have point numbers that repeat values. That is how the data entries are stored. Attributes will allow you to have multiple of the same value. Additionally you can do skin, and convert to lines as an alternate for the add sop. Also you can play with the sort sop to organize your points and prim numbers.
  12. Getting rotations from a copy stamp

    http://www.sidefx.com/docs/houdini/copy/instanceattrs.html Look at these help documents. You can use this same point cloud to visualize with copy to points, or instances at object to visualize the effects. If you system needs euler values to define rotation, you can set them as euler with a random seed and then use a euler to quat vop or equivalent to set the houdini quaternion option of rot or orient. If you are using rot as the attribute make sure you set your up and N attributes. http://www.sidefx.com/docs/houdini/nodes/vop/eulertoquat.html
  13. So there are a few options to do this. The method I described above can be done via python. The GameDev RBD exporter can do this separating based on name attribute. If you want I have my own version you can use too. In general instances will be your best bet. By standardizing your part library you can supply a point cloud to copy stance or an instance obj node. Unity will then treat these instances as prefabs. The latter instance object node will be more production friendly. Also this instance method will be faster to process and more runtime friendly than unique geo. You can't do what your intending via attribute that way. However, you can use vertex color, the extra UV layers, and custom attributes to be processed by Houdini engine by the shader and C#. These would be custom tricks to make it do what you want. Look at the Vertex Animation set up to see how this works as far as shaders. The fading out of the wall elements is done entirely in Unity. The best method is for each element to be a unique prefab like the instance, or rbd export method. As when the camera ray to your target intersect a prefab it can then fade it out. Hope that makes more sense.
  14. With Houdini Engine, you used to be able to use groups and enable an option on the Houdini Interface in Unreal to separate them based on groups. So depending on how old your version is you could do that. I'm not sure when they made the change, but now you just put your geometry into separate object nodes. The simplest way to do this is to create a object level subnet and inside create all your geometry in one geometry node called data or something, and shut of the the object level display parameter. Then create a new object for each element you want to separate and place object merge nodes in there. If you think of this in context to how Maya and Max works it will make more sense, one object equals one mesh.
  15. Measure length ?