Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by LaidlawFX

  1. cvex is for runtime procedural. Instead of say creating a volume you need to save to disk. You can supply a point cloud to your shader and create an entire cloud system just in the shader. http://www.sidefx.com/docs/houdini/vex/contexts/cvex.html
  2. Fatal error: Segmentation fault

    Sounds like you need a new computer, or you should not update your Houdini version on that computer anymore. There are a lot of threads about the specs for Houdini Machine's on the forum so you can see what they are rolling. Otherwise just check out the minimum requirements for the software. Though unless you are just playing at home. I would go a bit above the min specs in most categories, otherwise that computer will just be outdated. If you like gaming, then you can use a gaming laptop for your work machine too.
  3. Hello Masoud, There are a couple old post on the different languages if you did around on the forum, so I won't go too in depth. Plus there are plenty of help docs on the subject. http://www.sidefx.com/docs/houdini/network/expressions.html http://www.sidefx.com/docs/houdini/hom/index.html http://www.sidefx.com/docs/houdini/commands/index.html http://www.sidefx.com/docs/houdini/vex/index.html To answer your last question first SideFX and Prism/Houdini has 30 years of history so there are a bit of legacy, and there is a lot of backwards support as productions will use a version several years out of date. The rest are out of order You should use Python over Hscript. Python is industry standard and cross platform. Almost every single Hscript function has been replaced by a python command. Hscript still has some functions that are handy as they are directly specific to Houdini operations. Python Language is just the general code like Java, Ruby, etc... Hou/HOM Is the python module that is specific to Houdini, i.e. "Hython" or for Maya "Mython". Python expression are short hand tricks to use python code like expression language. Python Parameter Expression is a specific short hand for use in parameters. Parameters have only hou imported so you can do very un-pythonic short hand. Expression's are short hand code to do mathematical and reference tricks across the package. VEX is a vector language like RSL that is good for fast computation of RGB, XYZ style components that is more like C/C++ code. Think shaders or position data. Vex snippet is a place to use code in vopnets. Vex Wrangle is now the common place to use them. Where as vexpression are short hand vex code to do quick operations like the other expression variants. Attributes/Variables are one in the same. Attributes are more commonly used in context to the data in vernacular. Where as Variables is used in reference to accessing that data. Variables can also be for Global/Environment Variables too. In that case they are shell values or hip file centric values that like HOUDINI_PATH, PATH, HSITE, etc. that represent a specific value in the OS or file.
  4. Here you can tear up my production set up in VEX. The tool is designed for Houdini Engine usage, for environment vine creation. So while it looses one or two functions of the SOP solver method such as animated motion. It makes up for it in near instance speed and editability. It follows the same growth structure too. Enjoy https://github.com/LaidlawFX/LaidlawFX/blob/master/otls/LaidlawFX.sop_ivygenerator_1.0.hda
  5. LaidlawFX Toolset

    Hello all. I wanted to share my production library of tools I have posted on Github. Previously a lot of these were posted on Orbolt.com after my 2016 GDC talks. The tools were originally designed to be used in a HOUDINI_PATH style library as opposed to individual hdas. In this manner they can include a larger array of script based tools that don't fall in the paradigm of Orbolt. This toolset is generally complementary to the GameDev, Mops, etc toolset, there are only a few overlaps nowadays. There are two primary libraries of tools. https://github.com/LaidlawFX/LaidlawFX - This is the production library built up over the last decade of work that has been cleansed of studio specific work. This currently contains a set HDA's, a common python library, shelf tools, and example files on how to used the .hdas. Some fun tools in here are an Ivy Generator inspired by Thomas Luft Ivy generator http://graphics.uni-konstanz.de/~luft/ivy_generator/ . File Cache nodes that have been tested on over a dozen productions. RBD to FBX extractors, and an array of ROP tools. Also a module of python code that includes a few sub-modules such as verbosity logging, multiple hda queuing, fbx exporting, file explorer opening, and the large set of options for file caching. Additionally it contains shelf scripts so that you no longer need to use the Material Library, you can just tab and use the shaders like normal nodes. https://github.com/LaidlawFX/HoudiniEngineDev - This is over one hundred hda's to test Houdini Engine implementations in different DCC's and game engine. Each of them test a simple principle from UI parameters to different geometry types and more. Hope they help you at some point. Feel free to branch or leave comments here and I can update the source. Thanks, -Ben
  6. Fatal error: Segmentation fault

    Make sure you rename your default preferences, and let it rebuild them on startup. It is possible a file in there got corrupted and you'll see the same behavior on multiple installs now.
  7. Houdini 18 Wishlist

    If you need a growth solver you want to customize feel free to use this one of mine. It's vexed based so you'll be able to modify easily, and it's extremely quick. https://github.com/LaidlawFX/LaidlawFX/blob/master/otls/LaidlawFX.sop_ivygenerator_1.0.hda
  8. 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.
  9. 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
  10. 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
  11. 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.
  12. 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
  13. Houdini Engine is a realtime bridge between the two.
  14. 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.
  15. 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.
  16. 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.
  17. 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
  18. 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.
  19. 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
  20. 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.
  21. 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.
  22. Measure length ?

  23. Measure length ?

    In addition to what Jesper said, even if you don't model to scale, but know the relative conversion ratio of your model the value should be correct. For example, if you are taking terrain data and scaling a mountain to the correct size, you can not do it at real world scale due to precision issue of 32/64 bit precision, however, you can scale your object by a percent and be good enough for CG.
  24. Measure length ?

    You can use the length vop from the original surface to the displaced surface and export to an image plane. If you have not changed scene scale, and your model is to correct units, the displacement should be in meters.
  25. Blackmagic Design Fusion, output space for imported EXR

    Houdini will export in Linear by default. The preview window will do a basic gamma 2.2 curve as I understand. Docs here : http://www.sidefx.com/docs/houdini/render/linear.html So you would not want a custom that just does a general curve not the "standardized" curves in the drop down.