Hey Nate,
Sorry I didn't get back to you earlier on this, but you look like to be having a focal length problem.
What I have noticed is that if you go to you cam1 params->view tab->Focal Length and change it to a really low number (50 is default, 10 or lower will give you the wide angle effect that is occuring.), it will cause your default cam to work at this focal length as well if your cam1 isn't set to ‘lock camera to view’.
What I did to test it out was the following:
Started from default houdini load, made a quick model (in this case a sphere copied to a grid).
Went to OBJ level. default cam is fine. Go to cam1 params and change focal length to 5.
Switch from default cam to cam1 (now with focal length of 5) and zoom out.
Zooming out causes it to switch back to the default cam because cam1 was not set to ‘lock camera to view’.
Now the default cam has adopted the focal length of 5. (odd that it occurs, but still occurs). And there is your distortion.
So to get it back to normal. Go back to cam1 params and change focal length back to 50.
Switch to cam1 and zoom out (which automatically switches back to default cam).
Now the default cam has adopted the 50 focal length and everything is fixed.
I hope that solves your problem. It sounds like you are experiencing some other difficulties that I cannot really help with and maybe even the focal length issue is beyond what I explained and connected to the other problems.
Here is the sphere copied to grid with the focal length of 5 wide angle distortion:
good luck with everything,
Dave
Found 405 posts.
Search results Show results as topic list.
Technical Discussion » Deformed Viewport!
- deecue
- 412 posts
- Offline
Houdini Lounge » stereoptics.. has anyone attempted it?
- deecue
- 412 posts
- Offline
thanks steven.. found them.
ive done some more tests and the two camera system setup seems to be working.. but now im wondering if there might be a way to do this with one camera..
basically the way it works for the anaglyph red/blue method is that the closer the object is, the closer the red/blue should converge (i.e. the image should have no red/blue offset at 100% foreground).. and the farther the object in space is, the more the blue and red should offset itself.
so i was wondering if i could figure out some kind of setup where i can get houdini to calculate the distance in between the camera and an object (or even point on that object). After it figures that out, i thought maybe i could have it genereate some kinda depth map file that a compositer could look at and offset channels based on that information (i.e. shift A amount at B distance). or maybe i could send the distance information directly to cops somehow and tell it to shift channels based on that.
dont really know how to do that tho. i thought i could just take the world position of the camera and the world position of the object/point and just subtract them to get the difference (distance) in between them. but the problem is i need to convert that information to a 0 - 1 bracket (like a distance of this value = 100% farthest away or 1, and a distance of this value = 0% farthest away or 0).. so im getting kinda lost there.. and then i would need to have that 0 - 1 information sentto a channel shifter in cops i suppose.
any thoughts would be great.
thanks,
dave
ive done some more tests and the two camera system setup seems to be working.. but now im wondering if there might be a way to do this with one camera..
basically the way it works for the anaglyph red/blue method is that the closer the object is, the closer the red/blue should converge (i.e. the image should have no red/blue offset at 100% foreground).. and the farther the object in space is, the more the blue and red should offset itself.
so i was wondering if i could figure out some kind of setup where i can get houdini to calculate the distance in between the camera and an object (or even point on that object). After it figures that out, i thought maybe i could have it genereate some kinda depth map file that a compositer could look at and offset channels based on that information (i.e. shift A amount at B distance). or maybe i could send the distance information directly to cops somehow and tell it to shift channels based on that.
dont really know how to do that tho. i thought i could just take the world position of the camera and the world position of the object/point and just subtract them to get the difference (distance) in between them. but the problem is i need to convert that information to a 0 - 1 bracket (like a distance of this value = 100% farthest away or 1, and a distance of this value = 0% farthest away or 0).. so im getting kinda lost there.. and then i would need to have that 0 - 1 information sentto a channel shifter in cops i suppose.
any thoughts would be great.
thanks,
dave
Houdini Lounge » stereoptics.. has anyone attempted it?
- deecue
- 412 posts
- Offline
So I've been interested in stereo optics for some time now and recently have been doing some research on possibly doing it on my own in 3d.
From what I've found, the cameras they use is a combination of two small cameras attached to each other, sitting side by side, with the center of each lens being apart from each other approx the distance of our pupils. (i think i read 8cm somewhere but dont hold me to that)…and those are both slightly angled in and pointing at a specific distance away (much like our own eyes operate).. and of course, depending on the showing, the image is processed for either the red\blue anaglyph method or the 45 degree polarized method.
im not so interested in the polarized (even tho it looks much better). mainly because you need expensive special projectors and i didn't know if problems would occur due to interlacing if i end up putting something to tape. so im going the anaglyph red/blue method to see if i can just get some test studies to work.
basically so far, i have setup 2 cameras that are both being controlled by a control null. then i also have a lookat null that is set off and locked at a specific distance ( just did a random distance at this point).. and of course some dumb sample model of spheres, boxes, and circles to test on. so i render that out and it seems to be working camera wise.
now comes the compositing aspect of the two cameras. unfortunately i don't know cops, so i went the after effects route since my background is in motion graphics. AE has a nice little 3d glasses effect that can set up the layers to work in different modes.. but i really don't know how exactly this plugin is working, so i was kinda hoping to just be able to do it on my own (probably through the shifting of channels i would expect). my results arent great, but seem to be getting there (i think)…
so basically i was wondering if any of you have messed around with this at all and could give some insight. or if you haven't before, but might be interested in figuring out a solution..
any help is appreciated….
thanks,
dave
oh and btw, if you wanna see my setup, heres a file:
http://mywebpages.comcast.net/daquirus/stereoptics.hipnc [mywebpages.comcast.net]
From what I've found, the cameras they use is a combination of two small cameras attached to each other, sitting side by side, with the center of each lens being apart from each other approx the distance of our pupils. (i think i read 8cm somewhere but dont hold me to that)…and those are both slightly angled in and pointing at a specific distance away (much like our own eyes operate).. and of course, depending on the showing, the image is processed for either the red\blue anaglyph method or the 45 degree polarized method.
im not so interested in the polarized (even tho it looks much better). mainly because you need expensive special projectors and i didn't know if problems would occur due to interlacing if i end up putting something to tape. so im going the anaglyph red/blue method to see if i can just get some test studies to work.
basically so far, i have setup 2 cameras that are both being controlled by a control null. then i also have a lookat null that is set off and locked at a specific distance ( just did a random distance at this point).. and of course some dumb sample model of spheres, boxes, and circles to test on. so i render that out and it seems to be working camera wise.
now comes the compositing aspect of the two cameras. unfortunately i don't know cops, so i went the after effects route since my background is in motion graphics. AE has a nice little 3d glasses effect that can set up the layers to work in different modes.. but i really don't know how exactly this plugin is working, so i was kinda hoping to just be able to do it on my own (probably through the shifting of channels i would expect). my results arent great, but seem to be getting there (i think)…
so basically i was wondering if any of you have messed around with this at all and could give some insight. or if you haven't before, but might be interested in figuring out a solution..
any help is appreciated….
thanks,
dave
oh and btw, if you wanna see my setup, heres a file:
http://mywebpages.comcast.net/daquirus/stereoptics.hipnc [mywebpages.comcast.net]
Technical Discussion » particle rotation/velocity?
- deecue
- 412 posts
- Offline
could the look at pop be used here at all? don't know if that helps but thought i'd throw it out there…
good luck,
dave
good luck,
dave
Technical Discussion » RFE: Blend SOP HudSlider naming...
- deecue
- 412 posts
- Offline
well for the blend, you could just drag in the input channels that you wanted at a time instead of just draging in the whole blend tag.. it wouldn't automatically update itself if you were to wire more things in to the blend, but you could just drag in the next blend input channel as a hudslider when needed.
or you could also just select the ones out of the 16 that you dont want and hit delete in the handle list.
or you could also just select the ones out of the 16 that you dont want and hit delete in the handle list.
Technical Discussion » Another small rfe: Selected nodes auto-input to Blend SOP
- deecue
- 412 posts
- Offline
Technical Discussion » Another small rfe: Selected nodes auto-input to Blend SOP
- deecue
- 412 posts
- Offline
That would be kinda nice. Another way you could do it now tho is through the textport. You could just use the opwire function.. Here's something from the scripting pdf:
EXAMPLE
You can use a loop to perform repetitive tasks for you. For example, if you wanted
to wanted to merge 255 SOPs, it would be faster to write a short script than to do all
that wiring manually. For example, if you named your SOPs consistently, like:
model-0, model-1, model-2… model-255
then you could execute the following script in a Textport:
for i = 0 to 255
opwire model-$i -$i merge1
end
If you haven?ft been consistent with naming, you could also do it with a foreach .
hth,
dave
EXAMPLE
You can use a loop to perform repetitive tasks for you. For example, if you wanted
to wanted to merge 255 SOPs, it would be faster to write a short script than to do all
that wiring manually. For example, if you named your SOPs consistently, like:
model-0, model-1, model-2… model-255
then you could execute the following script in a Textport:
for i = 0 to 255
opwire model-$i -$i merge1
end
If you haven?ft been consistent with naming, you could also do it with a foreach .
hth,
dave
Technical Discussion » small RFE: Parent operation option
- deecue
- 412 posts
- Offline
Jason,
You could possibly put a hudslider for the ‘keep position when parenting’ in your obj viewport for each of the objects prior to using the parent tool. Then when in full screen mode, you could just move the sliders for each of the objects before and past .5 to turn them on and off. I know it's not exactly what you're looking for, but might be a little quicker if you wanna stay in full screen mode.
hth,
Dave Quirus
You could possibly put a hudslider for the ‘keep position when parenting’ in your obj viewport for each of the objects prior to using the parent tool. Then when in full screen mode, you could just move the sliders for each of the objects before and past .5 to turn them on and off. I know it's not exactly what you're looking for, but might be a little quicker if you wanna stay in full screen mode.
hth,
Dave Quirus
Technical Discussion » lock and unlock
- deecue
- 412 posts
- Offline
pretty much. but i prefer that method and keep my model progression in one hip and another with an imported bgeo of the final model.
Technical Discussion » how to break a polygon plane
- deecue
- 412 posts
- Offline
the + and - deal with left/right (2d) rotation of the branch while the following deal in the 3d:
& Pitch up
^ Pitch down
\ Roll clockwise
/ Roll counter-clockwise
| Turn 180 degrees
* Roll 180 degrees
~ Pitch / Roll / Turn random amount
hth,
dave
& Pitch up
^ Pitch down
\ Roll clockwise
/ Roll counter-clockwise
| Turn 180 degrees
* Roll 180 degrees
~ Pitch / Roll / Turn random amount
hth,
dave
Technical Discussion » apply bones to points on curve
- deecue
- 412 posts
- Offline
I'm wondering if there is a way (either through script in textport or any other method) to apply a bone to every point along a curve. i know i can control the rig through the curve method (which i will be doing) but i want to be able to have the same number of bones as points on my curve. and i want them to lay along the curve and create a new bone at each point.
i.e. root would sit at pt. 0 and bone1 from pt 0 to pt 1. bone2 1-2. bone three 2-3. etc etc.
i know i could do it manually, but say i had fifty points on a curve that i wanted to have bones along that matched. instead of drawing out 50 bones evenly and accurately spaced, it would be nice to have a little script or sop otl to be able to just tell it to create them for me.
Suggestions anyone?
Thanks,
Dave
i.e. root would sit at pt. 0 and bone1 from pt 0 to pt 1. bone2 1-2. bone three 2-3. etc etc.
i know i could do it manually, but say i had fifty points on a curve that i wanted to have bones along that matched. instead of drawing out 50 bones evenly and accurately spaced, it would be nice to have a little script or sop otl to be able to just tell it to create them for me.
Suggestions anyone?
Thanks,
Dave
Technical Discussion » Draping an object on or wrapping it around another?
- deecue
- 412 posts
- Offline
you might be able to do it with a curve clay sop…not completely sure though.. might have to play with it.
heres a tut on it tho. from the modeling section.
http://www.sidefx.com/community/learn/modeling/legacy/curve_clay_screw4.pdf [sidefx.com]
hth,
dave
heres a tut on it tho. from the modeling section.
http://www.sidefx.com/community/learn/modeling/legacy/curve_clay_screw4.pdf [sidefx.com]
hth,
dave
Technical Discussion » translating a combined surface + displacement shader
- deecue
- 412 posts
- Offline
and you prob wouldn't want to do this, but the texture model vop has a bump map param and file string. you could use that to fake it. wont really be displaced, but it will appear somewhat bumpy. i wouldn't go this route, but maybe it works for you.
hth,
dave
hth,
dave
Technical Discussion » Subdivision Surfaces and Actual Render Resolution
- deecue
- 412 posts
- Offline
Greg,
Split one of your panes from the pane menu or hit Alt+]. Set the new pane to no linking. set it to the obj level (or sop level). set the pane to be a viewer from the Network menu. In the viewer, hit tab->generic->render. Draw a selection box in your viewing pane and it will render that area. while you are working, it should update the render in the box (if it doesn't, hit the re-render button)
hth,
dave
Split one of your panes from the pane menu or hit Alt+]. Set the new pane to no linking. set it to the obj level (or sop level). set the pane to be a viewer from the Network menu. In the viewer, hit tab->generic->render. Draw a selection box in your viewing pane and it will render that area. while you are working, it should update the render in the box (if it doesn't, hit the re-render button)
hth,
dave
Technical Discussion » When, and In What Order Does One Use the "Carve" O
- deecue
- 412 posts
- Offline
to see how the caarve works in the simplest way:
Put down Tube Sop. Make sure it is either set to Mesh or Nurbs (preferably Nurbs).
Append a Carve Sop to the tube. Check off all directions (first/second U/V). Move the sliders back and forth and you will see how the sop carves the geometry in either the u or v direction.
That's basically it in it's smallest form. The link i sent you in the other thread was more about extracting a curve (in either the u or v direction) to use as a way to join or fillet to surfaces together. In this case, you will want to change the carve param from cut to extract and check off keep original.
hth,
dave
p.s, just a general comment about your frustrations with the program. just give it some time and be patient with it. and just keep reading and rereading the manual and tutorials. can't just do it once and think it will magically come. its not easy, but most of these higher end packages aren't. if it were easy, then everyone could do it. and it's always the hardest when starting out. just play with things. put them in different orders, mess with the parameters. it's the only way you'll truly get a feel for things. i know i still struggle a lot. and i grit my teeth everytime im in a library or bookstore doing visual research and i glance by just to see 800 books on maya and there isn't a single one for houdini. but really, once you give it time, it becomes easier. you will still hit problems.. big time. but atleast youll have more knowledge to work through it. and of course the amazing people here and other places are a god send. :wink:
Put down Tube Sop. Make sure it is either set to Mesh or Nurbs (preferably Nurbs).
Append a Carve Sop to the tube. Check off all directions (first/second U/V). Move the sliders back and forth and you will see how the sop carves the geometry in either the u or v direction.
That's basically it in it's smallest form. The link i sent you in the other thread was more about extracting a curve (in either the u or v direction) to use as a way to join or fillet to surfaces together. In this case, you will want to change the carve param from cut to extract and check off keep original.
hth,
dave
p.s, just a general comment about your frustrations with the program. just give it some time and be patient with it. and just keep reading and rereading the manual and tutorials. can't just do it once and think it will magically come. its not easy, but most of these higher end packages aren't. if it were easy, then everyone could do it. and it's always the hardest when starting out. just play with things. put them in different orders, mess with the parameters. it's the only way you'll truly get a feel for things. i know i still struggle a lot. and i grit my teeth everytime im in a library or bookstore doing visual research and i glance by just to see 800 books on maya and there isn't a single one for houdini. but really, once you give it time, it becomes easier. you will still hit problems.. big time. but atleast youll have more knowledge to work through it. and of course the amazing people here and other places are a god send. :wink:
Technical Discussion » Nurbs Workflow for Creating Branching Objects, (i.e. human )
- deecue
- 412 posts
- Offline
Hey Greg,
Have you tried using a carve sop to extract your curve?
You also might be interested in this thread over at odforce:
http://odforce.net/forum/index.php?act=ST&f=19&t=1389&s=2e12522fc81fb95ab7c69701a265d670 [odforce.net]
hth,
dave
Have you tried using a carve sop to extract your curve?
You also might be interested in this thread over at odforce:
http://odforce.net/forum/index.php?act=ST&f=19&t=1389&s=2e12522fc81fb95ab7c69701a265d670 [odforce.net]
hth,
dave
Technical Discussion » instance an animation, need to activate it in non-linear way
- deecue
- 412 posts
- Offline
yea, i kinda ended up doing a montage of things.
after i noticed that fetching the file sop really had no curve, i went a different route. this was before i saw your geometry chop post talkien.
and the expression worked in the file sop edward. but had to be tweaked so that the expression was only containing the suffix of the filename and the prefix sat outside, before it. so it ended up looking like this:
impulse`(if(blablabla, 0, $F))`.bgeo
although, i completely forgot that it wouldn't matter anyways since it's still refering back to $F and is dependant upon the linear timeline of my project. so if i kept the expression that way, it would red error if past frame 14, and if i replaced $F with ($F%14), then it would just occur within some frame of the loop and not frame 1 of it.
so i ended up going the copy chop route, but slightly modified.
first i made 14 file sops, each pointing to the respective frame number. they all plugged into one switch.
i then went to chops and threw down a wave chop with “Constant” as it's type. I also set a ramp of 30 (i.e. so this matches my frame rate:30fps). so now i have a linear slope that at frame 14, it's at value 14. and 12 at 12. 5 at 5. and so on and so on. so i started the line at frame 0 and ended it at frame 13 and exported that to my switch sop. so now, if i go to sop space, my frame range animates via the switch driven by the wave chop at 30fps.
now i made another wave chop set to the default sin wave. i throw down a copy chop. plug the sine wave in to the template input of the copy chop. and finally plug my linear wave (ramped from 0 to 13) in to the copy input of the copy chop. export that to my switch sop and now whenever my sin wav crosses 0 in to the positive, it triggers my linear wave to drive the switch (or the animation).
so phew. that was a lot. but actually works very well and is pretty clean and simple. but that was the test with the sin wave. now on to using audio in place of it and getting it to be a little more complex. so now i will be using a combination of envelope, maths, copies, and sample rates. its getting confusing at times, but is getting very close to work.
thanks for all your help guys. ill let you know if there ends up being more. :wink:
dave
after i noticed that fetching the file sop really had no curve, i went a different route. this was before i saw your geometry chop post talkien.
and the expression worked in the file sop edward. but had to be tweaked so that the expression was only containing the suffix of the filename and the prefix sat outside, before it. so it ended up looking like this:
impulse`(if(blablabla, 0, $F))`.bgeo
although, i completely forgot that it wouldn't matter anyways since it's still refering back to $F and is dependant upon the linear timeline of my project. so if i kept the expression that way, it would red error if past frame 14, and if i replaced $F with ($F%14), then it would just occur within some frame of the loop and not frame 1 of it.
so i ended up going the copy chop route, but slightly modified.
first i made 14 file sops, each pointing to the respective frame number. they all plugged into one switch.
i then went to chops and threw down a wave chop with “Constant” as it's type. I also set a ramp of 30 (i.e. so this matches my frame rate:30fps). so now i have a linear slope that at frame 14, it's at value 14. and 12 at 12. 5 at 5. and so on and so on. so i started the line at frame 0 and ended it at frame 13 and exported that to my switch sop. so now, if i go to sop space, my frame range animates via the switch driven by the wave chop at 30fps.
now i made another wave chop set to the default sin wave. i throw down a copy chop. plug the sine wave in to the template input of the copy chop. and finally plug my linear wave (ramped from 0 to 13) in to the copy input of the copy chop. export that to my switch sop and now whenever my sin wav crosses 0 in to the positive, it triggers my linear wave to drive the switch (or the animation).
so phew. that was a lot. but actually works very well and is pretty clean and simple. but that was the test with the sin wave. now on to using audio in place of it and getting it to be a little more complex. so now i will be using a combination of envelope, maths, copies, and sample rates. its getting confusing at times, but is getting very close to work.
thanks for all your help guys. ill let you know if there ends up being more. :wink:
dave
Houdini Lounge » Does any shader in SHOP like dent ?
- deecue
- 412 posts
- Offline
This made the VEX shaded display result match with the mantra result. I am not sure why they didn't match without that…
hey craig,
i could be wrong on this one, but i think the reason that it didnt' match up before was because your vex shading position did not match up with your uv coordinates. the manual explains why the rest position was matching it up. and because im assuming you used the default settings on the vop, it was doing the texture conversion:
From manual:
__________________________
This operator contains a subnetwork that checks if the geometry attribute “rest” is bound and, if so, uses it as the rest position for shading. If no such binding exists, it converts the incoming position (P) to the specified space.
The “Texture” option takes a position in world space and converts it to shader space.
__________________________
where this will screw you up in the future is if you need to bring in uv coordinates to your obj (in the case the grid). throw down a uv project after your shader sop and move it all around your grid. you will notice is is not changing or updating anything in your render. now try putting down a shading layer parameter vop in place of the rest vop and plug that in to your P input of the fire. now if you go back to your grid and throw down a uv project, your shader will behave accordingly with your uv project unlike before. unforunately, the draw back to this is that it will not update in your vex shaded display. only after rendered. so you lose that.
what i just end up doing is going to the viewport, hit tab, type render, select the render op and draw my selection box in the viewport to see it update. this is really great when in the vex desktop. i can be working on my vops, with seeing my viewport up in the right corner having a selection box of it being rendered and updated as im working. plus i can be moving around my uv's, editing my shader, and seeing it render and update all at once. it's extremely fast and powerful this way.
hth,
dave
Technical Discussion » instance an animation, need to activate it in non-linear way
- deecue
- 412 posts
- Offline
So I'm hoping this is capable, but i want to be able to activiate an animation through some kind of expression (probably if statement) linked to either a spare channel or chop or channel of any kind really. the simple expression should be no problem to get working, i.e. if(blablabla>=10,0,1), or something on those lines..
but what i am having problems with is how to activate an actual animation (series of bgeo's) with that expression in a non-linear type way. i know how to bring in the series through a file chop, but after that it becomes more difficult.
as a test, i rendered out a 14 frame bgeo series of a sphere pulsating (just getting larger and smaller again fast). now i want to bring that animation back in (file sop) and play it from frame 1 when i say so. what i have attempted so far is basically this:
1. create a sin wave in chops and exported to the pt0y channel of an add sop (the y direction of pt 0). this is just to have an animated channel originated from chops and brought in to sop level to reference from.
2. i then have two file sops plugged into a switch sop. the first file input is pointed to impulse0.bgeo, and the second file input is impulse`($F-1)%14`.bgeo. the $F-1 is because they start at 0, so at frame 1, it needs to be at 0. and the %14 is so it will loop over and over. so if i hit play at this point and slide my switch param from 0 to 1, it switches between the first still frame and the complete impulse animation.
3. now, in the switch input, i put the following expression: if((ch(“../add1/pt0y”))>=0,0,1) . when played back, the still frame is shown when pt0 from my add sop is above 0, and the animation is shown when it's below 0.
ok, now this is somewhat good. i have a sin wave generated in chops and it activates an animation whenever it's below 0. which is everything i wanted except for one thing. since the second switch file input is looping starting since frame 1, whenever my sin wave dips below 0 and the animation activates, it activates wherever the loop exists at that frame. and what i want is it to activate starting only at impulse0.bgeo. that is pretty much what i meant by it being non-linear. i want this channel to activate the animation from it's begining always. let it finish out it's animation and send it back to bgeo # 0 and sit there until activated again.
i don't know if this can be done through expressions or what, but i am dying trying to figure it out here. the only other thing i thought of was having 14 file sops (each sop would be the consecutive bgeo in the animation) plugged into the switch sop and somehow attempt it that way. no luck there either, but maybe someone else could do it. it would almost be nice if the file sop itself could take an expression. so i could just write if(blablabla, impulse0.bgeo, impulse$F.bgeo).
if anyone can help me on this one, that would be soooo great.
thanks everyone for reading the long post.
dave
oh, and one more thing. the actual animation doesn't have to exist within a series of bgeo's brought in from a file sop. it can actually exist in the same hip file in another obj or wherever. i just considered it that way to keep it cleaner and easier. so if it's easier to do that way, then im all ears.
but what i am having problems with is how to activate an actual animation (series of bgeo's) with that expression in a non-linear type way. i know how to bring in the series through a file chop, but after that it becomes more difficult.
as a test, i rendered out a 14 frame bgeo series of a sphere pulsating (just getting larger and smaller again fast). now i want to bring that animation back in (file sop) and play it from frame 1 when i say so. what i have attempted so far is basically this:
1. create a sin wave in chops and exported to the pt0y channel of an add sop (the y direction of pt 0). this is just to have an animated channel originated from chops and brought in to sop level to reference from.
2. i then have two file sops plugged into a switch sop. the first file input is pointed to impulse0.bgeo, and the second file input is impulse`($F-1)%14`.bgeo. the $F-1 is because they start at 0, so at frame 1, it needs to be at 0. and the %14 is so it will loop over and over. so if i hit play at this point and slide my switch param from 0 to 1, it switches between the first still frame and the complete impulse animation.
3. now, in the switch input, i put the following expression: if((ch(“../add1/pt0y”))>=0,0,1) . when played back, the still frame is shown when pt0 from my add sop is above 0, and the animation is shown when it's below 0.
ok, now this is somewhat good. i have a sin wave generated in chops and it activates an animation whenever it's below 0. which is everything i wanted except for one thing. since the second switch file input is looping starting since frame 1, whenever my sin wave dips below 0 and the animation activates, it activates wherever the loop exists at that frame. and what i want is it to activate starting only at impulse0.bgeo. that is pretty much what i meant by it being non-linear. i want this channel to activate the animation from it's begining always. let it finish out it's animation and send it back to bgeo # 0 and sit there until activated again.
i don't know if this can be done through expressions or what, but i am dying trying to figure it out here. the only other thing i thought of was having 14 file sops (each sop would be the consecutive bgeo in the animation) plugged into the switch sop and somehow attempt it that way. no luck there either, but maybe someone else could do it. it would almost be nice if the file sop itself could take an expression. so i could just write if(blablabla, impulse0.bgeo, impulse$F.bgeo).
if anyone can help me on this one, that would be soooo great.
thanks everyone for reading the long post.
dave
oh, and one more thing. the actual animation doesn't have to exist within a series of bgeo's brought in from a file sop. it can actually exist in the same hip file in another obj or wherever. i just considered it that way to keep it cleaner and easier. so if it's easier to do that way, then im all ears.
Technical Discussion » IK Foot Rig
- deecue
- 412 posts
- Offline
ok..i think im kinda getting what you're wanting to do but maybe not..
so basically you want a null to control your five toes at once. so you have your null branched out to your five end goals, correct? and then you want to bring those 5 goals back in to a null but cant because it will only accept one branch, right?
i could be wrong, but i don't think it can even be done. because you have 5 end goals, which are just nulls with channels themselves. and your wanting to control a single null with a single set of channels with those 5 sets of channels. which really doesn't make sense if you think about it. i mean how is houdini going to know which of the 5 sets of channels to parent to the single set of channels in the null?
so you could try one of two things:
just attach your second null to the first along with the other goals. this will keep it relative to initial changes but unfortunately won't be afftected by any of the end goals.
the second thing would be the only thing i could come up if you wanted the 5 bones to somehow manipulate this second null at the same time as keeping an average of the 5 channels down into 1. do this using a blend obj. you could plug in your toe goals into a blend and then plug the blend into the null. this will give you an average based on the weights you assign in the blend. the blend also only supports 4, so you may have to daisy chain two of them.
try this out and let me know if it's anything towards what you are going for..
hth,
dave
so basically you want a null to control your five toes at once. so you have your null branched out to your five end goals, correct? and then you want to bring those 5 goals back in to a null but cant because it will only accept one branch, right?
i could be wrong, but i don't think it can even be done. because you have 5 end goals, which are just nulls with channels themselves. and your wanting to control a single null with a single set of channels with those 5 sets of channels. which really doesn't make sense if you think about it. i mean how is houdini going to know which of the 5 sets of channels to parent to the single set of channels in the null?
so you could try one of two things:
just attach your second null to the first along with the other goals. this will keep it relative to initial changes but unfortunately won't be afftected by any of the end goals.
the second thing would be the only thing i could come up if you wanted the 5 bones to somehow manipulate this second null at the same time as keeping an average of the 5 channels down into 1. do this using a blend obj. you could plug in your toe goals into a blend and then plug the blend into the null. this will give you an average based on the weights you assign in the blend. the blend also only supports 4, so you may have to daisy chain two of them.
try this out and let me know if it's anything towards what you are going for..
hth,
dave
-
- Quick Links