Forgot your password?   Click here   •   No account yet?   Please Register    •   Or login using  
EN Login
SideFX Homepage
  • Products
    • What's New in H20.5
      • Overview
      • VFX
      • Copernicus
      • Animation
      • Rigging
      • Lookdev
    • Houdini
      • Overview
      • FX Features
      • CORE Features
      • Solaris
      • PDG
    • Houdini Engine
      • Overview
      • Engine Plug-Ins
      • Batch
    • Karma Renderer
    • Compare
    • SideFX Labs
    • Partners
  • Industries
    • Film & TV
    • Game Development
    • Motion Graphics
    • Virtual Reality
    • Synthetic Data for AI/ML
  • Community
    • Forum
    • News Feed
      • Overview
      • Project Profiles
      • Houdini HIVE Events
      • Contests & Jams
    • Gallery
    • Event Calendar
    • User Groups
    • Artist Directory
  • Learn
    • Tutorials
      • Overview
      • My Learning
      • Learning Paths
      • Tutorial Library
    • Content Library
    • Tech Demos
    • Talks & Webinars
    • Education Programs
      • Overview
      • Students
      • Instructors
      • Administrators
      • List of Schools
      • Resources
  • Support
    • Customer Support
    • Licensing
      • Overview
      • Commercial
      • Indie
      • Education
    • Help Desk | FAQ
    • System Requirements
    • Documentation
    • Changelog / Journal
    • Report a Bug/RFE
  • Try | Buy
    • Try
    • Buy
    • Download
    • Contact Info
 
Advanced Search
Forums Search
Found 91 posts.

Search results Show results as topic list.

Technical Discussion » My own geo HDAs in /obj are missing Handles Tool gizmo

User Avatar
alexmajewski
91 posts
Offline
 today 05:39:10
When I turn a geo node into a HDA, it doesn't display the handles when I switch to the Handles Tool. Individual Move, Rotate, Scale tools display fine.
For comparison I created a Pighead HDA (which is a geo HDA as well) but it has those general purpose handles working.

With the Pighead selected, I see that when I press and hold on the Handles Tool, it shows some options there:

But when I do that with my own tool, there's nothing there:

How can I make handles appear?
See full post 

Technical Discussion » Houdini FX rendering on multiple computers

User Avatar
alexmajewski
91 posts
Offline
 June 18, 2025 16:56:26
Hqueue and Deadline are the proper solution, but at least Deadline should not be advised without first asking if you have ever used it (as an artist). If not, this is going to be a disaster unless you have someone to help you understand what you're doing. Or unless you're a very persistent and technical person.

If you end up hitting a wall, the simplest way of using your Karma licenses is by manually rendering with Husk. This can be automated with simple scripts.
See full post 

Technical Discussion » How to switch multiple viewer states in HDA?

User Avatar
alexmajewski
91 posts
Offline
 May 21, 2025 17:00:44
I'm learning Python viewer states and I'm trying to find out if and how can I switch between states.
Let's say we have 3 wildly different modes/states in our tool, and we'd like to have three separate state classes that we toggle with hotkeys.

Is that possible? I'm specifically asking about keeping the logic of those modes/states in separate sections of code. Three separate __init__(), onEnter(), onMouseEvent(), etc. in a single HDA.
Edited by alexmajewski - May 21, 2025 17:03:58
See full post 

Technical Discussion » Vex: How to proportionally conform a shape to rectangle?

User Avatar
alexmajewski
91 posts
Offline
 May 17, 2025 04:15:49
Thank you both very creative solutions that will fit 99% of use cases. The spark that ignited my question was trying to get a triangulated cone-shaped flower petal to have a rectangular UV.

I was fishing for a vex solution in the title, because the described situation is only the first step and I was going to expand this problem. What if we wanted to straighten only the sides and not the top and bottom parts of the island? What if we wanted the corner points to be arbitrary and exist only as a Python state in the viewport?

I'm basically trying to create a UV space lattice.

Yesterday I learned about quadrilateral interpolation [www.reedbeta.com]. I'm not a math person, so I only understand the core concept.

Here's what I got so far. I work on a point attribute UV to make it easier for myself for now.
The first point wrangle calculates the local uv of each point that will be used to recreate its position with interpolation
// corner points clockwise
i@pt0 = 90;
i@pt1 = 99;
i@pt2 = 9;
i@pt3 = 0;

