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

  1. Hi, I have a this TOP PDG graph that sends an email. (actually the problem is that it sends too many emails) I'm currently testing it. So it: 1. does wedge (done) 2. runs a sim (done) 3 send an email (problem here, it sends an email but sends an email for each work item of the sim, in my case it sends me 50 emails!).. I only need 1 email telling me that all the sim work items have completed. I also need it to be able to continue down the chain like this, with it only sending 1 email. So the idea is to have it do the sim, send an email when the sim is all finished, do a render, send an email when the render is all finished, etc. *I also note that little purple icon on some nodes. What do those mean? I notice the purple icon first appears on the send email top in the chain. EDIT: I was reading the documentation and found that send email is intentended to be used after a Wait For All top or at the end of a large network. So now I'm just trying to find a way to "branch off" and send an email "off to the side" sort of speak. Also found info on the purple icon: When a TOP node is dynamic, a purple badge appears on the node.
  2. Hello, I am currently trying to create a terrain using TOPs. However, some of my HDAs created for it use camera data via the ndc VEX function, for example all scatter points outside the camera angle are deleted. But now when I add this HDA to my TOPs workflow, the camera is not recognized, and Tops takes Default Camera Values instead (See attachments). Is there a way to make the HDA processor recognize the camera data? example.hipnc examplewithHDAs.zip
  3. I've used a series of wedge nodes to produce a huge batch of wedged files (300k renders), comprised of 5 wedge attributes. The client wants me to render specific target combinations of wedges (so each render would be comprised of its own unique combination of wedge indexes: 0, 7, 7, 12, 3) for a total of ~4,000 renders. Is this possible to do with nodes, or does it require some form of scripting? P.S. I have a spreadsheet showing every combination of wedges - maybe some sort of .csv import is possible?
  4. I have 80 variations of my geo. each one 48 frames of animation i want to make a montage for every 4 variations and end up with 20 videos, instead of one huge video with all 80 variations animating. The screenshot i have attached is the latter - all variation animating in one video
  5. I am trying to do a seemingly simple task for each wedge : 1) export my generated geo as an obj 2) export a jpg image from flipbook (openGL render) 3) overlay on top of that my wedge values. I have no idea what am i doing wrong here... PDG_test.hip
  6. I think I need help to understand the whole pdg process in Houdini. I've done a lot of simpler tasks, doing simulations, meshing, all with static work items. Now I have a more or less simple problem: I have three characters and every character has some props like clothes, shoes, wapons. What I want to do is to do some work with each of these props. The props of every character are packed. And now I have one with 4 props another with 8 props and so on. My naive approach is to setup an top network where I first use a wedge node to iterate over the characers. In a delete node I delete all which are not the current one. Then I unpack the content of this character to get the props and based on these props I want to create new items. In a wedge node I make the number of wedges depending on the number of props in the unpacked character. Now I would expect that the wedge node created a different number of items for every character, but it does not. It always creates the same amount of items. In the images you can see the simple example network and my top setup. It seems that I have a basic misunderstanding of the pdg workflow, maybe anyone is able to enlighten me, thanks for having a look. Example hipfile is attached. What I expect is that the ROP Geometry node writes a different number of elements to disc, first 4, then 6 and finally 8 elements, but it does not. From what I understand the PDG workflow this is called dynamit item creation because I do not know how many items I need later in the graph, but I am unable to create such a dynamic graph. pdgdynamic.hiplc
  7. Hi I'm spending the day figuring out how to use TOPS. How would I connect the Heightfield Output node to a wedge? I can override filename but it doesn't cause it to render. Cheers TOPStest.hiplc
  8. As you can see in the screenshot the rop composite is not outputting the correct file name (tralala is just a test lol) the three numbers you see in front of the filename '115' is the wedgenum attribute. i dont know where is that coming from. What am i doing wrong?
  9. COP - TOPS Wedging

    i have a very simple cop2net that processes an input image and i have turned this small setup into an HDA with some parameters exposed. i want to run the cop2net for every image from my pc directory, have the HDA parameters wedged and export each time the generated image. So far i have linked the wedged parameters with my HDA parameters. 1) But how and where do i fetch my images? 2) and how do i export the result?
  10. TOPs and Deadline

    Has any one been able to get TOPs and deadline working together? I've tried to send a couple of jobs with deadline scheduler but I was not getting any output... Deadline was also not returning any errors.
  11. I'm having an hard time telling my ROP Geometry Output to cache simulations one frame at a time. I did as the documentation says: check the "All Frames in One Batch" parameter, but once the first work (first frame) ends, the next ones take like 1 sec each and the output has 1KB.... I've switched to a ROP Fetch TOP pointing to a file cache SOP and set the "Evaluate Using ROP Node Configuration" parameter and it works fine (displays only one work and caches all frames sequentially). Am I doing something wrong?
  12. PDG - Cache only 1 wedge at a time

    Hey guys, I'm having this issue in TOPs: I have 9 wedges and the ropfetch is trying to run all 9 simulations at the same time. Is there a way to run 1 simulation at a time? The simulation is a bit heavy and I'm trying to simulate it in 1 machine (i dont have a farm). I know my machine can handle 1 of the sims running alone. It also works when I reduce the amount of particles Thank you PDG_Wedge_mp4_0102_odforce.hiplc
  13. I am trying to fetch textures from a folder run them through a COP2net process and export them back. Is there a way to automate this? Maybe Tops?
  14. I am wondering how to use File Remove TOP. I have created multiple simulations using Wedge TOP. The simulations have dependencies on each other. For example, the second and third simulations are dependent on each other, but the second and fourth are not. What I want to do is to delete part of the previous cache when that simulation is complete. Example process The first simulation & cache The second simulation & cache Removing 901-930 frames in the first simulation cache from disk 3rd Simulation & Cache Removing the 931-960 frames in the second cache from disk Thanks!
  15. Hi, I have very basic experience with PDG/TOPS and would appreciate some advice. I have a fairly computationally expensive setup we have been developing at work. I've tried to optimize it as much as I can but have seemed to hit a dead end. Some scenes could take up to 30 mins to compute and it doesn't seem to be maxing out my CPU most of the time. I was thinking if certain tasks especially for loops could be split up easily to run in parallel (compile nodes don't support some of the nodes we used which currently have no alternatives) that could drastically improve compute times. I've tried doing some simple tests with TOPS and conceptually it works but with significant overhead of loading and calculating the entire scene up to the point where I'm splitting tasks, and also I'm not sure if it's something with my setup, but even writing out small files from each tasks are quite slow. Anyone else experience this? So after explaining briefly my intentions I am hoping to get some suggestions from people with more PDG experience. - Is it possible to not have PDG process the entire scene up to the "start" point in the graph where the tasks are split? what would be the best approach to minimize load times, possibly have it calculate once, then split the tasks? - Is it mandatory for PDG task outputs to be written to disk? Is there a way to have sops merge the results without going through file caches? Thanks alot! /YG
  16. Hello everyone! I'm programmer starting in Houdini 17.5 and it's very confusing to me. I'm familiar with hadoop/spark, which is kind of similar to TOP. But boy, is TOP confusing to me! What I want to achieve: I a have geometry node dependent on time (for each frame, it loads Alembic from file sequence, processes it and stores again alembic). I'd like to parallelize this (the frames are independent). Local scheduler is fine (I have many cores on single machine and a lot of memory to spare). My tactics for achieving that: Create a TOP network: Wedge over frames to create work item for each frame Run geometry import with Frame = work item frame Run ROP Alembic Output for each work item The problem starts in step 1, where I do not know how to generate work items with different frames. In other words, I want to wedge across frames but cannot. I've tried to change the attribute to "pdg_frame", but the frame was still 0: Additional questions on TOPs: How do I debug which attributes are on work items? If I wedge across "MyAttribute", I cannot see it anywhere (info, task graph table), but if I export it as CSV Output, I can see it exists. Thank you all for your time!
  17. 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.
  18. 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
  19. 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
  20. 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?
  21. 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
  22. 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?
  23. 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?
  24. 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!
  25. 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'))
×