Found 1208 posts.
Search results Show results as topic list.
Technical Discussion » set value by using function()
- Simon
- 2199 posts
- Offline
Not sure quite what you are asking here, do you want an expression that you put in a channel that evalutates and then removes itself :?
Technical Discussion » set value by using function()
- Simon
- 2199 posts
- Offline
This is fairly simple as long as you don't want to set keyframes, then it gets a bit more involved.
for example to set the x value in the transform for the object “model” type the following in a textport pane:
opparm /obj/model t (123 0 0)
or for your own param
opparm yourobject/yoursop yourparam (123)
let me know if you need to key frame it too.
Si
for example to set the x value in the transform for the object “model” type the following in a textport pane:
opparm /obj/model t (123 0 0)
or for your own param
opparm yourobject/yoursop yourparam (123)
let me know if you need to key frame it too.
Si
Technical Discussion » how to keep faces together - polyextrude
- Simon
- 2199 posts
- Offline
Try this hda for the time being, not perfect but maybe it will help.
Just list the polys you want to extrude in the pattern field.
It's easy enough to edit if you need it to work differently.
http://www.fourthwall.ndo.co.uk/extrude/OPextrude.otl [fourthwall.ndo.co.uk]
Si 8)
Just list the polys you want to extrude in the pattern field.
It's easy enough to edit if you need it to work differently.
http://www.fourthwall.ndo.co.uk/extrude/OPextrude.otl [fourthwall.ndo.co.uk]
Si 8)
Technical Discussion » creating a displacement map based off of a sculpt
- Simon
- 2199 posts
- Offline
Also, the way I haven't it at the moment the hi res object can only be displaced by a maximum of 1 unit along the normal of the lo res object. This is easy enough to change I just haven't done it yet.
Si
Si
Technical Discussion » creating a displacement map based off of a sculpt
- Simon
- 2199 posts
- Offline
Well….. :? the lo res sphere needs to be inside the hi res sculpted version, so that none of the lo res one pokes through.
Also, if you have undercuts in your sculpted hi res geometry the lo res one can't necessarily “see” it all.
Basically it works the same as the ray sop, it just does it as a render. So if you ray your lo res geometry onto your hi res one and some of it misses that's exactly what will happen when you try and render a displacement map from it.
Also, if you have undercuts in your sculpted hi res geometry the lo res one can't necessarily “see” it all.
Basically it works the same as the ray sop, it just does it as a render. So if you ray your lo res geometry onto your hi res one and some of it misses that's exactly what will happen when you try and render a displacement map from it.
Technical Discussion » creating a displacement map based off of a sculpt
- Simon
- 2199 posts
- Offline
You can base it on anything, I just used subdivision for speed. The only thing you need to watch out for is that your lo res geometry is completely inside the high res one, and that it can be “hit” by rays sent along the normals of the lo res geometry.
Also, is you displace the surface too far you will need to up the displacement bounds for the object otherwise it will tear apart.
Si
Also, is you displace the surface too far you will need to up the displacement bounds for the object otherwise it will tear apart.
Si
Technical Discussion » creating a displacement map based off of a sculpt
- Simon
- 2199 posts
- Offline
Well, I have a solution for you, if this link works then you should be able to get an example hip file.
http://www.fourthwall.ndo.co.uk/hips/DisplaceMap1000.hipnc [fourthwall.ndo.co.uk]
Open it up and look in the model object, I've used a low res sphere and a high res sculpted one. At the bottom of the network should be a render op for generating the map. Run this first and then check it worked by looking in the cop2net, (everything is set up to render out to $HIP).
You should then be able to render the low res sphere using mantra1 and it should (fingers crossed look like you rendered the high res sphere)
I'll try and put it all in a HDA so it's a bit easier if I get time :wink:
Si
http://www.fourthwall.ndo.co.uk/hips/DisplaceMap1000.hipnc [fourthwall.ndo.co.uk]
Open it up and look in the model object, I've used a low res sphere and a high res sculpted one. At the bottom of the network should be a render op for generating the map. Run this first and then check it worked by looking in the cop2net, (everything is set up to render out to $HIP).
You should then be able to render the low res sphere using mantra1 and it should (fingers crossed look like you rendered the high res sphere)
I'll try and put it all in a HDA so it's a bit easier if I get time :wink:
Si
Technical Discussion » write a new VOP in VEX aka “VEX Builder Types”
- Simon
- 2199 posts
- Offline
If you are looking for easier ways, just make a subnet that does what you want with all the inputs you need. Inside the subnet create a network and wire the outputs you need into the little white “next…” buttons on the suboutput1 node. Then go back up a level to the subnet node and right click on it and do “Create Type From…”
If you want to be able to code it instead, then go to the Houdini file menu, top right, and go to “New operator type…” select “Vex builder type” name it what you like and click accept, this will then bring up the type properties dialog allowing you to set any inputs and outputs you need, you can then add the code for these in the vex code tab (inner code) just use the names that you created in the input/output tab, but put a $ sign in front of them.
eg
$output = $input1 + $input2;
If you want parameters for these inputs and outputs to appear in the dialog for the VOP then you need to create those too, do this on the parameters tab. Again make sure you use the same names as in the input/output tab, only this time you don't need the $ sign.
This is just the bear bones, but hopefully it will make much more sense if you try it. Also try looking at the type properties for already existing vops,
you should see a lot of them have been created the same way.
Si
If you want to be able to code it instead, then go to the Houdini file menu, top right, and go to “New operator type…” select “Vex builder type” name it what you like and click accept, this will then bring up the type properties dialog allowing you to set any inputs and outputs you need, you can then add the code for these in the vex code tab (inner code) just use the names that you created in the input/output tab, but put a $ sign in front of them.
eg
$output = $input1 + $input2;
If you want parameters for these inputs and outputs to appear in the dialog for the VOP then you need to create those too, do this on the parameters tab. Again make sure you use the same names as in the input/output tab, only this time you don't need the $ sign.
This is just the bear bones, but hopefully it will make much more sense if you try it. Also try looking at the type properties for already existing vops,
you should see a lot of them have been created the same way.
Si
-
- Quick Links