float wedge2d(vector a; vector b) {
    return a.x * b.y - a.y * b.x;
}

vector2 invert_bilinear(vector p0, p1, p2, p3; vector q)
{
    vector b1 = p1 - p0;
    vector b2 = p3 - p0;
    vector b3 = p0 - p1 - p3 + p2;

    float A = wedge2d(b2, b3);
    float B = wedge2d(b3, q) - wedge2d(b1, b2);
    float C = wedge2d(b1, q);

    float v;
    if (abs(A) < 1e-5) {
        v = -C / B;
    } else {
        float discrim = B*B - 4*A*C;
        v = 0.5 * (-B + sqrt(discrim)) / A;
    }

    vector denom = b1 + v * b3;
    float u;
    if (abs(denom.x) > abs(denom.y))
        u = (q.x - b2.x * v) / denom.x;
    else
        u = (q.y - b2.y * v) / denom.y;

    return set(u, v);
}


vector uv0 = point(0, "uv", i@pt0);
vector uv1 = point(0, "uv", i@pt1);
vector uv2 = point(0, "uv", i@pt2);
vector uv3 = point(0, "uv", i@pt3);

vector q = v@uv - uv0;

u@local_uv = invert_bilinear(uv0, uv1, uv2, uv3, q);

Then I displace my corners.

Then in another point wrangle I apply the interpolation against my new corner positions:
vector uv0 = point(0, "uv", i@pt0);
vector uv1 = point(0, "uv", i@pt1);
vector uv2 = point(0, "uv", i@pt2);
vector uv3 = point(0, "uv", i@pt3);

vector pu0 = lerp(uv0, uv1, u@local_uv.x);
vector pu1 = lerp(uv3, uv2, u@local_uv.x);
vector new_uv = lerp(pu0, pu1, u@local_uv.y);

v@uv = new_uv;

So far it seems to work perfectly as long as the affected UV points are between the 4 points.

So my current workflow would involve straightening desired edges with UV Flatten and then stretching them with vex. At least, as long as I don't figure out how to straighten them with vex. I'm attaching a hip.
Edited by alexmajewski - May 17, 2025 04:27:49
See full post 

Technical Discussion » Vex: How to proportionally conform a shape to rectangle?

User Avatar
alexmajewski
91 posts
Offline
 May 16, 2025 05:59:58
Say we start with an irregular 4-sided UV island, and our goal would be to pull its 4 points to desired new positions and straighten out the boundary edge.

