Jump to content

Search the Community

Showing results for tags 'tops'.



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 21 results

  1. Hi I am trying to follow Ari's tutorial https://vimeo.com/323291527 for generating a side by side montage of some wedged Pyro sim, that i'm trying to test out. My TOP network seems to work fine except the final node: ffmpegencodevideo. I am not really sure how to set the correct path on windows, as Ari's version is for MAC, and have tried removing the C:, .exe and also using forward and backslashes. Do I even need to set the environment file to look at the FFMPEG? Quite confused on how to set this up correctly.
  2. TOPs, keep polling

    I'm trying to figure out if a TOP's/PDG network can be made to keep alive while waiting for data from a database. Basically I want something like a while loop in python that keeps the TOP network waiting for new items to appear in the data base and then start processing once a new work_item is available. Is TOPs/PDG even meant for such a thing? Thanks! -Johan
  3. Heyya, I'm currently developing our project-internal filecache node with a couple of fancy features for usability / productivity. The current workflow is starting a seperate Houdini instance with Juraj Tomori's Tool here: Background Render Now I also wrote a couple of scripts that update the progress of the currently ongoing cache by analyzing the output directory and showing the progress. (as well as some info on the output like time per frame and size). [This was primarily developed for the use within a TOPs-Render network, however, the background process variant turned out to be much superior for a variety of reasons.] Now what I built was a script in a seperate TOP-Network which is supposed to execute this analysis every couple of seconds for a given amount of time using the time.sleep(t) function. Now usually this does exactly what I want, keeping this process/sleeping in the BG and execute the analysis function while Houdini stays functional. However, the problem is that sometimes (quite unpredictably, but mostly when aborting/refreshing this TOP-network) this sleeping switches to the foreground, causing Houdini to freeze for however long the ticker was set. And this is game-breaking when you sometimes have to wait for five minutes. You get the point. Here is the (admittedly clumsy) bulk of code: import time import hou import os PARENT = hou.node("../../..") ticker_s = PARENT.parmTuple("ticker_s").eval() break_at_end = 0 node = hou.node("../../../mnp_cacher") fstart = node.parm("f1").eval() fend = node.parm("f2").eval() totalframes = int(fend - fstart) dir = PARENT.parm("outputfile").eval() dir = os.path.dirname(dir) def outputchecker(dur=20, tick=1, confirm=1): iterations = dur / tick warning_message = "Starting updateticker for {} seconds.".format(dur) if hou.ui.displayConfirmation( warning_message ): i=0 while i < iterations: i += 1 #print "Iteration: " + str(i) #SCAN OUTDIR LOCAL CODE ---------------------------- counter = 0; duration_list = [0] folder_size = 0 for (path, dirs, files) in os.walk(dir): for file in files: if ".hip" in file: #exception for backup #print str(counter) + ": SKIPPING" continue filename = os.path.join(path, file) folder_size += os.path.getsize(filename) # --- GET FOLDER SIZE mytime = os.path.getmtime(filename) # --- GET CACHE TIME counter += 1 if counter==1: counter #print str(counter) + ": EXCEPT" else: prevtime = os.path.getmtime(filename_prev) myduration = mytime - prevtime #print str(counter) + " - " + str(mydur) if myduration > 0: duration_list.append(myduration) filename_prev = filename #------------------------------------------------------------- scan end frame = fstart + (counter-1) allframes = fend-fstart curframes = frame-fstart progress = curframes/allframes percent = "{:.0%}".format(progress) # ----- SCAN OUTDIR AND UPDATE COMMENT scan = PARENT.hdaModule().scan_outdir(dir, 1) #print message running_message = "" running_message = "CACHING: {} (Fr.: {} / {})\n".format(percent, int(frame), int(fend)) running_message += scan running_message += " [Update Ticker: {} / {}]\n".format(i, iterations) PARENT.setComment(running_message) time.sleep(tick) outputchecker(ticker_s[0], ticker_s[1]) This looks something like this if executed properly, and I've fallen in love with the info I get from this: Now what I don't get is why this sleeping switches to the FG-process of Houdini. The python-script-TOP is set to evaluate In-Process, but when executing cleanly, it works in the BG nicely. I'm grateful for any clue or alternative approach. Thanks, Martin
  4. Hi there, I've got a ROPfetch that's rendered 4 wedges of 144 frames, 1152 frames total from (currently) two entries in a .csv file. I've got an ffmpeg node below it that's hell-bent on taking only the name of the first entry and rendering a mov of it 1152 times. I'm new to TOPs and only a few months into using Houdini, but have been going around in circles trying to partition by row (if that's even possible). What I'd like is: Column1, row1 = 144 frame mov of: wedge1.mov, wedge2.mov, wedge3.mov, wedge4.mov Column1, row2 = 144 frame mov of: wedge1.mov, wedge2.mov, wedge3.mov, wedge4.mov Ideas?
  5. Hi I am encountering an obscure error with PDG and looking for help of any sorts. Basically, I am trying to send a set of TOPs work items to farm using tractorscheduler which works fine with H17.5 and H18(localscheduler) but when I try the same setup in H18(tractorscheduler) I am receiving a ["Error Could not find scheduler type "tractorscheduler"] error in tractorscheduler node. Does anyone else encountered such thing yet? Has something changed between the versions of Houdini and I am missing something? Any kind of help towards the direction of solution would be appreciated. Best
  6. I left a TOPs network rendering some camera angles, but it's stopped with missing frames in one of the sequences (1-112 where it should be 1-144) Dirty and cook returns done. The caveat is I have 'Cook frames as single work item' on for post-processing nodes (ffmpeg and then some python in this case), when I deselect this I get all the frames and it picks up. How can I get it to check the frames, discover which are missing and pick up where it left off? OR would it be better to let it cook individual frames and then group the output by filename and push that into ffmeg?
  7. Hi! I am trying to use the wedge node "random sample" option in a TOP network, but I want the random to have a probability distribution so that the randomness is not evenly spread. There is no attribute random node in TOP networks, so I am not sure how I could fetch some values generated elsewhere? Any idea how to achieve that?
  8. Some strings in my CSV have white space (spacebar) and some have unusual characters that Windows and Houdini don't like, such as Å. In a TOPs network, how can I create an attribute `@cleanName` without these characters? ie: MY HÅT becomes MY_HAT Something like this, but dynamically. mystring.replace(" ", "_") If someone could help with the whitespace I can work out the rest. Thanks!
  9. Hey folks, I'm executing a Windows .bat file which is written out by a pythonprocessor TOPs node to run some things on another sever. Everything works if I hardcode the filename to the batch file, but I want it to generate and execute .bat files for each work item I'm trying to access `@filename`in the pythonprocessor, but not getting anywhere. How can I access the attribute so .format fills in the path correctly? PidginCode: outFile = `@filename` filePath = "path to directory/{}".format(outFile) The sample file docs are bereft of examples so I'm wondering if I'm going about it the wrong way. Thoughts? EDIT: I made a string parameter on the node I'm querying and pointed evalParm at it. Is that the most sensible way? node = hou.node('/obj/topnet1/nodeName') parmName = str(node.evalParm('parm'))
  10. So unclear whether this is a Houdini specific error or there is possibly something wrong with my Redshift materials. But when I simply try and cook a ROP Geometry Output node in TOPs I get lots of the following errors Similar to this error but I am not using HQUEUE or submitting to a farm https://www.sidefx.com/forum/topic/69162/
  11. Noob question In the sesi documentation it suggests to use __PDG_DIR__ instead of ${PDG_DIR} for filename paths. ok, I tried and only received errors in the graph when cooking ROP Geo Output. That's the first issue 2nd is a noob question on proper use of envirnment variables in TOPs What is the difference between ${PDG_DIR} $PDG_DIR/ and __PDG_DIR__ ? I'm on Linux (Ubuntu 18.04LTS)
  12. PDG Mutagen

    Anyone successfully install the PDG Mutagen shelf tool? https://www.sidefx.com/tutorials/pdg-mutagen-toolset-walkthrough/ If you're using PDG in a production environment is it useful? Any issues?
  13. Trying without much luck to recreate the video wedging mosaic demoed by Scott Keating here https://www.sidefx.com/products/pdg/ For some peculiar reason the video is not directly linkable and there is no .hip file but it is halfway down the page in the AUTOMATE section, Wedging video. I am trying to create the TOPs node graph in the attached but not sure what all the nodes are. In the left column green box of course is a ROP geometry output , and in the right column red box there are 5 nodes. #1 is ROP Fetch I think, #s 4 and 5 are Wait For All and I think FFMPEG Encode Video respectively. But what are numbers 2 and 3 in the right column, Generate_Contact_Sheet Wait_for_Entire_Sequence ? Also anyone know of a working example of TOPs based video mosaic for simulations?
  14. Hi Everyone, I'm trying to setup a TOPs network to cache out sims with multiple parameters being sent to the dop network. Seemingly basic stuff, however nothing I'm doing seems to be working how I think it's going to work. What I've tried: Using a wedge node to set a random attribute and trying to use that attribute in an exterior dop network - caches into a view able geo rop output but all the wedges were the same Rebuilding the pyro sim purely in the tops network - it makes something but when viewed all the frames appear empty Have the source inside the tops and the dop outside - same result as the first
  15. Hi there, I found exactly what I'm trying to achieve in the Houdini docs but no step by step guide how to achieve this: https://www.sidefx.com/docs/houdini/tops/looping.html "Imagine an RBD simulation where a jar is being filled with marbles, one handful at a time. The entire process could be run as a single simulation, however marbles at the bottom of the jar might become unstable and the numbered of simulated objects would keep growing. One way to manage this is to run the RBD simulation for the first handful of marbles and use its results as a static object in the second simulation. The result of the second sim and first sim combined would be static objects in the third sim, and so on. You can do this in TOPs using a feedback loop with a ROP Geometry in the loop block" can anyone shed some light on this please? cheers S
  16. Hi all - I've got a TOPS network to render 25 different sim variations at low resolution just to evaluate them. I've stitched together a contact sheet with imagemagick and found a few I'd like to try compositing with. Now I want to render three specific ones with a different ROP setup that's higher resolution/quality. I've tried branching off of my wedge and doing all kinds of things with the map nodes and partition nodes but nothing has worked. Anyone out there know how to do this? Thanks for reading!
  17. Hi there I am currently making a HDA that takes a mesh, does an infection solve and spits out resulting textures; I have finally got my top graph cooking fine however I am a bit lost as to how the user will actually trigger it from the HDA interface. Promoting the force cook on the topnet doesn't work and even when normally activated, it seems to use up all houdini's threads as opposed to a cook from within the graph. I have also been scouring the pdg python module docs to see if I can trigger the network to cook from a callback script. The furthest I have got on that front is the cook method on both pdg.GraphContext and pdg.Node objects. pdg.GraphContext.cook() seems to want a CookOptions object which I don't know how to generate or manually create. pdg.Node.cook() wants a block argument and I am also lost as to what that is, I've tried using block=1,1 etc I found a py file called top in /houdini/python2.7libs/pdg/job/ which contains a function called cookTopNode. This looks promising however I don't know how to call it nor which module/object it is a member of. I'll provide a scene file if needed, just needs a bit of decluttering first Any help is greatly appreciated. George
  18. ok so some progress with PDG following Ari's tutorial, https://vimeo.com/323291527 but getting ImageMagick running properly on OSX is a total PITA! After installing, adding proper pathing to houdini.env it runs but no support .exr by default. Get the following error So thinking I need to install OpenExr I do so and get openexr 2.3.0 is already installed and up-to-date Any ImageMagick experts able to suggest a solution? Guessing this will be easier on my Ubuntu box....
  19. Hello folks, i'm reading a .json in TOPs, creating string attributes, and collecting. Now, i would like to read those attributes that i created in TOPs from SOP, i'm tryng with @myattr, and pdginput, but no luck. Basically it's the same situation described here: https://www.sidefx.com/forum/topic/66408/ Any idea ? Thanks in advance
  20. I have a few TOPs that save process and save geometry to disc. It takes some time for that work to finish. Do I have to recook the TOPs everytime the file is reopened? It was saved and geometry is still on disk.
  21. I have a Top net with a ropfetch node pointing at an opengl rop. When i render the opengl by cooking the ropfetch it renders the reference plane/ortho grid into the image. Even though i have turnned off its display in the view port. However if i render the opengl directly the grid doesn't render. Not sure if this is a bug. anyone have a solution? thanks.
×