Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

Community Reputation

1 Neutral

About DeeLan

  • Rank

Personal Information

  • Name
  1. Resampling Stretched Grain Chain

    @StepbyStepVFX thanks heaps for that! Your method worked perfectly
  2. Resampling Stretched Grain Chain

    Hey Everyone, I've a got a scene where I need to stretch out and resample a cable made out of POP Grains. I've managed to get the stretching part going, but the resampling is causing issues. As you can see when the cable gets stretched the stretched parts essentially becomes really low res, so I need to resample it to keep the deformations smooth. As you may have guessed, a resample node inside a SOP Solver did not work. I tried a few different things, including transferring attributes from the old (lowres) cable to the newly resampled one based on uv's, copying some VEX code from inside the POP Grains node itself into a Point Wrangle to generate the needed attributes, and deleting all attributes/groups, recreating the targetP/weight/stiffness attributes and groups, and then letting the solver take care of the rest. None of these really worked. Does anyone have any suggestions for how to do this? I have included my scene file with and alembic file so you guys have a look if you want. Its not the most elegant or pretty thing (still very much in the early stages) but if you follow the bright red nodes you will get to the SOP Solver where I want to do the resampling. Grain_Resample_Help.hipnc shot_0120_maya_export_v004.abc
  3. Hard Constraints Problem - Force Reaching Infinity

    @tbay312 I still don't know why its reaching infinity but I have found that if you add an "Enable Solver" DOP right after the SOP Solver for the constraint network, and make it so its inactive until the rigids become active, it seems to give you your control back.
  4. Hey guys, I'll keep my original question below just for clarity of where this is all coming from. I've got 95% of the work done (and all in Python, save for an embedded hscript command or two). All I face now is two issues. Firstly, I'm using the "ombind" and "omubind" to handle the binding of my handles. Unfortunately, these functions operate on every single instance of my asset in the scene. I want them to work only on the instance that owns the parameter that was changed. Anyway to get this to work? Secondly, whenever I bind or unbind anything, the change does not take effect immediately. I have to hide then show the manipulator handle before the changes show up. Is there a way in Python (or even hscript) to refresh/ hide and show the handle automatically? -- Original Question -- I really need some help. On my asset I have a checkbox parameter and a transform handle. What I need to do is, whenever the checkbox is toggled, get the state of the checkbox and if the checkbox is checked, then bind the "tx" field on the handle to my posx parameter, and if it is unchecked, unbind "tx". So my pseudo code is looking like... whenever checkbox changes state cbState = state of checkbox if(cbState){ bind mainHandle:tx to posx parameter }else{ unbind mainHandle:tx } From what I've found so far the only way to achieve this is to write script in HScript (because apparently Python can't bind handles yet) in the "scripts" section of operator type properties. I'm quite comfortable with VEX but I have no experience with HScript and so far everything I've tried to do in HScript has failed miserably (I can't even get a simple echo command to work). Is anyone able to provide me with some example code or a tutorial or something that would show me how to achieve this? I've been digging through the documentation trying to learn but I just keep hitting walls.
  5. Hi Benne, Thanks for the advice. However the problem I'm having isn't with the parameters but the manipulator handle itself. I've updated my original question to reflect the progress I've made, but I guess the short version is that I need a way of hiding the actual manipulator handle based on a certain parameter (so exactly the same behaviour as "hide when", but on a manipulator instead of a parameter)
  6. Hey everyone, I'm building an asset and I have two questions regarding handles. Firstly (and most importantly) I need to know how to enable and disable different manipulator handles using a conditional expression. I have a primary transform handle that allows me to affect everything. However I'd like to be able to switch to a different handle that only allows partial manipulation of the transforms depending on a drop down menu. So if I change the menu to "Plane" for example, the primary handle is disabled and hidden, and different handle that allows manipulation of ONLY translation and rotation is enabled. I'm not sure how to do this. I tried some constant expressions (like '!0') in both the 'onoff' and 'input' fields, but those didn't actually seem to do anything. EDIT: I've figured out that the easiest way to enable or disable input of a manipulator handle is to create a checkbox parameter, bind the 'onoff' field of the handle (oddly tho not the 'input' field) to that checkbox and then just add an expression to the checkbox to get the behaviour I want. While this works for enabling and disabling input, it DOES NOT affect viability at all. Anyways around this? Secondly, is it possible to reference fields from the parameter window in the handles window. On a couple of my parameters I've got limits on the ranges, so I was hoping to be able to reference those limits in the handle instead of manually updating it every time I change the limit in the parameter window. Not super important but just curious about it.
  7. PBR Translucency

    Thanks for the tip. I'll check it out
  8. PBR Translucency

    Hey guys, I'm trying to make a PBR Material for some leaves in a scene, however I'm struggling with translucency. I figured out that I can change the Component Label on a PBR Diffuse node to "translucent" to get some translucency (tho oddly enough changing the Diffuse Model just makes everything render black... ). After that though I've got no idea how to control it. I'd like to be able to control exactly how translucent the leaf is, and even be able to plug in an additional map to vary the translucency. Does anyone know of how to go about tackling translucency in mantra?? P.S I'm using textures on grids instead of actually modelling the leaves.
  9. Hey Guys, I'm looking to do some basic shape instancing in COPs. I was hoping to be able to build similar functionality to the "Tile Sampler" and "Tile Generator" nodes in Substance Designer. I thought a loop might be the way to go but so far I've just been getting errors. Anyone have any tips for going about this?
  10. Substance SHOP to Material

    Damn that sucks. I guess we just have to sit and wait for this new VOP that Algorithmic is supposedly going to make.
  11. Substance SHOP to Material

    Hey Guys, I'm playing around in with the Substance Plugin in Houdini. I really want to do some Material Blending, but the Substance Plugin is only available in SHOPs, and I can't quite figure out how to get it into a Material at all. Does anyone know of a way of getting the Substance Shop into a Material Builder? Or any other way of getting a "Layer" out of it so that I can plug in into a Layer Mix?
  12. Hey Guys, I'm currently doing a project on Procedural Art, techniques, workflows, how to integrate with more traditional "hand crafted" methods etc etc. Part of the project is discussing the history and future of it. I've found a ton of articles on the History of procedural level design, but what I really need (and what I'm struggling to find) is stuff on the history of procedural Modelling and Texturing, particularly for film (though I won't scoff at anything about games haha). If you guys have any articles or papers or anything that relate even vaguely to this area, I'd love to take a look
  13. My Original Question is still posted bellow, but i have since figured out a solution to get what I want. Basically in CHOPs I have a null with a string parameter with a multi line python expression on it. This expression produces a string with all the channel names in it. refNode = hou.node('/ch/ch1/noise1') tracks = "__TEMPSTRING__" iteration = 0 trackTuple = refNode.tracks() for track in trackTuple: curTrackString = str(track).split(" in ")[0] curTrackString = curTrackString.split("<hou.Track ")[1] if iteration == 0: tracks = curTrackString else: tracks = "{0} {1}".format(tracks, curTrackString) iteration += 1 return(tracks) Just make sure that "refNode" is referencing the node you want to get the channels from and this should work for you as well -- ORIGINAL QUESTION -- Hey guys. I need to be able to the names of all the channels that exist on a particular CHOP into a string parameter field (as shown below). There is a VEX Function called "chnames" which gets me the names but then I don't know what to do with it. I've promoted the names to a clip attribute but I have absolutely no idea how to access said attribute in an expression. So my two ideas are either to... 1) Stick with the Clip Attribute and somehow reference that in an expression OR 2) Somehow execute the "chnames" VEX function in an expression/parameter field (which I don't even think is possible but putting it out there just in case) If anyone knows how to do either of these things or has another method that'd work please let me know. I'm about to explode from the frustration of trying to figure this out!
  14. @j00ey thats perfect! It doesn't at all have to be in a wrangle. I just tend to default to solving problems with VEX but in this case your method is exactly what I need! I'm gonna guess that channel data vs metadata is like the "P" attribute vs every other possible point attribute. One's the default attribute that exists and is used on every single point/channel, the others are just extras we can use. I think part of the problem I was having is the mode that the wrangle is set two. Definitely something to look into (also some more documentation would be nice haha).