Yes…loop through the array you create with the neighbors function in vex.
Post your hip otherwise, maybe I am misunderstanding you.
Found 2040 posts.
Search results Show results as topic list.
Houdini Indie and Apprentice » Growing pts selection by using neighbours function
- BabaJ
- 2042 posts
- Offline
Houdini Indie and Apprentice » New Polyextrude and normals
- BabaJ
- 2042 posts
- Offline
I think he's right (phj), unless there is something else one must do, it looks like you can't extrude along a user defined normal.
Ticking off what Enivob says doesn't work.
Ticking off what Enivob says doesn't work.
Houdini Indie and Apprentice » Growing pts selection by using neighbours function
- BabaJ
- 2042 posts
- Offline
Use your slider to determine how many times to loop through the array.
Edited by BabaJ - Aug. 12, 2018 11:48:17
Technical Discussion » Convert Fogvdb to Polygons
- BabaJ
- 2042 posts
- Offline
Hello - I was wondering if maybe my system has some glitch or something.
It seems I can't convert a Fog vdb to polygons/polygon soup with the vdbconvert node or convert node.
Thought I've done it in the past, but maybe I remember wrong and this has to be converted to a surface first?
It seems I can't convert a Fog vdb to polygons/polygon soup with the vdbconvert node or convert node.
Thought I've done it in the past, but maybe I remember wrong and this has to be converted to a surface first?
Edited by BabaJ - Aug. 9, 2018 10:17:44
Technical Discussion » Override Shader on Packed Prims with VEX
- BabaJ
- 2042 posts
- Offline
Hello,
I'm accustomed to being able to override shader values with vex with something like:
In the attched hip with switch at input 0, shows the setup.
However, I can't do this if the primitives are packed.
So I tried using a material node and its' option to overide and found that it can be done ( switch set to third input of hip ).
In looking at the geometry spreadsheet I see the material node creates an attribute like this:
So with vex ( switch set to second input ) I created an identical attribute, and in checking the geometry spreadsheet I know I did it ‘right’ as it shows up identical in both cases.
But with the vex it doesn't render the ‘set’ color.
There must be something else to consider/going on.
Anyone able to provide some input?
Thanks.
I'm accustomed to being able to override shader values with vex with something like:
v@basecolor = set(1,0,0);
In the attched hip with switch at input 0, shows the setup.
However, I can't do this if the primitives are packed.
So I tried using a material node and its' option to overide and found that it can be done ( switch set to third input of hip ).
In looking at the geometry spreadsheet I see the material node creates an attribute like this:
{'basecolorb':0.9,'basecolorg':0.45,'basecolorr':0,}
So with vex ( switch set to second input ) I created an identical attribute, and in checking the geometry spreadsheet I know I did it ‘right’ as it shows up identical in both cases.
But with the vex it doesn't render the ‘set’ color.
There must be something else to consider/going on.
Anyone able to provide some input?
Thanks.
Edited by BabaJ - Aug. 6, 2018 15:52:02
Houdini Indie and Apprentice » getting angle between 2 pts (from array)
- BabaJ
- 2042 posts
- Offline
Houdini Lounge » Lights on a particle system?
- BabaJ
- 2042 posts
- Offline
In this example spheres as primitives scaled down to near particle size have been copied to the particles.
An Emission attribute is created to drive the emission on the shader.
I couldn't get emission for points(particles), which is which I used a primitive scaled down to ‘mimic’ the points.
I know point lights could be instanced on to particles, but I don't have time atm to create that example, plus if this method works for you I think it may be less expensive computational wise. If anyone knows so?
An Emission attribute is created to drive the emission on the shader.
I couldn't get emission for points(particles), which is which I used a primitive scaled down to ‘mimic’ the points.
I know point lights could be instanced on to particles, but I don't have time atm to create that example, plus if this method works for you I think it may be less expensive computational wise. If anyone knows so?
Edited by BabaJ - Aug. 3, 2018 17:40:49
BYOC + Illume » HDA Building PT 2 | Jeff Wagner | July 18, 2018
- BabaJ
- 2042 posts
- Offline
Having been away and missing the live HDA pt.2 I was unable to re-ask a quesion I had in part 1.
I asked if it's possible to embedd user defined vex functions in the asset that the vex nodes within the asset could access in a similar way with the #include Pre-Processor ‘command’.
Jeff said it is possible and that it could be looked at in Pt.2
Typically when I have a vex approach to something that uses many lines of code, I will wrap them up into a defined function/s and put them in a text file with an arbitrary extension like *.h
Then wherever I want to use them(the functions) in a wrangle I just place on the first line of the wrangle:
And then after just call the function by name to use it.
Beforehand I will have placed the text file/s in a folder named ‘include’ which is within a folder named ‘vex’ which in turn lies in the same directory folder as the hip file that has the wrangle with the above code.
By default Houdini will ‘see’ the file so that I can call any function there instead of having write to it all out(define the function again).
With an HDA it would be good to be able to do the same i.e. use the equivalent of #include to reference the code that is placed in the asset itself instead of the hip directory > vex > include folder.
Would be nice if the equivalent text file could be embedded in the asset itself to ‘follow it around’ wherever it might be used, without having to re-setup directories and copy/pasting the text files.
I asked if it's possible to embedd user defined vex functions in the asset that the vex nodes within the asset could access in a similar way with the #include Pre-Processor ‘command’.
Jeff said it is possible and that it could be looked at in Pt.2
Typically when I have a vex approach to something that uses many lines of code, I will wrap them up into a defined function/s and put them in a text file with an arbitrary extension like *.h
Then wherever I want to use them(the functions) in a wrangle I just place on the first line of the wrangle:
#include <NameOfFile.h>
And then after just call the function by name to use it.
Beforehand I will have placed the text file/s in a folder named ‘include’ which is within a folder named ‘vex’ which in turn lies in the same directory folder as the hip file that has the wrangle with the above code.
By default Houdini will ‘see’ the file so that I can call any function there instead of having write to it all out(define the function again).
With an HDA it would be good to be able to do the same i.e. use the equivalent of #include to reference the code that is placed in the asset itself instead of the hip directory > vex > include folder.
Would be nice if the equivalent text file could be embedded in the asset itself to ‘follow it around’ wherever it might be used, without having to re-setup directories and copy/pasting the text files.
Edited by BabaJ - Aug. 3, 2018 15:16:35
Technical Discussion » Min And Max Values From A Point Attribute
- BabaJ
- 2042 posts
- Offline
As for myself I don't know what he is referring too other than he is using an hscript approach using $TY and $TMAX $TMIN.
Which although is an old post is still perfectly valid way of doing something - its just I'm not versed well in Hscript and can't help you.
I do know a couple ways of doing it in a vex wrangle - but that's not what your interested in knowing , and I don't know if it would be more efficient than using the attribute nodes the way you have done.
Hopefully at some point someone can chime in for you on the Hscript at some point.
To help someone help you, post your hip so its less work for them and more likely to respond. There can many different ways of doing the same thing. So if you give people your approach (your current step by step attempt), they might be able to respond with a simple comment or modification of your code. Otherwise, they just might not have the time to lay out an example for you.
Which although is an old post is still perfectly valid way of doing something - its just I'm not versed well in Hscript and can't help you.
I do know a couple ways of doing it in a vex wrangle - but that's not what your interested in knowing , and I don't know if it would be more efficient than using the attribute nodes the way you have done.
Hopefully at some point someone can chime in for you on the Hscript at some point.
so if someone can explain the step by step process would be a great help.
To help someone help you, post your hip so its less work for them and more likely to respond. There can many different ways of doing the same thing. So if you give people your approach (your current step by step attempt), they might be able to respond with a simple comment or modification of your code. Otherwise, they just might not have the time to lay out an example for you.
Technical Discussion » POP replicate with variable replication rate?
- BabaJ
- 2042 posts
- Offline
For some reason the replicate node doesn't support vex snippets anywhere though.
Open up(allow editing of contents) the replicate node and put your wrangle in there?
Technical Discussion » Min And Max Values From A Point Attribute
- BabaJ
- 2042 posts
- Offline
@himkhu….your responding to the last post from 2009.
Perhaps you could post your hip with the issue so that someone might be able to help you.
Perhaps you could post your hip with the issue so that someone might be able to help you.
Houdini Indie and Apprentice » help with optimization... how to reduce code in VEX?
- BabaJ
- 2042 posts
- Offline
Or you could remove the detail wrangler altogether and move the equivalent code over to the Python Source Editor - Under the Windows TAB folder upper left in UI.
Then just change the python expression code for each distance parameter of the extrudes to reflect this.
Then just change the python expression code for each distance parameter of the extrudes to reflect this.
Edited by BabaJ - Aug. 1, 2018 09:49:08
Houdini Indie and Apprentice » help with optimization... how to reduce code in VEX?
- BabaJ
- 2042 posts
- Offline
Just for fun I tried looking into some more python.
In this file, you can now continue to add more ‘data’ parameters to your ‘CONTROL’ node and don't have to do anything to the detail wrangle.
So long as you keeping the data paramter naming convention and not add other parameters to the CONTROL node. ( if you do, the substraction amount in the detail node will have to be updated ).
In this file, you can now continue to add more ‘data’ parameters to your ‘CONTROL’ node and don't have to do anything to the detail wrangle.
So long as you keeping the data paramter naming convention and not add other parameters to the CONTROL node. ( if you do, the substraction amount in the detail node will have to be updated ).
Houdini Indie and Apprentice » help with optimization... how to reduce code in VEX?
- BabaJ
- 2042 posts
- Offline
Well as an excercise for future reference you could do what I changed in your file.
Removed your wrangle that was running over the primitives and replaced it with a detail wrangle to calculate the Max value.
Then in your extrude nodes turned off the distance scale parameters of the local folders and put python in the distance paramter that references the detail node where the @Max attribute was created.
Removed your wrangle that was running over the primitives and replaced it with a detail wrangle to calculate the Max value.
Then in your extrude nodes turned off the distance scale parameters of the local folders and put python in the distance paramter that references the detail node where the @Max attribute was created.
Edited by BabaJ - July 31, 2018 20:38:01
Houdini Indie and Apprentice » problem with boolean and add node (add by attribute)
- BabaJ
- 2042 posts
- Offline
Technical Discussion » It it possible to run two Documents/Houdini 16.5 on windows.
- BabaJ
- 2042 posts
- Offline
Perhaps you can…but am not aware of how too.
Maybe what you might have to do is employ start up scripts to test different settings and/or have different *.env files in the same directory to switch between.
Maybe what you might have to do is employ start up scripts to test different settings and/or have different *.env files in the same directory to switch between.
Houdini Indie and Apprentice » help with optimization... how to reduce code in VEX?
- BabaJ
- 2042 posts
- Offline
Hi Luis,
Ok so I looked at your hip.
Without having seen your original file, it appeared that wanting to fill your array through a loop without having to type out each attribute was your goal.
Usually something like this is very usefull when you have data changing dynamically and/or your not sure how many elements you are going to be dealing with.
But in your set up you are referencing parameters you manually created for the attributes e.g. @data1
So basically you just had to do a bit of extra ‘leg’ work (typing the specific attribute to push into the array) after the creation of the paramter, it's referencing, and promotion as an attribute.
In the context of your setup and the array you create; To me is fine as is, trying to do anything more is just extra uneccessary work(building the array differently).
I'm mean why go through all what your doing and just simply do a channel reference for your distance offset on each extrude? Using a Python expression to get the max values.
Your executing the same code over each prim, although it is multi-threaded…so I really can't guess in this case which is faster; Ref maybe using Python expression.
Ok so I looked at your hip.
Without having seen your original file, it appeared that wanting to fill your array through a loop without having to type out each attribute was your goal.
Usually something like this is very usefull when you have data changing dynamically and/or your not sure how many elements you are going to be dealing with.
But in your set up you are referencing parameters you manually created for the attributes e.g. @data1
So basically you just had to do a bit of extra ‘leg’ work (typing the specific attribute to push into the array) after the creation of the paramter, it's referencing, and promotion as an attribute.
In the context of your setup and the array you create; To me is fine as is, trying to do anything more is just extra uneccessary work(building the array differently).
I'm mean why go through all what your doing and just simply do a channel reference for your distance offset on each extrude? Using a Python expression to get the max values.
Your executing the same code over each prim, although it is multi-threaded…so I really can't guess in this case which is faster; Ref maybe using Python expression.
Edited by BabaJ - July 31, 2018 15:54:13
Houdini Indie and Apprentice » help with optimization... how to reduce code in VEX?
- BabaJ
- 2042 posts
- Offline
I don't know of a syntax that is ‘simple’ like your Visual Basic example.
I do know a couple ways that use some string work, which would mimic your example, but…
Looking at your screendhot I don't think you need to do what you want the way you have it set up.
You could take advantage of the fact the the wrangle runs over each primitive and each primitive can have different values for the same attribute.
In this case you could simply use @data - and make the distinctions based on prim number.
And before your prim wrangle do your getting a max value in a detail wrangle.
Post your hip and when I'm on latter I will modify it to show you..unless you understand what I'm saying or someone pops in with the ‘equivalent’ syntax.
I do know a couple ways that use some string work, which would mimic your example, but…
Looking at your screendhot I don't think you need to do what you want the way you have it set up.
You could take advantage of the fact the the wrangle runs over each primitive and each primitive can have different values for the same attribute.
In this case you could simply use @data - and make the distinctions based on prim number.
And before your prim wrangle do your getting a max value in a detail wrangle.
Post your hip and when I'm on latter I will modify it to show you..unless you understand what I'm saying or someone pops in with the ‘equivalent’ syntax.
Technical Discussion » HIP Can't Find HDA In Same Folder
- BabaJ
- 2042 posts
- Offline
For my user defined HDAs I put them in a created folder named with lower case ‘hda’ - that sits in the same folder as the .hip file.
Technical Discussion » Adding Material to Geometry Used as Light Source Hangs Render
- BabaJ
- 2042 posts
- Offline
A while back I re-visisted this issue when I saw the Changelogs indicated it was fixed.
It does now work, however using the Renderview panes render button can be a bit glitchy in combination with turning on those extra lights.
Just need to tinker around with it for a bit to get it too work, i.e. save file with Renderview autoupdate on. Re-open file and before anything else(don't enable disable lights first) hit render, letting autoupdate make changes when you turn lights on-off subsequently.
This workflow seems to get me by any glitchiness.
Haven't tested whether render to disk gives same ‘glitchy’ behaviour for results compared to Renderview.
It does now work, however using the Renderview panes render button can be a bit glitchy in combination with turning on those extra lights.
Just need to tinker around with it for a bit to get it too work, i.e. save file with Renderview autoupdate on. Re-open file and before anything else(don't enable disable lights first) hit render, letting autoupdate make changes when you turn lights on-off subsequently.
This workflow seems to get me by any glitchiness.
Haven't tested whether render to disk gives same ‘glitchy’ behaviour for results compared to Renderview.
Edited by BabaJ - July 29, 2018 13:02:25
-
- Quick Links