What is it you mean/want to do?
In your pic your showing a control handle for a nurbs curve. There are no points on this curve because the curve is calculated, so you can't ‘transform’ any of the ‘points’.
Is it these control handles you want to transform? meaning you want to access and modify the Coordinates parameter directly?
For this, you can maybe do some python work:
https://www.sidefx.com/forum/topic/15022/?page=1#post-71063 [www.sidefx.com]
If it's ‘points’ on the curve though, other than finding out the equation used for making the nurbs curve and working out an equation expression yourself for the x value of your y ;
You could simply use the y value as part of the orig argument of the vex intersect function, and move your point to that location.
http://www.sidefx.com/docs/houdini/vex/functions/intersect.html [www.sidefx.com]
Found 2034 posts.
Search results Show results as topic list.
Technical Discussion » Move a curve's points parametrically, how?
- BabaJ
- 2036 posts
- Offline
Houdini Indie and Apprentice » How to stop twisting when copying lines to a curved line then skinning?
- BabaJ
- 2036 posts
- Offline
Technical Discussion » How to keep an imported object in the hip file .
- BabaJ
- 2036 posts
- Offline
Is the Stash SOP ‘more’ likely not to lose geometry than a locked node as jsmack says often happens?
Technical Discussion » How to keep an imported object in the hip file .
- BabaJ
- 2036 posts
- Offline
Houdini Learning Materials » Houdini attributes
- BabaJ
- 2036 posts
- Offline
…
let's pretend that that “weird” number is a value of point attribute @P.y
…
if (@P.y == 0) {removepoint(0, @ptnum);}
…
One way to do deal with it is to think about the context then adjust your logic of the code. In other words, how did this number come close to 0 but isn't quite there.
The question would be, do you need it at 0 or is it something that you want that might be close to 0.
Your code could deal with it a number of ways, depending on what you want(the below examples not neccesarily giving the same results):
if (@P.y == 0) {removepoint(0, @ptnum);}
or
if (@P.y >= 0) {removepoint(0, @ptnum);}
or
if (@P.y >= 0) {removepoint(0, @ptnum);}
or
if( (@P.y !> 0) && (@P.y !< 0) ) {removepoint(0, @ptnum);}
Edited by BabaJ - Oct. 4, 2018 13:22:06
Houdini Lounge » Houdini 17 reactions and thoughts
- BabaJ
- 2036 posts
- Offline
So now that this is implemented even i could develop certain interactive tools.
Since I have very limited Python knowledge, I for one would watch one of your tuts on this topic - even if it's a paid one.
Houdini Lounge » Houdini 17 reactions and thoughts
- BabaJ
- 2036 posts
- Offline
I could give a lot of examples of tools and workflows that are much more needed in viewport than an alignment tool - who ordered that?
I did…not literally like with an RFE…but it is a very usefull and ‘powerful’ feature when used in conjunction with the new save views/construction planes.
Because now you have many options that are far less cumbersome to set up than before (workflow wise);
Like creating boolean cutouts oriented with profiles created with polydraw or aligned objects(created or saved libray objects) on the specific contruction/view which can be the whole object or partial outline. And those cutouts can be either the straight ‘orthographic projection’, or it could simply be the starting point of a ‘sweep’; Think, its' own version of a bevel as one example, which leaves the actual use of the polybevel for final small adjustments - not a major modelling tool.
Also, the alignment tool as before with the new construction/views can compound iterative modelling steps quickly.
I may not be clear, but I'm coming from a Solid Works background - and as the tools stand right now with H17; it has ‘every’ capacity that SolidWorks has to model as efficiently.
From previous comments in this thread I probably could only appreciate what others are saying by modeling myself in other programs like Modo? and other similar ones.
So please don't take this comment as criticism of others for implying the modelling tools are still lacklustre - perhaps you guys a right.
But I also see some indication that not all have explored alternative workflows that might be just as productive to the modelling ends.
Houdini Lounge » Houdini 17 reactions and thoughts
- BabaJ
- 2036 posts
- Offline
Hah…the one little thing that caught my eye…at the end with the scrolling changes….“64-Bit Vex”
Technical Discussion » Intersect function - variadic argument "farthest"
- BabaJ
- 2036 posts
- Offline
Yeah..thanks for the tip…I was trying that with my original application (intersect_all).
But I had the issue that I couldn't use 0 tolerance, only a value very small and close to 0.
Maybe I'm wrong and will have to re-visit; I might be mistaken in my approach one way or the other.
But I had the issue that I couldn't use 0 tolerance, only a value very small and close to 0.
Maybe I'm wrong and will have to re-visit; I might be mistaken in my approach one way or the other.
Technical Discussion » Intersect function - variadic argument "farthest"
- BabaJ
- 2036 posts
- Offline
Thanks Aizatulin,
Would have taken me forever to get that combination of ‘farthest’ and an int value.
On that point, I think it's worth an RFE to update and clarify the docs.
But the needing to use op: is odd since what this means is that when using ‘farthest’ it will only work if referencing an external node, since even op: defining the current node will not work.
Will have to mention that to support and see what they say.
Would have taken me forever to get that combination of ‘farthest’ and an int value.
On that point, I think it's worth an RFE to update and clarify the docs.
But the needing to use op: is odd since what this means is that when using ‘farthest’ it will only work if referencing an external node, since even op: defining the current node will not work.
Will have to mention that to support and see what they say.
//i@Found = intersect(geoself(), point(0, "P", 0), Direction, Intersection, U, V); // Works
//i@Found = intersect(geoself(), point(0, "P", 0), Direction, Intersection, U, V, 'farthest', 0); // Does Not Work
//i@Found = intersect(0, point(0, "P", 0), Direction, Intersection, U, V, 'farthest', 0); // Does Not Work
i@Found = intersect('op:/obj/geo1/merge1', point(0, "P", 0), Direction, Intersection, U, V, 'farthest', 0); // Works. - 'merge1' is previous node to wrangle using intersect
i@Found = intersect('op:/obj/geo1/PW_Intersections', point(0, "P", 0), Direction, Intersection, U, V, 'farthest', 0); // Does Not Work. - 'PW_Intersections' is node of wrangle using intersect function
Edited by BabaJ - Oct. 3, 2018 15:00:18
Technical Discussion » Intersect function - variadic argument "farthest"
- BabaJ
- 2036 posts
- Offline
Hello,
Anyone know how to make use of the variadic argument “farthest” for the vex intersect function?
Taking for granted the parameters are set up correctly for the following and not using “farthest”, this will work:
But if I add “farthest” to the function it errors out:
I've tried using different variations like instead of the string, just put in 0 or 1 ( maybe it's a truth ), and even putting in a defined vector variable ( maybe it just needs to set a variable ).
Still can't seem to make use of it.
Any suggestions?
Anyone know how to make use of the variadic argument “farthest” for the vex intersect function?
Taking for granted the parameters are set up correctly for the following and not using “farthest”, this will work:
...
intersect( geoself(), @P, Direction, Intersection, U, V);
...
But if I add “farthest” to the function it errors out:
...
intersect( geoself(), @P, Direction, Intersection, U, V, "farthest");
...
I've tried using different variations like instead of the string, just put in 0 or 1 ( maybe it's a truth ), and even putting in a defined vector variable ( maybe it just needs to set a variable ).
Still can't seem to make use of it.
Any suggestions?
Edited by BabaJ - Oct. 3, 2018 12:08:26
Houdini Indie and Apprentice » Mandelbulb VEX Expression
- BabaJ
- 2036 posts
- Offline
I don't know the math behind that but this tut covered it:
https://www.sidefx.com/tutorials/vex-in-houdini-mandelbrot-and-mandelbulb/ [www.sidefx.com]
https://www.sidefx.com/tutorials/vex-in-houdini-mandelbrot-and-mandelbulb/ [www.sidefx.com]
Edited by BabaJ - Oct. 1, 2018 16:04:21
Houdini Indie and Apprentice » Uvs Texel Density and Exporting
- BabaJ
- 2036 posts
- Offline
I could be wrong but I believe that's the relationship between your scaling of uv's to the geometry they are applied.
So if you want to adjust the ‘texel density’ adjust the size of your uvs.
So if you want to adjust the ‘texel density’ adjust the size of your uvs.
Houdini Indie and Apprentice » Group point if vector is oriented like a reference vector?
- BabaJ
- 2036 posts
- Offline
In the hip file the code to do this is in the wrangle.
There is only one line needed to figure out what the angle is between the two vectors,
but I included some extra stuff so you can play around with it to understand it better if needed.
One thing to note; The formula to figure out the angle between the two vectors only goes up to 180 degrees,
before it ‘climbs’ back down to zero. One would need some extra coding if say you need to determine ranges from 180 to 360 that differentiate those of 0 to 180.
But as your saying you only need to determine 90 degree limit, this should work as is.
Here's an example web reference where this was constructed from.
http://www.softschools.com/math/pre_calculus/angle_between_two_vectors/ [www.softschools.com]
Edit: So that in order to use what I have in the hip to apply, just swap out the Reference_Position with the base position of your reference vector, and one of the point numbers with the endpoint of your reference vector. After which you can run however you want the conditional of the result to include or not in your group.
There is only one line needed to figure out what the angle is between the two vectors,
but I included some extra stuff so you can play around with it to understand it better if needed.
One thing to note; The formula to figure out the angle between the two vectors only goes up to 180 degrees,
before it ‘climbs’ back down to zero. One would need some extra coding if say you need to determine ranges from 180 to 360 that differentiate those of 0 to 180.
But as your saying you only need to determine 90 degree limit, this should work as is.
Here's an example web reference where this was constructed from.
http://www.softschools.com/math/pre_calculus/angle_between_two_vectors/ [www.softschools.com]
Edit: So that in order to use what I have in the hip to apply, just swap out the Reference_Position with the base position of your reference vector, and one of the point numbers with the endpoint of your reference vector. After which you can run however you want the conditional of the result to include or not in your group.
Edited by BabaJ - Oct. 1, 2018 12:50:01
Houdini Indie and Apprentice » Trouble Shaping High Velocity Pyro Sim
- BabaJ
- 2036 posts
- Offline
Houdini Indie and Apprentice » Is there a way to learn Houdini "more systematically" or say "more logically"?
- BabaJ
- 2036 posts
- Offline
I'd go one step further and say that there aren't many tutorials on the mundane things that don't overcomplicate the process by trying to give too much information and show too many options. As much as I love the Steven Knipping tutorials, I really wish he'd consider making some abridged versions of his tutorials!
I like his teaching style amongst others. But I am the opposite. I wish it was more involved ( if possible and he actually knows the details ).
Houdini Indie and Apprentice » Trouble Shaping High Velocity Pyro Sim
- BabaJ
- 2036 posts
- Offline
Thanks for the example Enivob, new stuff there for me to look at.
I was curious about the Switch Value DOP, as the the docs say it's used in conjunction with the Switch Solver DOP, yet I don't see any Switch Solver DOPs anywhere.
Anyone know of a tut that covers some of the details of this node that is similar to what Enivob is doing?
Can't seem to figure out how the ‘Data Name’ parameter figures in to it all either with ‘SolverParms/NumSolvePasses’.
Don't see those names being reference anywhere else and am not sure if it's a user defined reference or to some internal pre-existing parameters.
I was curious about the Switch Value DOP, as the the docs say it's used in conjunction with the Switch Solver DOP, yet I don't see any Switch Solver DOPs anywhere.
Anyone know of a tut that covers some of the details of this node that is similar to what Enivob is doing?
Can't seem to figure out how the ‘Data Name’ parameter figures in to it all either with ‘SolverParms/NumSolvePasses’.
Don't see those names being reference anywhere else and am not sure if it's a user defined reference or to some internal pre-existing parameters.
Technical Discussion » Selective Object Bluring
- BabaJ
- 2036 posts
- Offline
Hello,
Currently I'm experimenting with getting different amounts of blur using the mantra node ‘directly’, i.e. through ‘Xform Time Samples’, ‘Geo Time Samples’ and ‘Shutter Offset’ - along with variations of the Cameras' ‘Shutter Time’. Also, for the object being blurred, having its ‘Geometry Velocity Blur’ Off.
In the same scene though I have another object in which I don't want blurred. At the moment I know of two ways:
I know I can render the scene twice seperately for each object, then import into COP network and output again but into a single sequence with both objects.
Also, if on the object that I don't want blurred I set its' ‘Geometry Velocity Blur’ to on but in a wrangle node set its velocity to zero, I get the result accomplished with no blur as a result. I've also noticed, that if the object has no velocity attribute to begin with, again with ‘Geometry Velocity Blur’ set to on - the default seems to be of treating the object like it has 0 velocity. And as before, the desired effect is accomplished of no motion blur on that object.
So I was wondering if there any other methods that I might be able to utilize?
I've tried using the merge node in the out context of the two different mantra nodes, but it seems to only work sequentialy.
I've never used wedges or done ‘take’ work - but perhaps something there? but then again maybe those involve the same end need to bring into COP network?
Feedback is appreciated, thanks.
Currently I'm experimenting with getting different amounts of blur using the mantra node ‘directly’, i.e. through ‘Xform Time Samples’, ‘Geo Time Samples’ and ‘Shutter Offset’ - along with variations of the Cameras' ‘Shutter Time’. Also, for the object being blurred, having its ‘Geometry Velocity Blur’ Off.
In the same scene though I have another object in which I don't want blurred. At the moment I know of two ways:
I know I can render the scene twice seperately for each object, then import into COP network and output again but into a single sequence with both objects.
Also, if on the object that I don't want blurred I set its' ‘Geometry Velocity Blur’ to on but in a wrangle node set its velocity to zero, I get the result accomplished with no blur as a result. I've also noticed, that if the object has no velocity attribute to begin with, again with ‘Geometry Velocity Blur’ set to on - the default seems to be of treating the object like it has 0 velocity. And as before, the desired effect is accomplished of no motion blur on that object.
So I was wondering if there any other methods that I might be able to utilize?
I've tried using the merge node in the out context of the two different mantra nodes, but it seems to only work sequentialy.
I've never used wedges or done ‘take’ work - but perhaps something there? but then again maybe those involve the same end need to bring into COP network?
Feedback is appreciated, thanks.
Houdini Indie and Apprentice » Novice - How to properly UV map a Sphere?
- BabaJ
- 2036 posts
- Offline
I think mathematically wrapping a 3d sphere as a 2d plane has been a difficult problem to solve, just look at world maps that still aren't quite correct.
This is true as there can never be a ‘true’ 2D representation of a 3D object.
Although certain projections can preserve aspects of the 3D object at the expense of others.
In the typical maps that you see of the world in which the land masses grow proportionly larger in size closer to the poles, e.g. the ones in which Greenland is huge;
What your seeing in such a cases is called a Mercator projection or varient thereof. In such cases direction/bearing is preserved at the expense of relative size.
Since the primary purpose of maps historically has been for navigating, is the reason why we typically see Mercator projections for the most part(dated publications) as this form of projection has been the most used and available.
For other projections when on wants to see the ‘correct’ sizes like Mollweide projections, one loses direction/bearing information, but can see the ‘correct’ relative land mass sizes.
So when it comes to uvs, although we don't have to think of the types of innumerable projection types or ways to do so, we can visually through like with the uvquickshade node determine our best desired approach/s.
Houdini Indie and Apprentice » Will i be able to upgrade to version 17 from 16.5?
- BabaJ
- 2036 posts
- Offline
Yes. Currently your license is based on time. During the year you have the Indie license you can upgrade to any version that comes along.
-
- Quick Links