Hi Pete,
I remember wrestling with this one too. This is a great page to help sort what the copy SOP is actually doing: docs [sidefx.com]
The problem with the flipping is the polyframe SOP which is having difficulty figuring out which way the world is up (cross-product of two vectors with identical direction) . If you look in the priorities section of that page, you'll see what houdini tries to do when there aren't any ‘normal’ or ‘up’ attributes. If you take the polyFrame out of the equation everything goes stable again.
I've included a variant of your file with a wrangle node set up so you can see what effect each of the ‘normal’ ‘up’ and ‘orient’ attributes have. You may not need that to get it, but it helped me when I grasped those things,
Hope that helps
Found 256 posts.
Search results Show results as topic list.
Technical Discussion » Trouble with copy orientation
- friedasparagus
- 402 posts
- Offline
Technical Discussion » Set Font Text from Vex - Render Alphabet
- friedasparagus
- 402 posts
- Offline
Hi,
Don't forget that, if you don't need to use vex for any other reason, you can use a python expression in the ‘Text’ field of the font SOP… something like:
Don't forget that, if you don't need to use vex for any other reason, you can use a python expression in the ‘Text’ field of the font SOP… something like:
alphabet = 'ABC...' return alphabet[int(hou.frame())]
Houdini Learning Materials » MantraSurface Bake
- friedasparagus
- 402 posts
- Offline
Hi guys,
I'm beginning to feel like the most absurd jack-in-the-box, whenever somebody mentions the bake texture ROP, I jump out from nowhere…
Are you managing to get output to the tangent normal (that isn't just green and purple) and displacement channels?
I'm beginning to feel like the most absurd jack-in-the-box, whenever somebody mentions the bake texture ROP, I jump out from nowhere…
Are you managing to get output to the tangent normal (that isn't just green and purple) and displacement channels?
Technical Discussion » Smooth Camera Morphing
- friedasparagus
- 402 posts
- Offline
@fusepilot, thanks for that last question about globbing, I had never thought of that and as it turns out the fetch CHOP will accept a globbing pattern in the ‘node’ parameter!
You may have discovered that already yourself, oooof, I'm slightly worried how excited I am about finding that out…
The Pre-Transform bit is a little trickier. Would the parenting actually pose a problem though in this instance? If you're blending ‘pose to pose’ so to speak, do you need the world-space transform?
EDIT: sorry, you didn't actually say anything about pre-transforms, just my own internal tranlator
You may have discovered that already yourself, oooof, I'm slightly worried how excited I am about finding that out…
The Pre-Transform bit is a little trickier. Would the parenting actually pose a problem though in this instance? If you're blending ‘pose to pose’ so to speak, do you need the world-space transform?
EDIT: sorry, you didn't actually say anything about pre-transforms, just my own internal tranlator
Edited by friedasparagus - July 9, 2016 05:10:43
Technical Discussion » Setting attribute based on volume
- friedasparagus
- 402 posts
- Offline
Hi Stefano,
it looks like there's just a couple of hitches with that attrib VOP… make sure you're running over primitives, not points. Next, in the ‘Set Attribute VOP’, make sure you've hooked up the ‘i1’ input to the incoming primitive number. If you use the ‘bind export VOP’ it will automatically set the attribute on the current primitive, but the ‘Set Attibute’ needs a bit more information,
Hope that helps
it looks like there's just a couple of hitches with that attrib VOP… make sure you're running over primitives, not points. Next, in the ‘Set Attribute VOP’, make sure you've hooked up the ‘i1’ input to the incoming primitive number. If you use the ‘bind export VOP’ it will automatically set the attribute on the current primitive, but the ‘Set Attibute’ needs a bit more information,
Hope that helps
Technical Discussion » modify groups
- friedasparagus
- 402 posts
- Offline
import soputils; kwargs['geometrytype'] = kwargs['node'].parmTuple('entity'); kwargs['inputindex'] = 0; kwargs['parmtuple'] = kwargs['node'].parmTuple('pattern'); soputils.selectGroupParm(kwargs);
Edited by friedasparagus - June 30, 2016 11:48:00
Technical Discussion » modify groups
- friedasparagus
- 402 posts
- Offline
Hmmm, this is definitely one of those where you look back and think “probably rushed that…”, so sorry for the crappy code.
This is for me certainly a case for an RFE, but in the meantime, I'll try and cook something more sensible up with action buttons… (what the group field in supported SOPs actually use. *insert head slap here*)
PS the soputils module is a new wonder for me!
This is for me certainly a case for an RFE, but in the meantime, I'll try and cook something more sensible up with action buttons… (what the group field in supported SOPs actually use. *insert head slap here*)
PS the soputils module is a new wonder for me!
Edited by friedasparagus - June 30, 2016 11:20:51
Technical Discussion » modify groups
- friedasparagus
- 402 posts
- Offline
Hello!
This has driven me nuts in the past, so I thought I bang it on the head meself. Try this out:
copy that code, create a button on the parameter interface for the group node and call it what you fancy. Paste the copied code into the callback script and try it out. It should set the geometry type to whatever the group ‘Entity’ parm is set to. Pretty rough and ready but seems to do the trick.
Let me know if it's useful
This has driven me nuts in the past, so I thought I bang it on the head meself. Try this out:
import toolutils; node = hou.pwd(); viewer=toolutils.sceneViewer(); entity = node.parm("entity"); typename = entity.menuLabels()[entity.eval()]; typeobj = getattr(hou.geometryType, typename); initial = node.parm("pattern").eval(); selection = viewer.selectGeometry( "Select geometry...", use_existing_selection=False, initial_selection_type = typeobj, initial_selection=initial, geometry_types=(typeobj,) ); string = selection.selectionStrings()[0]; node.parm("pattern").set(string);
copy that code, create a button on the parameter interface for the group node and call it what you fancy. Paste the copied code into the callback script and try it out. It should set the geometry type to whatever the group ‘Entity’ parm is set to. Pretty rough and ready but seems to do the trick.
Let me know if it's useful
Houdini Indie and Apprentice » Baking Normals
- friedasparagus
- 402 posts
- Offline
Hi there,
This has been driving me a bit nuts too. I submitted a bug report a couple of weeks ago, but unfortunately there doesn't appear to be a right direction at the moment. Can I just confirm with you if you're managing to get displacement maps generated? Those are also a no-show for me
This has been driving me a bit nuts too. I submitted a bug report a couple of weeks ago, but unfortunately there doesn't appear to be a right direction at the moment. Can I just confirm with you if you're managing to get displacement maps generated? Those are also a no-show for me
Technical Discussion » Count number of edges
- friedasparagus
- 402 posts
- Offline
There's also a hedge_isprimary() vex function which only returns true for one in every set of shared half edges, you can make a wrangle to “Run Over: Detail” and iterate over the half edges testing for primary:
EDIT: although I think there's more magic to @blackpixel's solution
int numedges = 0;
int i = 0;
while(hedge_isvalid(0, i)){
if(hedge_isprimary(geoself(), i))
numedges++;
i++;
}
i@count = numedges;
EDIT: although I think there's more magic to @blackpixel's solution
Edited by friedasparagus - June 27, 2016 13:06:36
Technical Discussion » impact solver connection mistake
- friedasparagus
- 402 posts
- Offline
Hello,
You haven't done anything dumb with this (at least if you have then I have)!
This is a weird thing, I remember tearing my hair out some time ago when I first came across this. The problem is with the way the houdini displays the impact points while you're in the DOP network, which appears to be that it displays them in the local space of the dynamic object itself, i.e. when the fragment tumbles and spins, it's impact points also tumble and spin, even though the impact data refers to a static point.
Unfortunately the only helpful thing I can say is to ignore it! Travel back into SOP land, and create a DOP import node and follow the steps in the docs [sidefx.com]. Having set the object mask to whatever you need and the ‘Import Style’ to ‘Fetch Geometry from DOP network’, set the data path the ‘ImpactAnalysis’ and it should display nice static points in the correct place.
I really hope this helps, like I said, it drove me bananas!
You haven't done anything dumb with this (at least if you have then I have)!
This is a weird thing, I remember tearing my hair out some time ago when I first came across this. The problem is with the way the houdini displays the impact points while you're in the DOP network, which appears to be that it displays them in the local space of the dynamic object itself, i.e. when the fragment tumbles and spins, it's impact points also tumble and spin, even though the impact data refers to a static point.
Unfortunately the only helpful thing I can say is to ignore it! Travel back into SOP land, and create a DOP import node and follow the steps in the docs [sidefx.com]. Having set the object mask to whatever you need and the ‘Import Style’ to ‘Fetch Geometry from DOP network’, set the data path the ‘ImpactAnalysis’ and it should display nice static points in the correct place.
I really hope this helps, like I said, it drove me bananas!
Edited by friedasparagus - June 27, 2016 06:33:22
Technical Discussion » How to create a group from UV seams?
- friedasparagus
- 402 posts
- Offline
Hi AJ,
If you're happiest getting a group setup then you could use the vertex split from Scott's suggestion, use a group sop with the ‘unshard edges’ option, and then fuse back together. You could also smash a connectivity SOP in there before fusing to be able to reference the islands later on.
You shouldn't be noticing an change in point numbers after the fuse, I haven't had issues with that myself yet, but there is always a first time!
Hope that helps and I haven't missed something dumb…
Cheers,
Henry
If you're happiest getting a group setup then you could use the vertex split from Scott's suggestion, use a group sop with the ‘unshard edges’ option, and then fuse back together. You could also smash a connectivity SOP in there before fusing to be able to reference the islands later on.
You shouldn't be noticing an change in point numbers after the fuse, I haven't had issues with that myself yet, but there is always a first time!
Hope that helps and I haven't missed something dumb…
Cheers,
Henry
Technical Discussion » Bake Texture 15.5 example
- friedasparagus
- 402 posts
- Offline
Hello again,
It seems that adding a material to the high res object does make a difference, I tried mantra surface and principled shaders. I got cavity and curvature passes generating some data, displacement however is still black as your hat…
Just thought I'd let you know
It seems that adding a material to the high res object does make a difference, I tried mantra surface and principled shaders. I got cavity and curvature passes generating some data, displacement however is still black as your hat…
Just thought I'd let you know
Technical Discussion » TopoBuild observations
- friedasparagus
- 402 posts
- Offline
Hi there,
you can delete polys by using the shift-select method on a polygonal face (just make sure you've cleared the selection before, you can use the middle mouse to clear the selection too) Then you can delete it.
The disable snapping feature is truly a mystery, I couldn't get any joy out of that either, but at least the points have stopped snapping through to the other side of the geometry when you move them (although they still snap through when you're creating a point, think I'll be submitting that one).
I'm loving the brush mode, and I tend to prefer that for the purpose of tweaking topology, where you're unlikely to ever to want to drag points across their neighbours. But then these things are always a matter of taste
you can delete polys by using the shift-select method on a polygonal face (just make sure you've cleared the selection before, you can use the middle mouse to clear the selection too) Then you can delete it.
The disable snapping feature is truly a mystery, I couldn't get any joy out of that either, but at least the points have stopped snapping through to the other side of the geometry when you move them (although they still snap through when you're creating a point, think I'll be submitting that one).
I'm loving the brush mode, and I tend to prefer that for the purpose of tweaking topology, where you're unlikely to ever to want to drag points across their neighbours. But then these things are always a matter of taste
Edited by friedasparagus - May 30, 2016 08:40:16
Technical Discussion » Bake Texture 15.5 example
- friedasparagus
- 402 posts
- Offline
Ha,yes I just made one too.. ah well.
I heard back from SESI and they've logged it as a bug, so it looks like we're not going mad )
I heard back from SESI and they've logged it as a bug, so it looks like we're not going mad )
Technical Discussion » Bake Texture 15.5 example
- friedasparagus
- 402 posts
- Offline
Ah good! So it's not just me then! I've been wondering if I was just a thundering wally.
Yes, it's the same for me, all other passes come out black. Managed to get it happening in 15.0.469, so I'm guessing it is a new problem.
Have you sent a bug report?
Yes, it's the same for me, all other passes come out black. Managed to get it happening in 15.0.469, so I'm guessing it is a new problem.
Have you sent a bug report?
-
- Quick Links