What technique/concept could be used that would distribute their internal points proportionally to the deformations performed on the boundary edge? (assuming it's even a multi-step process)
See full post 

Technical Discussion » Vex: get list of all nodes in a path?

User Avatar
alexmajewski
91 posts
Offline
 May 11, 2025 03:18:32
It's impossible with Vex. With Python it's as simple as this:
hou.node('/mat/karmamaterial').allSubChildren()

It produces a list of nodes as objects. And then you can look up any value you'd like by iterating over this list.
my_nodes = hou.node('/mat/karmamaterial').allSubChildren()

an_array_of_node_names = []
node_paths_for_example = []

for node in my_nodes:
    an_array_of_node_names.append( node.name() )
    node_paths_for_example.append( node.path() )

print(an_array_of_node_names)
print(node_paths_for_example)

Here [www.sidefx.com] you can find other things that can be added after the node.variable.

You can do it, believe in yourself. Basic Python can be learned in a weekend.
Edited by alexmajewski - May 11, 2025 03:19:57
See full post 

Technical Discussion » Systematic crashes on Linux on different hardware and distro

User Avatar
alexmajewski
91 posts
Offline
 May 2, 2025 05:41:03
Wayland definitely doesn't work at all yet, so it's not worth even attempting it. I run a similar setup, Rocky 9.5 on PC and Fedora 41 on laptop (so a bit behind the latest), and it all works on my machines™. Did you remember to install required dependencies? I always forget about them.
See full post 

Technical Discussion » How to bake MaterialX shader to textures?

User Avatar
alexmajewski
91 posts
Offline
 May 2, 2025 05:03:26
@ajz3d I'm doing this purely for sport now, but this seems like exactly what is needed.

Unfortunately the filter doesn't handle black background on an RGB AOV, it leaves black pixels around the shape (somewhat expected):

So how about we convert it to RGBA first so there's no bg:

And it works in the viewport flawlessly:

But after rendering, it turns out the final image is saved as Raw colorspace, despite specifying sRGB in the product, which has worked before this conversion.

No idea if that's a bug or what. I only noticed that my rendervar's dataType changed from color3f to float4 instead of color4f, not sure if that's important.

Edit: I just scrolled back up and realized you set RGBA on the image node itself. I now tried it, but it has the exact same result.
Edited by alexmajewski - May 2, 2025 05:17:32
See full post 

Technical Discussion » How to bake MaterialX shader to textures?

User Avatar
alexmajewski
91 posts
Offline
 May 1, 2025 08:55:43
I actually feel like my use case is probably better addressed by Copernicus, so I'm going to most likely switch to it, but I thought I'll write down some notes on things that tripped me up, if anyone finds this in the future:

The UI has shifted a bit, Karma UV Lens is now available in the CVEX Shader Builder in a Material Library, or directly in a Material Network. The documentation has a proper walkthrough [www.sidefx.com] on setting it up.

The bake is viewable through the camera in a live render viewport after the render settings have been set.

Here's the general minimal setup and order of nodes

Karma Render Products LOP has a button that generates products based on existing AOVs in the connected stage:

Keep camera position&rotation at 0,0,0. And lastly, as already mentioned, products need to be ordered in render settings.

Everything else works just like in CGWiki's tutorial.
Edited by alexmajewski - May 1, 2025 09:19:21
See full post 

Technical Discussion » How to bake MaterialX shader to textures?

User Avatar
alexmajewski
91 posts
Offline
 May 1, 2025 07:55:28
@ajz3d Thank you very much You gave me all the missing pieces to finally figure it out.

But I'm stuck on one last thing: my bakes have an ugly UV border line on all passes. Here's a 4K basecolor texture assigned to my geo after baking:

Do you know if there's a setting that helps minimize this effect? My current solution is to run my textures through Extrapolate Boundaries COP.

As for baking triplanar, it works most of the time, but I got this weird bake on a small concave side of my object, it appears only when using triplanar (it's already visible in the camera with the UV lens in the viewport):
EDIT: I got the same glitch in a COPs-based triplanar projection, I think something's just messed up with my mesh. This means Karma triplanar baking is probably fine. EDIT2: UV was overlapping itself (auto uv), so two UV faces were fighting for the same pixels. Triplanar projection is definitely fine.
Edited by alexmajewski - May 1, 2025 11:57:26
See full post 

Technical Discussion » How to bake MaterialX shader to textures?

User Avatar
alexmajewski
91 posts
Offline
 April 30, 2025 17:10:29
I've created a material which makes heavy use of triplanar projection.
I'd like to bake multiple shadeless maps: base color, roughness, normal, etc. as separate images using my object's UV.

Is that even possible with Karma?
See full post 

Technical Discussion » Example scenes in $HFS/viewer_state_demo/ do not work

User Avatar
alexmajewski
91 posts
Offline
 April 30, 2025 05:34:47
You should probably submit a bug report on the main website. I was able to get that scene working by manually installing the required HDA that the error is talking about.

Those HDAs seem to be located in $HFS\packages\viewer_state_demo\otls, simply install them locally inside the HIP.
Edited by alexmajewski - April 30, 2025 05:35:34
See full post 

Solaris and Karma » Light linker questions (unstable behavior with Redshift)

User Avatar
alexmajewski
91 posts
Offline
 April 7, 2025 09:40:10
@goldleaf Thank you very much for providing the script I always try to narrow things down, test them in a vacuum with a minimal reproducible example. If light linking won't work when using raw Python code as well, then clearly Light Linker as a tool is innocent. That being said, sometimes it seems like the linker is not working, but then it turns out that something else was at fault.
See full post 

Solaris and Karma » Light linker questions (unstable behavior with Redshift)

User Avatar
alexmajewski
91 posts
Offline
 April 6, 2025 07:07:29
Hey, just a loose question. We use exclusively Redshift + Solaris, and Light Linker is always a problem for us. It often just breaks. Some rules work in the viewport but stop applying in the final render etc.

Firstly, I wanted to ask if Light Linker lop is known to cause trouble in Karma as well, or is it considered rock-solid?

Secondly, I was wondering if it's possible to control light linking with Python?
See full post 

Technical Discussion » Big render speed hit on fresh vs older windows install

User Avatar
alexmajewski
91 posts
Offline
 March 17, 2025 05:10:10
That's a crazy difference.

I also experience suspicious render times on our Deadline Windows farm so I'm putting a lot of faith in this thread. But in our case, render nodes are also used by people, so it could be attributed to other programs being open and eating up resources. Maybe I should also try formatting one of them to see if it helps.
See full post 

Solaris and Karma » Get USD render path with frame variable $F4 using Python

User Avatar
alexmajewski
91 posts
Offline
 Feb. 26, 2025 06:08:50
When we set render path in render settings like $HIP/Render/myanimation_$F4.exrit immediately gets expanded to an absolute path in the actual attribute.





So, in the future if we wanted to get that path with python, we would no longer have access to the $F4 variable.

Is there anything that can be done to get a path with a frame variable in any format? $F4, <F4>, ####, anything

Edit: I ended up programming a function that compares start and end frame paths and figures out where the padded frame is.
Edited by alexmajewski - Feb. 26, 2025 09:02:47
See full post 

Technical Discussion » How to "store node network state" so I can restore it later?

User Avatar
alexmajewski
91 posts
Offline
 Feb. 26, 2025 04:09:18
Hey raincole, I've added updates to my tool [github.com] v1.0.1. I've implemented quickmark-like jumps to network/position. I added a settings menu to turn this behavior on and off.





Initially I just hooked it up to actual quickmarks, but I quickly realized it's going to be problematic because quickmarks store the selection as well, which ruins the whole idea of using Template flags.

You've never really asked for this, so don't feel pressured to use it, but if you do, I hope it helps.
See full post 

Technical Discussion » Sloww startup

User Avatar
alexmajewski
91 posts
Offline
 Feb. 25, 2025 07:45:11
@coccarolla ok I just realized what's wrong. Sorry, I tested it earlier on Linux and that's why it worked, but now as I test it on Windows it indeed does not work. The *wildcard seems to only work in Bash.

I have MINGW64 Git Bash installed on my Windows and I just tried using hotl.exe with a Bash terminal (on Windows) and it finally worked. I haven't tested that single hda yet, but it weighs ~60mb, so half the size of otls/ folder. Just a heads up, if you end up using Bash for this, then you definitely will need to use / type of slashes.
Edited by alexmajewski - Feb. 25, 2025 07:49:49
See full post 

Technical Discussion » Sloww startup

User Avatar
alexmajewski
91 posts
Offline
 Feb. 25, 2025 05:56:18
@D_Caps007 Just got it working by excluding a process. I think that's a much cleaner way to do it, thanks

@coccarolla Try removing double quotes from the sidefxlabs/*.hda argument. It should fix your issue.
See full post 

Technical Discussion » Sloww startup

User Avatar
alexmajewski
91 posts
Offline
 Feb. 25, 2025 05:12:53
I've just tested disabling Windows Defender. Excluding houdini.exe had ZERO effect in my case. But excluding an entire folder with my Houdini and all my Houdini packages (Redshift, Labs, etc.) made me go down from 01:30 to 0 0 : 2 3. This is crazy.

@coccarolla can you paste the whole command that you use?
Edited by alexmajewski - Feb. 25, 2025 05:13:57
See full post 
  • First
  • 1
  • 2
  • 3
  • 4
  • Last
  • Quick Links
Search links
Show recent posts
Show unanswered posts
PRODUCTS
  • Houdini
  • Houdini Engine
  • Houdini Indie
LEARN
  • Talks & Webinars
  • Education Programs
SUPPORT
  • Customer Support
  • Help Desk | FAQ
  • Documentation
  • Report a Bug/RFE
LEGAL
  • Terms of Use
  • Privacy Policy
  • License Agreement
  • Accessibility
  • Responsible Disclosure Program
COMPANY
  • About SideFX
  • Careers
  • Press
  • Internships
  • Contact Info
Copyright © SideFX 2025. All Rights Reserved.

Choose language