Generally you should be able to do what you want with a ramp parameter,
but since you haven't provided a hip file we can't see the context/setup you are applying the ramp parameter in.
Found 2040 posts.
Search results Show results as topic list.
Houdini Indie and Apprentice » How to randomise the colors on a Ramp node?
- BabaJ
- 2042 posts
- Offline
Houdini Indie and Apprentice » Iterative loop
- BabaJ
- 2042 posts
- Offline
gordig
Everything I'm reading about the Solver SOP suggests that it's meant to run every frame,
Yes it does run every frame, but it also has the capacity to 'know/get' values from the previous frame.
gordig
If I plug that same VEX code into the Solver SOP, I get the same results as before
Yes of course you will have to modify your code to reflect what you want to do.
At the moment you actually don't have any 'absolute' values to reference to carry forward for each next frame, because you are constantly changing your reference every frame (@f) and changing it twice on those instances in which it matches a frame number.
Edited by BabaJ - April 28, 2024 09:08:57
Houdini Indie and Apprentice » Iterative loop
- BabaJ
- 2042 posts
- Offline
gordig
If that gets stored by the conditional executing, then the new value of @f will drive the next blink.
But it doesn't get 'stored'. It only knows what the current values as they are per frame.
gordig
I could pre-generate a list of blink frames based
Yes...that's kind of a 'brute' force way of doing things.
You might want to look at how sop solvers work, as you can work as if values are stored.
If you look at this page, the initial explanation should help show how it is similar with what you are doing.
https://tokeru.com/cgwiki/The_solver_sop.html#prev-frame-vs-previous-frame [tokeru.com]
Houdini Indie and Apprentice » Iterative loop
- BabaJ
- 2042 posts
- Offline
gordig
At frame 59, I get new values of @f = 115 and @fr = 56. Sounds good, right? But after frame 59, it reverts to the initial values, so there's never a second blink.
That's because at frame 59 it ($F) matches your code you have set up for only that Frame.
gordig
Why isn't the last line, which should add the interval of the next blink onto the frame number of the previous blink, actually doing that?
Unless it's a specialized node, the wrangle does not 'see/know' what the values are for the previous frame, and so neither what values where calculated. It is only calculating what you have on any given frame.
If you want a blink at other specific frames you will have to make a conditional statement for those specific frames,
or you could make use of a solver sop which can remember previous frame values so that your code can accommodate that scenario.
Edited by BabaJ - April 26, 2024 08:49:42
Technical Discussion » read an attribute name
- BabaJ
- 2042 posts
- Offline
Gerardo Castellanos
I mean, I want to access to the values of that parameters,
As alex and I have already shown you can access the value of the parameter with:
chs("../attrMask")
What is entered into that paramater and how you decided to treat it is another matter.
In all cases a string paramter that you are accessing is just that - only a string.
mask_noiser
or it could be:
@mask_noiser
In either case, it's still only a string and you will have to decide how to deal what is entered or not. How it is entered, or not, etc.
Since it's a string and if a 'proper' name is entered, it can be used to pass into a function argument.
If you want to get a point value for example of an attribute specified by your parameter name entered:
int Result = pointattrib(0,chs("../attrMask"),5);// if attribute specified refers to an integer float Result = pointattrib(0,chs("../attrMask"),5);// if attribute specified refers to an float // etc. etc.
If you are wanting to do some general reading of all types of attributes, you are going to have to determine 'class/types' as part of the process.
https://www.sidefx.com/docs/houdini/vex/functions/attribtype.html [www.sidefx.com]
https://www.sidefx.com/docs/houdini/vex/attribtypeinfo_suite.html [www.sidefx.com]
Also, if you or the user entered '@' as part of the parameter text entered, you will have to parse out that symbol character from the string parameter before passing it as a string argument to one of those functions.
Edited by BabaJ - April 20, 2024 10:50:58
Technical Discussion » read an attribute name
- BabaJ
- 2042 posts
- Offline
Gerardo Castellanos
Thanks, but I would like to access to the values of that attribute with a @`chs("../attrMask")`, and I get the same error message when it is empty.
What do you mean?
You're accessing a parameter that has only one value and is not bound to anything unless it has been done so intentionally, which if that was the case you could just access the attribute itself.
If you want to create an attribute with that parameter value just do what alex said but instead of a local variable:
s@attrMask = chs("../attrMask");
Technical Discussion » Deleting first and last point over for each primitive
- BabaJ
- 2042 posts
- Offline
You can isolate/group/set attributes for the first and last points of the primitive by
using the primpoints() function.
It returns an array of point numbers that belong that prim, in the same order as they are on the primitive.
So you can select by index the first element and last element of the arrays.
using the primpoints() function.
It returns an array of point numbers that belong that prim, in the same order as they are on the primitive.
So you can select by index the first element and last element of the arrays.
Edited by BabaJ - April 18, 2024 12:03:48
Technical Discussion » Bulge on attribute ?
- BabaJ
- 2042 posts
- Offline
The Bulge SOP was made to work with metaballs.
If you just want to 'shape' by attribute alone you could do what I have in the hip.
If you just want to 'shape' by attribute alone you could do what I have in the hip.
Houdini Indie and Apprentice » Trace node producing jagged edges and weird normals
- BabaJ
- 2042 posts
- Offline
For your 'problem #1" the 'issue' is that you are using a png so it is a 'raster' image with anti-alising of the pixels to give the appearance of a smooth edge.(There's no parametric information defining the shape. The appearance of the 'edge' is created by 'dimming' pixels from view, for a 'blurring' effect, but the pixels themselves still form a step-wise/jagged pattern).
So there is no actual 'smooth edge'(parametric) to trace/duplicate - It's being done algorithmically by the trace node to get as close as possible; To what an actual smooth edge might be.
If your imput geometry was vector based - like an *.igs file format, then you could have a better source to work from.
However, if you adjust the trace nodes step parameter and follow the trace node after with a smooth node and set that node parameter 'Constrained Boundary' to none, the method parameter to 'Curvature Dominant' and then adjust the Strength and Filter parameters, you should be able to get a better working result.
So there is no actual 'smooth edge'(parametric) to trace/duplicate - It's being done algorithmically by the trace node to get as close as possible; To what an actual smooth edge might be.
If your imput geometry was vector based - like an *.igs file format, then you could have a better source to work from.
However, if you adjust the trace nodes step parameter and follow the trace node after with a smooth node and set that node parameter 'Constrained Boundary' to none, the method parameter to 'Curvature Dominant' and then adjust the Strength and Filter parameters, you should be able to get a better working result.
Edited by BabaJ - April 15, 2024 13:03:37
Technical Discussion » Why are there no surface generated from rail node?
- BabaJ
- 2042 posts
- Offline
Houdini Lounge » HOUDINI 20 INSTABILITY
- BabaJ
- 2042 posts
- Offline
alexeyvanzhula1984Never said they didn't.
Many people (including developers when sending RFE) have already confirmed this error
You asked, and I replied I don't.
Houdini Lounge » HOUDINI 20 INSTABILITY
- BabaJ
- 2042 posts
- Offline
alexeyvanzhula1984
1. select face
2. press T
3. Press Sapcebar
4. Press Escape
After this, do you really not see any errors?
No, I don't.
Technical Discussion » How to get rid of new vertices by subtraction Boolean ?
- BabaJ
- 2042 posts
- Offline
Subutai
Almost, the bottom vertices still seem to be present.
That's because of your input geometry.
Try cleaning it up first. You have double prims.
Edited by BabaJ - April 13, 2024 13:02:26
Technical Discussion » How to get rid of new vertices by subtraction Boolean ?
- BabaJ
- 2042 posts
- Offline
Houdini Lounge » HOUDINI 20 INSTABILITY
- BabaJ
- 2042 posts
- Offline
Technical Discussion » How can the parameter be called in wrangler?
- BabaJ
- 2042 posts
- Offline
float diff_x = vector(detail(0,'table_dimmin')).y;
You were treating detail as if it was an HScript function.
Technical Discussion » Karma Physical Sky issue
- BabaJ
- 2042 posts
- Offline
It's not a bug or limitation.
It's using the Flat Earth model - so working as intended.
It's using the Flat Earth model - so working as intended.
Houdini Indie and Apprentice » Toruses copied to points fall as one object in RBD sim
- BabaJ
- 2042 posts
- Offline
I separated your toruses and merged them one by one in the merge node for the rigid body solver so it treats the objects separately.
I haven't used these solvers in a long time, so keep your eyes peeled for this thread in case someone with more experience knows a better more efficient way.
I haven't used these solvers in a long time, so keep your eyes peeled for this thread in case someone with more experience knows a better more efficient way.
Technical Discussion » Scale Geometry Inwards
- BabaJ
- 2042 posts
- Offline
TheDude123
If you zero-out the translate on the transform1 node (sending the piece back to it's original position), and take a look at the vertical part in the middle, the geo doesn't really scale inwards like the rest
It does scale equally inward like the 'rest'.
The 'vertical' part is about the x center of the pivot. So when you 'zero out' like you say it comes back to world center.
Just look at the 'vertical' part in relation to either side of the geo ends - both are scaled down in relation to each other.
If you don't like the vertical part to seem stationary, shift your object to either side of world center - It will still be uniformly scaled down in all directions.
It's not that it isn't scaling down uniformly - It's because you are assuming it should look a certain way, when it won't.
Look at the merge node in the file in wireframe mode so you can see the two together, the original and the scaled down but moved to a different position in relation to the original - Each side is proportionaly smaller to the same degree of the original.
".it just kinda stays in place"....so just have the scaled object translated to another position.
Also in your original post, the second image you have in which you think it is being scaled evenly, when it is not.
Look at the left hand side edge in your image, before and after - It becomes smaller. But look at your vertical edge in the 'middle', before and after - It stays the same size before and after.
So in your second image it does not get scaled down evenly. What does happen evenly is that it is offset evenly(distance is even from original).
If it's an even offset that you want - you have to decide what parts of your geometry you are going to omit/cut.(if you want the rough faces on each side of your geometry to have the same uniform polyface sizes of one side compared to those of the other.
Edited by BabaJ - March 25, 2024 09:44:28
Technical Discussion » Scale Geometry Inwards
- BabaJ
- 2042 posts
- Offline
but the centroid method does not produce the results I'm looking for.
You should be able use any arbitrary pivot position other than just the centroid.
In this hip I've just set up a range of possible positions - you don't have to lay down as many nodes as I have.
I just did this to show there are a number of pivot positions that could give satisfactory results.
It's just a matter of choosing a position in which the direction of scaling will keep unwanted 'distortions' at a minimum or not at all(which is possible).
Edited by BabaJ - March 24, 2024 15:39:44
-
- Quick Links