Jump to content

Search the Community

Showing results for tags 'script'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • Lounge/General chat
    • Education
    • Jobs
    • Marketplace
  • Houdini
    • General Houdini Questions
    • Effects
    • Modeling
    • Animation & Rigging
    • Lighting & Rendering
    • Compositing
    • Games
    • Tools (HDA's etc.)
  • Coders Corner
    • HDK : Houdini Development Kit
    • Scripting
    • Shaders
  • Art and Challenges
    • Finished Work
    • Work in Progress
    • VFX Challenge
    • Effects Challenge Archive
  • Systems and Other Applications
    • Other 3d Packages
    • Operating Systems
    • Hardware
    • Pipeline
  • od|force
    • Feedback, Suggestions, Bugs

Found 28 results

  1. Hi folks, i have a Python Processor with 5 work items and i would like to create a dependencies based on a attribute WorkItemID that increase for each work item. How can i create dependency to cook those work items exactly in the order that i want and not in parallel ? Thanks in advance
  2. At my lovely studio we have a bit of an unfinished Houdini render pipeline. We're able to use the farm to bake out geometry, but only serially. Also, writing out the IFDs is serial. We only have a handful of engine licenses. This is painless for sims, but this is a problem with SOP geo renders that can be baked out in parallel. Mantra renders, however, work in full parallel glory. How can I put an "opparm -c /path/to/ROPoutputdriver execute" script call (or any such code) somewhere where it will execute IN the IFD as it's rendering, but not during IFD generation? I tried putting that code in the Mantra's (set to render nothing) Pre-frame/Post-frame script parameter, but those execute AT IFD generation (which is serial), which doesn't help. Would a Python SOP work? If so how would I trigger it on frame render?
  3. Hi everyone! I'm starting to get into Python 2.7 for Houdini Indie (17.5) before jumping into Houdini 18 with Python 3, and I've been working in a flipbook tool until now everything is being okay but now I've found that I can't recover the camera settings/flipbook settings after generating the MPlay to maintain the user settings after applying the script. I've been trying to use the 'hou.GeometryViewportCamera.stash()' to create a copy of the settings but I'm not sure how to use it and where should I recover these settings. Also when I try to use it I get this error: 'TypeError: unbound method setDefaultCamera() must be called with GeometryViewport instance as first argument (got nothing instead)' I've created a simplified version of the script that I'll be attaching down below: If someone has any advice or idea of how would be the good approaching intro this, I'll bee really thankful. Thanks in advance to everyone.
  4. Hello everyone, I am currently setting up an asset pipeline for a project in houdini. My main question I have is how I handle the versioning of Digital Assets. I prepared an overview where you can see basically the 2 ways I came up with: The One option is the" self contained" one. When ever you want a new version of your asset you: 1.duplicate the subnet where you work in. 2.Then you have "subnet_v002" that gets turned in to a digital asset "asset_v002.hda" with the definition "asset::2.0" Every new version gets its own asset library and in every library there is only ONE definition of an asset as you can see in the picture. This workflow is good if on your drive you only want one .hda file associated with one asset version. The other option is the packed one. Same as the other when ever you want a new version of your asset you: 1.duplicate the subnet where you worked in. 2.But then you don't create a seperate library you only have one library with multiple definitions. One definition for one version. That means if the library asset.hda already exists with the definition asset::1.0 you will append the latest definition asset:2.0 to the library. In this case you have all the definitions packed in to one library. For me this option is a little confusing in that sense that you dont have a file seperation of the different versions and one asset library can become potentially huge in file size. One big point of assets is being able to update the assets in a houdini scene easily without destroying relations to other nodes. No when it comes to that for option "packed" as every version is in the same library you can simply write a script that updates all nodes with the same library to latest definition is that correct? But if i like the file seperation on disk for each new version, HOW would I in option "self contained" update my "asset_v002.hda" with asset::2.0 to "asset_v003.hda" with asset::3.0 as a definitio? All of this should happen kind of automated so I am searching a python way to do this. I would be really interested if anyone has update solution for the option "self contained" and what you generally think which option is the better one to handle digital assets. Thanks a lot Paul
  5. Python export flipbook as mp4

    Hey, I've written a shelf tool to create flipbooks with custom parameters, and I want to know if it's possible to export it as mp4 once it's finished ? I tried with the flipbook_options.output() but it's exporting a video for each frame (so an image sequence), and I don't want to export an image sequence, but directly a video, if it's possible ! Cheers,
  6. Hi all, I recently found this Toolset on Github allowing realtime input & record of input from a leapmotion controller. https://github.com/arqtiq/HouLEAP Unfortunately I'm having a little trouble getting it to run properly. In the readme it explains to 'simply copy the content of the **/houdini16.x** folder to your houdini home/hsite folder.' So my question is, where would be the correct place to place the python scripts that the tool provides? (I'm not entirely sure what the 'hsite' folder is referring to?) Houdini see's the OTL's however i return the attached error in, what i assume, is the python scripting. Or perhaps I need to define LEAP in the .env file? Any tips much appreciated EDIT: The error is reported from the example .hip contained in the Github repository linked in my post. Also This was run in H 17.5.258.
  7. 60% Off VexGuide Tool

    Today Only: 60% Off VexGuide Tool Discount link : https://gum.co/GFKLc/56wn7jx
  8. Houdini Live Link

    HOUDINI LIVE LINK AVAILABLE NOW IN GUMROAD many people have asked me to share live link script now in gumrorad Only priced at $ 7 houdini live conect with windows explorer you can quickly load ton's of model like obj ,bgeo to houdini directly by only one click https://vimeo.com/322629176
  9. Hello, I am able to select visible geometry manually, or even make a script to toggle the option to select geometry manually. But I'm wondering if there is a way to automatically select visible geometry only via a script? I have been unable to figure it out but it would be awesome if possible (may not be possible though?). Thanks! Ant
  10. Hi Houdniks, could anybody help me out make the grid lines in the network editor be default on Houdini launch? Couldn't find anything about it so far... Thanks in advance
  11. Get position\orientation of handle

    I can set handle position and orientation with omparm hscript command. But is it possible to get position\orientation of handle?
  12. Hey Guys I wanted to share with you a small script I've done to have a better support or external editors to edit your expressions and code. It works with a system or file watcher, that means it doesn't freeze Houdini and you don't need to close your editor to see you updates It's available by a simple right-click on a parameter => expression => External Expression Editor ( you can set a hotkey ). It works with VEX and Python expressions but also regular HScript expressions ( but with no completion ). It works very well with Visual Studio Code as it has a nice VEX and Python plugins, but it could work with sublime text, notepad ++ etc. ( I haven't tested all the IDE out there so if you find a bug with one of them, feel free to send an email to contact@cgtoolbox.com ). A small video about it: https://vimeo.com/242470411 You can download it for free here: http://cgtoolbox.com/houdini-expression-editor/ PySide, PySide2 and PyQt are supported, it is compatible with Houdini 15 to 16.5.
  13. Hey guys I have an HDA with 2 python SOPs inside. I need a button on the HDA that would trigger a function in one of the python SOPs. I looked at how callback scripts work but it was too confusing. Appreciate it if someone could help me out. Thanks! Cheers defc0n1
  14. Real-time recorder python script

    Hi guys, I am working on a python script that bakes the hand movement of geometry with mouse in the viewport over the time and creates keys on each frame. In other word, I want to move my object with mouse in the view port and get the Transform/Rotation/Scale keyed on each frame. Currently I am using hou.selectedNode() and the hou.parm() to access the specific parameters that I want to bake. Then I use a for loop to generate keyframe on each frame. Immediately after pushing the bake button it bakes the parameters value on the first frame for entire time line. I have tried using while loop with time.sleep() to wait for a bit after setting key on each frame, but it freeze the view port and I cant move my geometry. Is there anyway to make my code somehow that constantly check the new values of object parameters on each frame and allow me to work on the view port while it does its job in the background? Is this related to multi threading? Here is my for loop for f in timeline: setKey = hou.Keyframe() setKey.setFrame(f) setKey.setValue( keyValue[f] ) ParmList.setKeyframe(setKey) hou.setFrame(f) Thanks,
  15. Compile VEX code to VOP network

    Hello guys, I have a question about how to compile my VEX code to a VOP network by VCC complier? I know there is a mode "-m" before, but it isn't work now, How can I do this in Houdini 15.5? yuqing
  16. Custom Group SOP in VEX

    Hi guys, here are the files I used for the last Vancouver Houdini User Group in case anyone wants to take a look. My presentation was about writing the Group SOP in VEX and trying to optimize it. I wrote everything in a wrangle, and it works great as a preset in a point/prim wrangle. I also made a Digital Asset, although it's not a VEX operator because I couldn't figure out how to make it work purely in VEX because I need to use the group bindings from the Wrangle and I'm not sure how to implement that in VEX. Anyways, the OTL is just the wrangle with the parameters promoted. In the presentation file you can take a look at the speed tests of the Group VEX vs the Group SOP. The difference in performance is pretty similar if you have a few points/prims, but once you go above 1 million the performance difference really starts to kick in. The Group VEX becomes exponentially faster than the Group SOP the more points you have. The difference can really be seen when you group by object and when you group by volume. I also made those 2 modes work with primitives. Here are the files in case anyone wants to take a look at the code. Feedback is greatly appreciated! group_vex_jeronimo_maggi.hipnc vhug_presentation_jeronimo_maggi.hipnc group_vex_jm.hdanc custom_group_sop.vfl
  17. Hello, how can I force a channel in a sop to evaluate my python expression as an expression (not as the final value) ? With hscript it is simple I write : `mycode` But with Python I don't get it, sometimes I write something like : frame() or hou.frame() or hou.pwd() And it is recognized immediately as an expression and is evaluated (blue/cyan background), sometimes the very same text is considered as the final value (background black). I sometimes need to enter the code many times in order to have it recognized as code. I do not understand why ? Any help is very welcome (I am on houdini 15.5.565 on Windows 10) Thanks, Nicolas
  18. Hello, I'd like to include a 'hide/disable when' conditional on a parameter which is being created by a script. How do I do this? null = hou.node("/obj").createNode("null") null.setName('newNull') tabs = null.parmTemplateGroup() for folder in tabs.entries(): tabs.hideFolder(str(folder.label()), True) null.setParmTemplateGroup(tabs) parmGroup = null.parmTemplateGroup() parmGroup.addParmTemplate(hou.ToggleParmTemplate("overrideToggle", "Override Cache Version", 1)) parmGroup.addParmTemplate(hou.IntParmTemplate("overridingVersion", "Overriding Version", 1)) null.setParmTemplateGroup(parmGroup) null.parm('overrideToggle').set(0) null.parm('overridingVersion').disable(1)
  19. I know basic python scripting in houdini so this question is easy one. I have a shelf tool, when clicked runs a python code. I want that tool to ask for a number when clicked and use it in the script. basically, I want to select a node and click that shelf tool to ask for a number, when given that code should copy and paste (duplicate) that node the number of times which is entered. i know i will have to use copyNodeTo function in python, just want to know about getting user input. Thanks!
  20. Hi all, Regarding digital asset parameter pane tab. Can the parameter pane be replaced/switched with a Python panel. Can I make a custom Python panel appear in place of Houdini's standard parameter pane? A few thoughts - possible solutions: I realise I can have a Python panel seperate to the parameter pane, implicitly associated with an asset. I would imagine I can code the custom panel to be loaded/appear when the hda is created/selected. Also I guess a single button could be in the standard parameter pane that could be used to show the custom panel. Although these seem to be workable solutions, It would however be better and a more consistent workflow to find a solution that answers my initial question. Thanks for any help on this Nick
  21. Python Shelf Btn Script With Simple UI

    Hi there! I wrote a couple lines of python code that lets you export Houdini point attributes to an xml file. And then another couple of lines that reads the xml file in Maya. Useful for getting Houdini point colors to vertex colors in Maya, and possible other things to. I thought I would create a simple UI for the Houdini part of the script that has a couple of user defined parameters. But after searching for a while I still don't have a clear idea what's the simplest way to do this. I've attached a image of what the UI could look like. If this was a scripted python Digital Asset then I would get the UI for free, it feel like this shouldn't be that hard either. To do this in Maya, with Python or Mel isn't that tricky either. If it's possible I would like to avoid using PySide & PyQt. I've been looking the the hou.ui module but I don't really understand, I read somewhere that one approach is to load a UI description from a external file. What is common practice here (for simple UI's & dialogs)? Thanks / John
  22. Why my initialization script...

    ... doesn't work with my custom OTLs? When I create "null.py" it gets called, but when I create python file with my OTL operator type as name, it's ignored. Should I put it in different place than for normal nodes? Thanks!
  23. Can it be done? I would like to set some parameters but check some values first. The basic presets just set blindly values, but if we could create presets with python, than it wouldn't be a problem. Or maybe we can add presets with HDK?
  24. Hey guys, i didnt find anything in the forum so i'm gonna open up a new thread for future searchers on this topic (and not hijack my other thread about compilation issues....). Now that i managed to build my plugins, i would like to establish a convenient plugin testing workflow. What i would do in Maya is, after the build i would run a python script to: 1. Load empty scene 2. Unload the plugin and release the handle 3. Copy and overwrite the .dll (.mll) 4. Reload the plugin 5. Reraise test scene setup I can't seem to find a way to unload the plugin in Houdini (or load it in the interface). Is there a way to set it up like this, or do i need to restart Houdini every time ? PS: Is there a list somewhere that explains all the abbreviations like GU, OP etc. ? When i accidentaly read that GU means Geometry Utility, lightbulbs went on, and the HDK naming scheme immediately became a lot less obscure....
  25. For normal scripts with ".cmd" extension it was "arg1", and how it's called for python version of those scripts?
×