Jump to content

Shalinar

Members
  • Content count

    43
  • Donations

    0.00 CAD 
  • Joined

  • Last visited

Community Reputation

2 Neutral

About Shalinar

  • Rank
    Peon

Personal Information

  • Name
    Chris Burgess
  • Location
    Los Angeles
  1. Thanks mate, I should have been clearer: I know that instancing spheres onto particles "works", but I want to avoid that if possible since instancing geo onto tens or hundreds of millions of particles can get quite heavy. Following Steve Knipping's tutorial "Applied Houdini - Particles 1" (https://www.cgcircuit.com/tutorial/applied-houdini---particles-i/video/ah-particles-9b-last-changes-illumination?time=53) around the 55 second mark is when he adds a geo light to his particles. No instancing spheres, it just "worked". I believe he was using PBR in the video, either that or micropolygon PBR. Interesting. I got it working with the Add SOP like you suggested. It's bizarre to me that "Add Particle System" would produce what I need when an actual particle system from a real POPs simulation doesn't. I'll have to rewatch the tutorial I was following to see if there was a primitive with the particles somewhere that I missed, because he definitely did not use this Add SOP method to get the geo light working. Thanks for the help guys
  2. Hey Albert, thanks for the helpful response! I'm not sure about the first part. I was following one of Steve Knipping's particle tutorials, at the end he just adds a geo light and points it to his particle sim, and everything worked fine without instancing actual geometry onto the points or changing anything in the geo light. Also I don't really know what kind of material to add to a geo light... I tried creating a principled shader with Ce set to Use Point Color, but it didn't make a difference. In the end, controlling the Ce value on the particles' shader did the trick, so thank you for that! I would still like to understand why the geo light doesn't behave like I would expect it to, though.
  3. Hi all, I'm getting some unexpected behavior when I try to light my scene. I've got a particle sim, and I want those particles to illuminate the scene, so I assigned a Geometry Light to them. However, it's not acting as I expected. For one, cranking up the Intensity of the light does nothing. In the viewport, I can see the scene getting brighter, but in the render there is zero difference between an Intensity value of 1 vs 1000. Another odd behavior is that the light in the render seems to be dependent on where my display flag is set in the particle network, rather than the node that I told it to point to. I'll upload my hipfile to illustrate better, but basically I've got two null coming after my particle sim. One has a vop where I'm cranking the Cd way up, and the other is just the vanilla result of the particle sim. Even though I set my Geometry Light to point to the one with the overblown Cd, if I move my display flag to the other null then that is what gets used for the render. This illustrates the third strange behavior to me, which is that cranking up the Cd values makes my light brighter. Like the Cd is acting as the Intensity parameter, rather than the actual intensity. So in order to make my light actually illuminate objects, I have to completely overblow my Cd and ruin the color of my particle sim. Are these supposed to work this way? All three seem odd to me. If I've got something set up incorrectly though, please let me know. Thanks, -Chris particle_lights.hipnc
  4. I'm using a userSetup.py script to do some setup in Maya during launch. However, some things are not happening as expected, and I can't seem to find the output of Maya's stdout during startup to debug. For example, if I put the line print "Testing stuff..." into userSetup.py, I cannot find where it gets printed. It does not show up in the Script Editor after Maya launches, it does not get written to the shell if I launch Maya via cmd prompt > maya.exe, and it does not get written out to the output file if I set MAYA_CMD_FILE_OUTPUT in my Maya.env Where can I find the stdout from Maya's startup process??
  5. Hmm thanks Luke. I'll look into HQueue-ing instead, as this is an animation. It's mostly reading files from disk from a shared network drive that both machines have access to, so I was hoping that wouldn't slow it down too much (as opposed to having all the heavy sim info inside the ifd). I just checked the frames that finished so far, and they're all fucked up. None of them rendered properly, something I've never seen with mantra before. I've upload an example of a "completed" frame using "manta -H computer1,computer2" env.0004.exr
  6. Hi guys and gals, I just recently started learning about distributed rendering with mantra. I've been trying it out and I have a really dumb question. I have two machines, lets call them computer1 and computer2. So in Houdini I go to my mantra rop, in the Driver tab switch the Command to Network Render and use the command "mantra -H computer1,computer2", then hit Render To Disk. Ok great everything launches. Computer1 is my main machine (master), and computer2 is the slave machine I want to distribute rendering to. When I look at computer2, having just logged in and done nothing else, it says mantra is running as a background process, but the CPU is only at like 2-4% usage. I would assume a render would take up way more than that, since the master machine spikes up to 90-100% at times during the rendering. How can I be sure that the rendering is in fact being properly distributed amongst all the machines designated in the command? Thanks, Chris
  7. Why Do Dop Points Move From Frame 1 to 2?

    Interesting... Thanks for the replies everyone I'm still trying to understand this further, and I've got some questions for anyone who might know. 1. If it's because of interpenetration, how come the geo itself doesn't move when the first frame is solved? I would expect the pieces to move along with the centerpoints, but that doesn't appear to be the case if the packed pieces are viewed in wireframe. 2. Does this mean voronoi fracturing by its very nature will always create interpenetrating pieces? Why is that? I can understand that boolean creates "perfect" cuts in that sense, but why does voronoi method create interpenetrating pieces? 3. If it's due to collision object padding, why doesn't the same thing occur when using boolean pieces? I would assume boolean pieces would still have a little bit of default padding added to the pieces, leading to the same effect, but that doesn't seem to be the case as Vitor demonstrated. Again thanks in advance for any help, I really would like to understand what's going on at a deeper level (and why), so I can make better sims!
  8. Pretty simple.. Any time I do a destruction setup, just fracturing geo, packing it, and running a simple sim, the points of the packed pieces jump from frame 1 to a slightly different position in frame 2. Why is this? It's incredibly frustrating when trying to map hi res pieces onto a low res sim because on frame 1, everything will look good but as soon as it gets to frame 2 all the pieces jump and now the fracture lines show before the destruction happens. Is there a way around this? Thanks, Chris In attached example, just turn to wireframe, turn on Display points and scrub between frames 1 and 2 to see what I mean dop_points_jump_example.hipnc
  9. Viewport Changed Python

    If you look at a recent post I made here, Alex Rusev gave me an excellent solution for getting an event trigger when a new node is selected. I strongly suspect you could use the same mechanism for finding out when the viewport changes. Essentially you just add a new eventLoopCallback() that compares the current viewport to a previously-stored viewport, and if they are different then do a thing (in my case, I needed to emit a Qt signal, in your case, scale geo). Not sure what your level of python is, but if you need help writing it I'll probably have some time to figure it out with you a little later today
  10. hou.pasteNodesFromClipboard()

    The network editor has a local coordinate system (X and Y locations). My guess is that by default the nodes get pasted at (0, 0). If the pasted nodes are going to be wired into existing setups, you can always try hooking up the inputs and using Node.moveToGoodPosition() or Node.layoutChildren() on the pasted nodes. Alternatively, you can query the location of one of the existing nodes (probably the last node in the branch) and use hou.moveNodesTo() to move them close to that location.
  11. PySide Emit Node Selected Signal

    This has been working great for me Alex! The only modification I've made is in the remove_selection_event static method, I ended up having to add the following lines at the end: if hasattr(hou.session, '_selection'): del hou.session._selection Otherwise, I was getting a continuous hou.ObjectWasDeleted error when event_callback was trying to getattr(hou.session, '_selection', None) if I had deleted the node (this also happened when I tried it first on a locked then unlocked SESI HDA -- weird). So I just made sure to clean up the _selection attribute on hou.session and it's working like a charm! Thanks again for your very detailed example, it was clear, concise, and easy to follow/replicate for my own needs.
  12. PySide Emit Node Selected Signal

    Thank you very much Alex! That install_selection_event method is pretty clever I will test this today in my program and let you know the results.
  13. PySide Emit Node Selected Signal

    In the current tool I'm building for H16, I have a UI in which I would like to have different options available to the user depending on their selection. It would be ideal if these options can change without the user having to close and relaunch the UI every time. In short, I need a way to capture a signal emitted when the user selects node(s). I looked around the HOM and didn't see anything that looks like it gets called whenever a node is selected, just queries for currently selected nodes. Does anyone know how I could trigger something in my UI whenever the user selects different nodes? Thanks! Chris
  14. Weird Behavior - createOutputNode

    Thanks Graham, figured out my mistake right as you posted haha
  15. Weird Behavior - createOutputNode

    Ah my mistake, "parent" refers to the obj-level container, not the input node. Printing "parent" in my case was misleading because the parent name was the same as the input node's name. Code fixed to: input = node.inputs()[0] input.createOutputNode("xform")
×