Found 94 posts.
Search results Show results as topic list.
Technical Discussion » Global UI Scale broken?
-
- element33
- 94 posts
- Offline
Seems like there's a conflict between the UI scale set in Houdini's Preferences dialog and the HOUDINI_UISCALE variable in houdini.env. I've now set the Preferences value to 1 and the HOUDINI_UISCALE variable to what I want. As of right now, the Houdini UI scale seems to work. I also have my custom DPI value set in Windows (for Win apps), which, I think, may add another factor to the DPI conflicts. As a person gets older, every day he faces the same question: "How do I set the fonts in this darn app so I can see stuff"
Edited by element33 - March 16, 2025 07:28:55
Technical Discussion » Global UI Scale broken?
-
- element33
- 94 posts
- Offline
Scaling the UI (Preferences->General UI->Global UI Scale) used to work fine, but in 20.5.278 (Win) I get random behavior. The value is set to 1.2, but Houdini randomly chooses whether to scale the UI or not: sometimes it launches in "normal size" (too small for me), sometimes with the UI scaled up (the way I want it). I checked my houdini.env, I don't set the UI scale there, so there shouldn't be any interference. And even if there were, the effect on the UI should be constant, not random. Has something changed in 20.5?
Edited by element33 - March 15, 2025 17:00:53
Technical Discussion » Non-uniform transform with guide points (like fluid sim)
-
- element33
- 94 posts
- Offline
Technical Discussion » Non-uniform transform with guide points (like fluid sim)
-
- element33
- 94 posts
- Offline
I'm working in Houdini, but it's a more general transform problem, maybe there's a proper math term for it. On the left is the initial state. I have a bunch of points. I used different colors to differentiate them (disregard the white point A for now). These points undergo a slight non-uniform transform and move a bit to new positions, as shown on the right. On the left, I also have an independent point A, in white. I want to compute where its new location should be (A' on the right) given the interpolated influence and distance to the transformed guide points (color). There will be parameters deciding the strength of the influence, distance, etc but it's a minor problem. It's not a fluid sim, but it seems similar cases exist for fluid sims, if you want to add more points for detail, and have them be guided by the more-sparse, pre-computed sim points. Another concept that could be related is opti-flow. I could iterate in vex, but I'm 99% sure that in Houdini there's already a SOP that does this.
Edited by element33 - March 12, 2025 05:51:04
Technical Discussion » For-loop with feedback: saving geo from each stage
-
- element33
- 94 posts
- Offline
CYTEI tried it first, but it's inefficient. If I save a frame range to a File Cache from the loop's output, on each frame, the for-loop starts from the very beginning. E.g. on frame 10, it goes through 9 iterations: 1-9. I want the for-loop to run only once, efficiently, saving a geo for each iteration.
put $F in the iteration value
Edited by element33 - Feb. 14, 2025 09:39:26
Technical Discussion » For-loop with feedback: saving geo from each stage
-
- element33
- 94 posts
- Offline
I have a for-loop, driven by its iteration count, that feeds back onto itself for many iterations. I want to save a geo sequence for each iteration stage. My current plan: 1) plug a geometry ROP to the output of the loop, 2) inside the loop, jut before the output, insert a Python node that triggers the ROP's "Save" button. If there are better approaches, please let me know
Edited by element33 - Feb. 14, 2025 09:22:04
Technical Discussion » Attribute gradient
-
- element33
- 94 posts
- Offline
Technical Discussion » Attribute gradient
-
- element33
- 94 posts
- Offline
Technical Discussion » Attribute gradient
-
- element33
- 94 posts
- Offline
I have a mesh grid. Each point has an attribute with a different value. For each point, I'd like to compute the "gradient" vector for this attribute: a vector pointing in the direction of the largest difference in attribute value between the given point and its surroundings. I can do it with vex code, but is there maybe a SOP that already does this automatically?
Technical Discussion » Find best-fit circle (automatically)
-
- element33
- 94 posts
- Offline
OK, I think I solved it with respect to the Y coord, based on this SO [stackoverflow.com]:
Create a line as tall (Y) as the uneven segment, same num of points, same Y min (X=0,Z=0). Align points in VEX, using detail attribs from the Python node:
node = hou.pwd() geo = node.geometry() import numpy as np x = [p.position().x() for p in geo.points()] y = [p.position().y() for p in geo.points()] z = [p.position().z() for p in geo.points()] A = np.stack([y, np.ones(len(y))]).T xm, xc = np.linalg.lstsq(A, x, rcond=None)[0] zm, zc = np.linalg.lstsq(A, z, rcond=None)[0] #print(f"xzm: {xzm}, xzc: {xzc}") geo.addAttrib(hou.attribType.Global,'xm',xm) geo.addAttrib(hou.attribType.Global,'xc',xc) geo.addAttrib(hou.attribType.Global,'zm',zm) geo.addAttrib(hou.attribType.Global,'zc',zc)
Create a line as tall (Y) as the uneven segment, same num of points, same Y min (X=0,Z=0). Align points in VEX, using detail attribs from the Python node:
@P.x+=@P.y*ch('xm')+ch('xc'); @P.z+=@P.y*ch('zm')+ch('zc');
Edited by element33 - Jan. 28, 2025 23:25:21
Technical Discussion » Find best-fit circle (automatically)
-
- element33
- 94 posts
- Offline
johnmatherJohn (not sure if you'll see this message): I now have a similar, but somewhat different problem. I have a bunch of points that form a line, albeit a slightly uneven one. I'd like to find the most "ideal" line representing these points i.e. one that minimizes distances from all points. I tried the EdgeStraighten SOP, but it looks like it simply establishes a line through the first and last points, which is not what I want. Your numpy code already solves for least squares (LS), but how do I modify it to spit out the two endpoints of the "ideal" line? I'm having trouble converting the "circle-oriented" LS to a "line-oriented" LS . I checked the cookbook recipes, but I only see "LS circle" not "LS line".
approximate the result algebraically
Edited by element33 - Jan. 28, 2025 22:16:40
Technical Discussion » Repetitive Houdini task: hscript vs Python RPC
-
- element33
- 94 posts
- Offline
For a project, I will need to run a certain task in Houdini every minute or so, while other things happen in-between. The task takes ~10-20 sec. I wonder what's a better approach: 1) launching hscript every time (no GUI, but still some overhead), 2) keeping a Houdini session open/minimized, and using Python & RPC server to issue commands.
Technical Discussion » Extract collision locations from a Bullet (RBD) sim
-
- element33
- 94 posts
- Offline
I have a very simple sim, just a box tumbling/bouncing down a ramp. I use Bullet, but I could use RBD. What's the easiest way to extract collision locations, i.e. the exact spots where the box (its corner or edge) touches the ramp?
Technical Discussion » Find best-fit circle (automatically)
-
- element33
- 94 posts
- Offline
johnmatherExcellent, works great. Fortunately, my poly is static, it doesn't rotate or change shape
In that case, you can approximate the result algebraically
Technical Discussion » Find best-fit circle (automatically)
-
- element33
- 94 posts
- Offline
Technical Discussion » Find best-fit circle (automatically)
-
- element33
- 94 posts
- Offline
I have a slightly uneven poly circle. Is there a way to automatically (not manually) find the best-fit circle, i.e. one that minimizes the sum of distances from the poly? It's like finding a "best fit plane" for near-planar points, but for a circle. There's a "Fit Curve" SOP, but it seems to create a very close NURBS approximation of the shape, not a perfect circle.
Edited by element33 - Dec. 30, 2024 00:44:23
Technical Discussion » Attribute transfer with distance & weight control
-
- element33
- 94 posts
- Offline
Technical Discussion » Attribute transfer with distance & weight control
-
- element33
- 94 posts
- Offline
I want to transfer attributes between 2 sets of points, but the Attribute Transfer node doesn't seem to give me enough control. I need to control how distance influences the transfer (closer points-> more influence) and also have a "weight" i.e. give some points more influence than others. I assume the only solution is to write the transfer function myself in an Attr. Wrangle (using "nearpoints", point cloud functions etc)?
Technical Discussion » 2D edge "extrude" in a single SOP?
-
- element33
- 94 posts
- Offline
Technical Discussion » 2D edge "extrude" in a single SOP?
-
- element33
- 94 posts
- Offline
Houdini can take a single polygon and extrude it in 3D, along the poly's normal. Can I do an analogous operation in 2D, i.e. extrude an edge on a plane? In the shape below, I want to "extrude" edges A and B outward (left and right, respectively), to create a wider top rectangle (in gray). I'd start with points 1-4 in blue and I want to end with points 1-6 in orange (creating new points is obviously necessary). I can do this with a few SOPs, but is there maybe a single-SOP way to do this?
Edited by element33 - May 26, 2024 00:35:46
-
- Quick Links
