Group SOP
first uncheck Enable parm in Create/Number tab
then in Combine tab specify group name click on NOT EQUAL sign next to it then set next parm to *
so in essence it will mean
group != *
where * represents all the existing primitive groups and that means that your newly created group will contain every primitive that doesn't belong to any other prim group yet
Found 5502 posts.
Search results Show results as topic list.
Technical Discussion » Is there a simple way to group primitives NOT yet in a group
- tamte
- 8551 posts
- Online
Houdini Indie and Apprentice » Parameter red border
- tamte
- 8551 posts
- Online
it means that the parameter is bound to viewport ladder handle
so if you are in Show Handle mode in viewport (Enter) then MiddleClick+drag ladder will control bound (red border) parameters
you can set/unset it by RightClick on parameter name and choose
More/Bind to Viewport Ladder Handle
or
More/Unbind all Viewport handles
so if you are in Show Handle mode in viewport (Enter) then MiddleClick+drag ladder will control bound (red border) parameters
you can set/unset it by RightClick on parameter name and choose
More/Bind to Viewport Ladder Handle
or
More/Unbind all Viewport handles
Technical Discussion » Object merge recursive object path pattern
- tamte
- 8551 posts
- Online
AFAIK you can do it by specifying finite number of levels, each level separated by whitespace like this
/obj/subnet1/*/OUT_RENDER /obj/subnet1/*/*/OUT_RENDER /obj/subnet1/*/*/*/OUT_RENDER /obj/subnet1/*/*/*/*/OUT_RENDER etc
or maybe doing python Node.glob() to get all nodes you are interested in and output the list of them
(is there any reason for having so many nested Object Level subnets? as they are not necessary for parenting I can imagine that they were created by importing FBX or Alembic at default settings, which I find very unintuitive, but note that you can just uncheck Import Null Nodes as Subnets to get clean hierarchy
similarly for Alembic uncheck Build Hierarchy Using Subnetworks)
/obj/subnet1/*/OUT_RENDER /obj/subnet1/*/*/OUT_RENDER /obj/subnet1/*/*/*/OUT_RENDER /obj/subnet1/*/*/*/*/OUT_RENDER etc
or maybe doing python Node.glob() to get all nodes you are interested in and output the list of them
(is there any reason for having so many nested Object Level subnets? as they are not necessary for parenting I can imagine that they were created by importing FBX or Alembic at default settings, which I find very unintuitive, but note that you can just uncheck Import Null Nodes as Subnets to get clean hierarchy
similarly for Alembic uncheck Build Hierarchy Using Subnetworks)
Technical Discussion » Quarternions in chops
- tamte
- 8551 posts
- Online
It's not always automatic, maybe if you are using Object CHOP to bring rotation channels, but if you are bringing the channels by yourself using Fetch CHOP or creating them in CHOPs directly you need to mark rotation triplets as quaternion yourself using Attribute CHOP so some chops can treat such rotations as quaternions
http://www.sidefx.com/docs/houdini13.0/nodes/chop/attribute [sidefx.com]
http://www.sidefx.com/docs/houdini13.0/nodes/chop/attribute [sidefx.com]
Houdini Lounge » What's with the Smooth SOP?
- tamte
- 8551 posts
- Online
Houdini Indie and Apprentice » group pattern with parameter
- tamte
- 8551 posts
- Online
keyframeI think jerry was refering to syntax in group parm on sop nodes not actual pattern of Group SOP
Don't know this for a fact, but you might need to use the global $TY, instead of @P.y depending on context.
G
whichever is the case, backticks apply to both of them for inserting a value using an expression
Houdini Learning Materials » Python global expression variables
- tamte
- 8551 posts
- Online
Houdini Learning Materials » How to build OpenGL in custom shader?
- tamte
- 8551 posts
- Online
go to Edit Rendering Parameters dialog for your material/shader
from SHOP Options add OGL tab with all properties to your shader, then connect whatever you need with your shader parms with expressions as it's the case in default materials
from SHOP Options add OGL tab with all properties to your shader, then connect whatever you need with your shader parms with expressions as it's the case in default materials
Houdini Indie and Apprentice » group pattern with parameter
- tamte
- 8551 posts
- Online
SI Users » simple fast toon rig
- tamte
- 8551 posts
- Online
AdamJ
- no XSI synoptic view I'm afraid (though you can setup something with a proxy rig/image plane/camera parented together and some selection scripts but nothing out of the box)mpexuz
- Does the rig come with any kind of Picker or Synoptic to help select the controls or does it even have a Select/Key ALL?
there is a Character Picker, that gives you some of the synoptic functionality
Right-Click on any Null Object node -> Character Picker…
quite simple, probably deprecated, but can be useful
Technical Discussion » Diffuse Minimum
- tamte
- 8551 posts
- Online
sadly not for artistic control, due to nonphysical nature of Surface Model VOP
it's necessary to use it when using fresnel and specular intensity is < 1
because diffuse is blended using transmissive fresnel component which results in values 0-1 so if your reflection is on but Specular intensity is low, like 0.1 then at areas where diffuse is faded to 0 reflection reaches only 0.1 and you'll end up with dark areas due to lost energy even if Conserve Energy is on
physically diffuse would be complementing reflection intensity therefore the fresnel blend would result in 0.9-1 range for transmittance since reflection has 0.1-0 range
this gets more complex with more components(e.g. refract) and Surface Model is not helping at all
anyway, If I ever have Fresnel on and Specular Intensity < 1 I make sure that Diffuse Minimum is 1-Specular Intensity to compensate
the same goes for Refraction Minimum
On the other hand when using Fresnel I almost always have Specular Intensity at 1 and therefore keep all …Minimum parameters at 0
it's necessary to use it when using fresnel and specular intensity is < 1
because diffuse is blended using transmissive fresnel component which results in values 0-1 so if your reflection is on but Specular intensity is low, like 0.1 then at areas where diffuse is faded to 0 reflection reaches only 0.1 and you'll end up with dark areas due to lost energy even if Conserve Energy is on
physically diffuse would be complementing reflection intensity therefore the fresnel blend would result in 0.9-1 range for transmittance since reflection has 0.1-0 range
this gets more complex with more components(e.g. refract) and Surface Model is not helping at all
anyway, If I ever have Fresnel on and Specular Intensity < 1 I make sure that Diffuse Minimum is 1-Specular Intensity to compensate
the same goes for Refraction Minimum
On the other hand when using Fresnel I almost always have Specular Intensity at 1 and therefore keep all …Minimum parameters at 0
Technical Discussion » Can you / has anyone layered multiple captures?
- tamte
- 8551 posts
- Online
thanks edward
yes, Python and
hou.node(“../sticky1”).worldTransform().extractRotates(“srt”, “zyx”)
hou.node(“../sticky1”).worldTransform().extractRotates(“srt”, “zyx”)
hou.node(“../sticky1”).worldTransform().extractRotates(“srt”, “zyx”)
gives correct values as well
yes, Python and
hou.node(“../sticky1”).worldTransform().extractRotates(“srt”, “zyx”)
hou.node(“../sticky1”).worldTransform().extractRotates(“srt”, “zyx”)
hou.node(“../sticky1”).worldTransform().extractRotates(“srt”, “zyx”)
gives correct values as well
Technical Discussion » Can you / has anyone layered multiple captures?
- tamte
- 8551 posts
- Online
here is the working example of sticky bone acting as a second(or whichever) deformation layer with pose compensation for underlying deformation
as I noticed that origin() seems to be using XYZ rot order to compute rotations and capture pose seems to be using ZYX (even if bone rot order is set to XYZ) I used Object CHOP to compute correct Capture Pose
as I noticed that origin() seems to be using XYZ rot order to compute rotations and capture pose seems to be using ZYX (even if bone rot order is set to XYZ) I used Object CHOP to compute correct Capture Pose
Technical Discussion » Can you / has anyone layered multiple captures?
- tamte
- 8551 posts
- Online
phrenzy84tamte
…edit/ though i am slightly puzzled, if i will be painting the capture then why do need to make sure the region is in the right place if in the end it will all be custom. Anyways, i will try it out.
if you will paint the weights anyways and not use capture regions to capture on the fly then deformation will work even when not making sure capture regions are in corect place
however
referencing world location has another reason
it compensates for bone movement that is caused by deforming surface, the bone is stick onto
therefore avoiding double deformation you would have even if your weights would be painted
Technical Discussion » Can you / has anyone layered multiple captures?
- tamte
- 8551 posts
- Online
you can include static bone or (another compensated bone) additionally to all your sticker bones
then assign all the points to that bone
and then paint influence of your stickers (so the smoothing will work because it can now blend between bone weights)
or even better
capture with that one bone, set weight to 1
make another capture with all the stickers
uncheck Destroy Existing Weights on that capture
play with Blend Factor so they will nicely blend in based on their capture region so they update their capture weights when you correct your sticker locations
then assign all the points to that bone
and then paint influence of your stickers (so the smoothing will work because it can now blend between bone weights)
or even better
capture with that one bone, set weight to 1
make another capture with all the stickers
uncheck Destroy Existing Weights on that capture
play with Blend Factor so they will nicely blend in based on their capture region so they update their capture weights when you correct your sticker locations
Houdini Indie and Apprentice » a value returned by random expression
- tamte
- 8551 posts
- Online
Joker386it's difficult to know for sure by such example
Check the JK attr in the spread sheet from this file !
in the spreadsheet I can see one 0 and two 1's
but if I append blast sop with point group expression @jk!=0 I get 1 point and @jk!=1 keeps 0 points
so clearly some rounding happening in one or both cases
on top of that changing the expression to floor(rand($PT)) returns all 0's
and changing it to ceil(rand($PT)) returns all 1's except one meaning that one seed returned pure 0 value (seed 2250372)
this was on sample of 5 000 000 seeds
tried for range from -500 000 000 to +500 000 000 seeds, still no 1's
so till this point it looks to me as 0<=n<1
but I guess there may be some seed outside this range with value of 1
can someone provide specific seed where floor(rand(seed)) returns 1?
Technical Discussion » Can you / has anyone layered multiple captures?
- tamte
- 8551 posts
- Online
phrenzy84
…
The reason i am asking this is i want to have a sticky object influences by one deform, and that sticky object be the root for another bone
…
that kind of setup will definitely work
I was using it in the past for controllers which were sticking on deforming geometry as a secondary layer of control on top of shape animation
you will need to update capture pose to sticky location so that there is no double deformation or missed capture
so simply reference it in bone's Capture Bone Translate&Rotate parameters using origin() expression
SI Users » A few things I could not find when I made the switch
- tamte
- 8551 posts
- Online
in regards to the pivot/transform discussion I'm missing mostly Neutral Pose layer rather than Pivot layer of the object transform
Neutral Pose is equivalent to Pre-Transform with one big advantage of being animatable
simply making Pre-Transform accessible/animatable (like SRT parms) would make lots of rigging tasks so much easier since it would be possible to adjust Pre-Transform by expression linking or CHOPs, at least that's how I was using them all the time in SI
Neutral Pose is equivalent to Pre-Transform with one big advantage of being animatable
simply making Pre-Transform accessible/animatable (like SRT parms) would make lots of rigging tasks so much easier since it would be possible to adjust Pre-Transform by expression linking or CHOPs, at least that's how I was using them all the time in SI
Houdini Indie and Apprentice » Switch between two POPattractors (or switching the SOP path)
- tamte
- 8551 posts
- Online
just switch source geometry in SOPs with Switch SOP then reference the result in POP Attract SOP Path
or
animate SOP Path parameter on POP Attract node directly (yes you can keyframe string values in parms in Houdini) so it changes from one path to another
or
if you want the control per particle, have 2 streams with POP Attract and just switch between them with some rule per particle
or
animate SOP Path parameter on POP Attract node directly (yes you can keyframe string values in parms in Houdini) so it changes from one path to another
or
if you want the control per particle, have 2 streams with POP Attract and just switch between them with some rule per particle
Houdini Lounge » Triangulize with X method
- tamte
- 8551 posts
- Online
well, for this case it works (at least for me) as you are scaling each polygon to 0
and the only thing is that even after consolidating points to single one it is not removing 0 area polygon so that why is necessary to uncheck Output Front
but you are right, it never hurts to increase the tolerance to be sure
it's all about the scene scale afterall
and the only thing is that even after consolidating points to single one it is not removing 0 area polygon so that why is necessary to uncheck Output Front
but you are right, it never hurts to increase the tolerance to be sure
it's all about the scene scale afterall
-
- Quick Links