Not currently possible for reasons explained here:
https://www.sidefx.com/forum/topic/82989/ [www.sidefx.com]
As I understand it, materialX shaders / karma don't support it right now. The shaders can only be parametric using numbers, not entire files, because everything has to be loaded from the start ("compiled")
Found 24 posts.
Search results Show results as topic list.
Solaris and Karma » Mtlx Image string inputs connection return error
- alecaille
- 24 posts
- Offline
Houdini Indie and Apprentice » How can I change Houdini axis sequence from XZY to XYZ?
- alecaille
- 24 posts
- Offline
mearisori
I am coming from CAD modeling.
I notice in Geometry - Transform - Translate the second parameter Y controls up and down movement. Can I make it "In and Out" rather than "Up and Down". So, I like to change it function with the third parameter-Z.
Thank you!
I can´t parse your sentence, but if you mean to ask whether the axis Z can be used for Up,then yes
In Edit / Preferences / 3d Viewport / Orientation / you can choose Z-up instead of the default Y-Up
Houdini Indie and Apprentice » Prim Var to mtlxImage
- alecaille
- 24 posts
- Offline
Is it possible in the context of karma material builder to read a string attribute on a prim, and use this to reference an image for the parameter filename of mtlximage ? When I plug usdprimvar in file, I have:
Error Input storage type (uniform/varying) does not match input 'file'.
The problem I am trying to solve is this: I have a FBX file in SOP context; I am rendering in Karma. I am looking for a way to generate a texture that references various information that are stored in a dictionary attribute on each primitive. When imported in SOP, there is a shop_materialpath that points to a generated principledShader in fbxcharacterimport/matnet.
Can you suggest a workflow to translate the textures generated by FBX Character Import ?
Error Input storage type (uniform/varying) does not match input 'file'.
The problem I am trying to solve is this: I have a FBX file in SOP context; I am rendering in Karma. I am looking for a way to generate a texture that references various information that are stored in a dictionary attribute on each primitive. When imported in SOP, there is a shop_materialpath that points to a generated principledShader in fbxcharacterimport/matnet.
Can you suggest a workflow to translate the textures generated by FBX Character Import ?
Houdini Indie and Apprentice » Alt key on Linux / MATE to merge nodes in Network view
- alecaille
- 24 posts
- Offline
ajz3djsmackYou need to select some nodes, press and hold LMB on an output of one of them, drag the wires somewhere, then press down and hold the ALT key and finally release the mouse button. The program will drop a merge node connecting outputs of all selected nodes. Or alternatively, click on an output of one of the selected nodes, move the wires over a free space, then after pressing and holding the ALT key, LMB-click again.
what is it you're trying to get the alt key to do? for me it makes a context menu appear for selecting a wire connection
Very convenient feature which I didn't know about. Sadly, I can't be of much help here, as I am on XFCE and this feature works as expected.
Ok, I got it work as you described. The trick ( right now in my specific setup) is to drag on output and alt-release to merge
Ironically, it doesn't work when the info text is displayed (two single clicks) and works when dragging, but the info text is not displayed.
For reference, it used to work without thinking too much about it; you could just click on one output of a selection, then later choose to merge by finishing with alt+click, or just wire to an existing node or a new node with multiple inputs. Or maybe it was a few months back under W10. For now I'm going to Win+alt click..
Houdini Indie and Apprentice » Alt key on Linux / MATE to merge nodes in Network view
- alecaille
- 24 posts
- Offline
Houdini Indie and Apprentice » Alt key on Linux / MATE to merge nodes in Network view
- alecaille
- 24 posts
- Offline
alecaillejsmackalecaille
Are you able to alt click to merge nodes in Network View ?
Currently on Linux Mint 21.2 / MATE, I no longer manage to do this.
The only way I've found so far is to also press Win , so the combo is Win+Alt+Click to merge.
Is there a solution on either side to make it work ? There are plenty of options to change the behavior of alt and Win in Keyboard preferences, but none of them seem to make a difference. I don't mind changing the WM if it helps. I really don't use alt+click to drag windows, and I never use the Win key, so any solution that kills those WM features are acceptable to me.
Under window preferences, do you have the movement key set to Alt or Super (win key)? Changing it to Super fixed this issue for me.
Can you clarify where this setting is ? I can't even find something named "window preferences "
Sorry I thought you were talking about Houdini
I've actually already changed; this is probably the first thing I tried. It didn't help sadly
Houdini Indie and Apprentice » Alt key on Linux / MATE to merge nodes in Network view
- alecaille
- 24 posts
- Offline
jsmackalecaille
Are you able to alt click to merge nodes in Network View ?
Currently on Linux Mint 21.2 / MATE, I no longer manage to do this.
The only way I've found so far is to also press Win , so the combo is Win+Alt+Click to merge.
Is there a solution on either side to make it work ? There are plenty of options to change the behavior of alt and Win in Keyboard preferences, but none of them seem to make a difference. I don't mind changing the WM if it helps. I really don't use alt+click to drag windows, and I never use the Win key, so any solution that kills those WM features are acceptable to me.
Under window preferences, do you have the movement key set to Alt or Super (win key)? Changing it to Super fixed this issue for me.
Can you clarify where this setting is ? I can't even find something named "window preferences "
Houdini Indie and Apprentice » Alt key on Linux / MATE to merge nodes in Network view
- alecaille
- 24 posts
- Offline
Are you able to alt click to merge nodes in Network View ? This is the Merge SOP node that takes all the outputs of the selected nodes and is added without having to Tab insert it
Currently on Linux Mint 21.2 / MATE, I no longer manage to do this.
The only way I've found so far is to also press Win , so the combo is Win+Alt+Click to merge.
Is there a solution on either side to make it work ? There are plenty of options to change the behavior of alt and Win in Keyboard preferences, but none of them seem to make a difference. I don't mind changing the WM if it helps. I really don't use alt+click to drag windows, and I never use the Win key, so any solution that kills those WM features are acceptable to me.
Currently on Linux Mint 21.2 / MATE, I no longer manage to do this.
The only way I've found so far is to also press Win , so the combo is Win+Alt+Click to merge.
Is there a solution on either side to make it work ? There are plenty of options to change the behavior of alt and Win in Keyboard preferences, but none of them seem to make a difference. I don't mind changing the WM if it helps. I really don't use alt+click to drag windows, and I never use the Win key, so any solution that kills those WM features are acceptable to me.
Edited by alecaille - Jan. 27, 2024 04:02:46
Houdini Indie and Apprentice » How does KineFX / Bonedeform SOP work internally ?
- alecaille
- 24 posts
- Offline
edward
Yes, it's called "linear blend skinning". See https://www.sidefx.com/docs/hdk20.0/_h_d_k__geometry__capture.html [www.sidefx.com]
Thanks
Here is the link for the current HDK, (20.0 is not public yet)
https://www.sidefx.com/docs/hdk/_h_d_k__geometry__capture.html [www.sidefx.com]
Houdini Indie and Apprentice » How does KineFX / Bonedeform SOP work internally ?
- alecaille
- 24 posts
- Offline
Given a point cloud with boneCapture_data and boneCapture_index on the points, and the matching skeleton, is the algorithm to compute the new positions of the points public ?
Technical Discussion » Square to circle
- alecaille
- 24 posts
- Offline
Mike_A
Building a little procedural setup:
Working with a simple 2x2 grid. My set up has an option for corner rounding with polybevel. All good.
However, sometimes my grid may be a square. In that case I'd like the maximum rounding to deliver a 'perfect' circle.
Because each rounded corner has a point at the end of the 90 degree arc, bevel collision avoidance seems to prevent rounding to a full circle.Image Not Found
Can anyone suggest an elegant solution?Image Not Found
Just a remark on the polybevel / point / Shape: round
This does not produce circle arcs. It's producing some kind rounded path, good enough for viz to look like an arc circle, but it's not converging to a circle arc. - as of H19.5
Just in case you actually needed a circle arc, and somehow expected that Polybevel was trying to make a circle arc out of the point... The actual shape is never mentioned in the documentation
**
However, there is a trick to do it with polybevel: it produces an actual circle arc when used on an edge.
So you can polyextrude a 2D polyline, somehow group the edges that are in the ExtrudeSide group, and polybevel /edge / round said group.
As a bonus (because it's a surface), you can use all the options in the Collision Tab especially: Detect Loops, and Stop Loops: Simultaneously.
There is also a way using the new Curve SOP, which can, in certain cases, make nice rounded corners which are actually circle arcs.
The drawback is that it's an interactive tool, and I can't find a way to use it procedurally, at least with an input with a variable topology.
If you want to give it a try:
Grid 2x2 -> SOP Convert /Bezier Curve/ Check Interpolate though Hulls / <- this will create a Bezier curve that looks like the input, and has the right structure for the next step
Then Curve Bezier SOP
At this point in the UI, switch to select/ edit mode, drag / grab around all the points, and click create rounded corners in the viewport
Edited by alecaille - Dec. 2, 2022 16:16:51
Technical Discussion » file chooser very slow
- alecaille
- 24 posts
- Offline
ivanmalekI submitted as a bug and the reply is: I am not able to reproduce the issue
Thanks,
now that you mention it, I think it might always start after turning thumbnails on, but after turning them off, it continues to be terribly slow. I'll try to experiment with it a bit.
Cheers,
Ivan
To be clear, it looks like once you've activated the thumbnail views in the file chooser, it keeps on computing the thumbnails even after you deactivate it. I've experimented quite a bit, and it also depends on the file types; some files ( for example TIFF) have an embedded thumbnail, and it doesn't affect the file chooser; but generally speaking, as of now, you can't deactivate the thumbnail preview computation after activating once during a session; 10 to 15 seconds is the expected time for a folder containing typically a few dozen of large scale jpg pictures; I can reproduce it all the time.
Only fix is to restart H.
You should definitively file a bug with the details of your installation, it may help to pinpoint the problem on their side. I've already spent quite some time doing it on my side and I'm not motivated to male a detailed bug report again TBH.
Edited by alecaille - Dec. 2, 2022 10:06:56
Houdini Indie and Apprentice » Can you simulate pool / snooker in Houdini ?
- alecaille
- 24 posts
- Offline
The use case is: one sphere would hit a bunch of tightly packed spheres, and only a few of those would be ejected from the pack.
Right now using Rigid Body Solver, the momentum of the cue ball is transferred to a lot of objects in smaller amounts, instead of a few objects in larger amounts. Is there a way to do it in Bullet or another solver in Houdini ? I'm not sure that the physical model used by Bullet even allows this shock wave to travel through the pack of spheres.
Right now using Rigid Body Solver, the momentum of the cue ball is transferred to a lot of objects in smaller amounts, instead of a few objects in larger amounts. Is there a way to do it in Bullet or another solver in Houdini ? I'm not sure that the physical model used by Bullet even allows this shock wave to travel through the pack of spheres.
Houdini Indie and Apprentice » creating a road with natural banking (Sweep + matrix transform?)
- alecaille
- 24 posts
- Offline
Maybe you can start with this:
houdiniPill_03. Curve banking using VEX
https://vimeo.com/222643398 [vimeo.com]
houdiniPill_03. Curve banking using VEX
https://vimeo.com/222643398 [vimeo.com]
Houdini Indie and Apprentice » Growing pts selection by using neighbours function
- alecaille
- 24 posts
- Offline
Group create / Disable Base Group / Group Type=Points / Include by edges / Edge Depth (your slider) , point group= initial points..
Houdini Indie and Apprentice » Referencing a point in TransformAxis
- alecaille
- 24 posts
- Offline
ashcic
Hello,
This should be super simple, but I can't do it:
I have a line made with an Add SOP (2 points).
Then I used a Carve SOP to find a point along it.
Next I isolated the point created by the Carve SOP using a Delete SOP.
Then I merged the Add SOP and the Delete SOP.
So I have 3 points and a polyline going into my TransformAxis SOP.
Now I want to use the point generated by the Carve SOP (in the Delete SOP) as the ‘origin’ for the TransformAxis SOP.
How do I do it?
This should be like ABC, what am I missing?!
Any help greatly appreciated.
AshImage Not Found
You can use these 3 expressions in each component of origin
point(“../delete”,0,“P”,0) point(“../delete”,0,“P”,1) point(“../delete”,0,“P”,2)
where the last argument is 0 for x, 1 for y, 2 for z as is integer index, assuming the node which contains the carved point is “../delete”
Or you can right click on origin, then Reference, Scene Data, and find something that fits your need.
In this case delete / Bounding Box / Centroid fills origin with:
centroid(“../delete10”, D_X) centroid(“../delete10”, D_Y) centroid(“../delete10”, D_Z)
and the centroid for a node with one point happens to be at the location of that point.
Edited by alecaille - Aug. 12, 2018 12:52:13
Houdini Indie and Apprentice » Dopnet copies change after the first frame
- alecaille
- 24 posts
- Offline
I'm trying to duplicate dopnets in order to make a modular simulation. For example, I would like to have one basic setup, and create several independent instances, while varying some characteristics of the objects.
It looks like the geometry is reset after frame 1, and it's using the cached version of the parameter iteration of the metadata node. So it looks like every copy is using the same cached version of iteration, which is not what I want.
There is something that I don't understand with the way dopnets fetch their geometry though.
I made a minimal example that replicates this problem.
It looks like the geometry is reset after frame 1, and it's using the cached version of the parameter iteration of the metadata node. So it looks like every copy is using the same cached version of iteration, which is not what I want.
There is something that I don't understand with the way dopnets fetch their geometry though.
I made a minimal example that replicates this problem.
Edited by alecaille - Aug. 10, 2018 11:07:39
Technical Discussion » Self intersecting FEM - how to avoid it ?
- alecaille
- 24 posts
- Offline
malbrecht
Moin,
I assume you created your scene file in 16.5 - it threw some errors for me (I don't have 16.5). But anyway, if you want to use FEM for this, the most likely problem is that your geometry isn't divided into small enough tets. When you embed the tets geometry (“solidembed” node), the default values are good for starting off, but you often have to change the min/max scale values to match the simulation requirements. Try basing your tets on 1 and then set max to 1.2 and min to 0.2 or something like that - might already solve the problem. You can also try to enlarge the collision geo, but given the slow solving of FEM simulations, my personal preference is to work with original sizes as far as possible.
Also, collisions often appear due to motion that is just too fast, so you may have to increase your substeps to catch all penetrations (but with your image given above I assume you have to tweak the tets size first).
If you do not want to use FEM for this specific simulation (for performance reason) I am sure you could get good results from Houdini's cloth solver (which, as I understand, isn't exactly a FEM solver internally) OR even a PBD (position based dynamics) solver like “grains”.
Marc
P.S. / Edit - attached is a frame from a quick “grain” (particle based in this case) solver setup. No intersections. But (as to be expected with a particle based solution) quite hard to control in terms of “haptics”. Dramatically faster than FEM, but still a lot slower than specialized solutions (like syFlex etc).
Ok, can you explain how you achieved the smooth surface ? I did a few tests but I can't get the spheres to really disappear at render time.
Technical Discussion » Self intersecting FEM - how to avoid it ?
- alecaille
- 24 posts
- Offline
malbrecht
Moin,
I assume you created your scene file in 16.5 - it threw some errors for me (I don't have 16.5). But anyway, if you want to use FEM for this, the most likely problem is that your geometry isn't divided into small enough tets. When you embed the tets geometry (“solidembed” node), the default values are good for starting off, but you often have to change the min/max scale values to match the simulation requirements. Try basing your tets on 1 and then set max to 1.2 and min to 0.2 or something like that - might already solve the problem. You can also try to enlarge the collision geo, but given the slow solving of FEM simulations, my personal preference is to work with original sizes as far as possible.
Also, collisions often appear due to motion that is just too fast, so you may have to increase your substeps to catch all penetrations (but with your image given above I assume you have to tweak the tets size first).
If you do not want to use FEM for this specific simulation (for performance reason) I am sure you could get good results from Houdini's cloth solver (which, as I understand, isn't exactly a FEM solver internally) OR even a PBD (position based dynamics) solver like “grains”.
Marc
P.S. / Edit - attached is a frame from a quick “grain” (particle based in this case) solver setup. No intersections. But (as to be expected with a particle based solution) quite hard to control in terms of “haptics”. Dramatically faster than FEM, but still a lot slower than specialized solutions (like syFlex etc).
This is a bit unrelated, but I've been trying POP grains, and using 16.5 on either Linux or Windows (same hardware), Houdini throws me a Python tuple error when I try to create a second POP grain object.. I'm pretty sure sidefx didn't release a version of Houdini with such a bug, so I'm trying to understand why 16.5 throws me this:
Traceback (most recent call last): File "dynamics_popgrainswet", line 4, in <module> File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.268/houdini/python2.7libs\doppoptoolutils.py", line 650, in createSandSource landinnode = createSandSourceFromObject(origobj, style) File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.268/houdini/python2.7libs\doppoptoolutils.py", line 437, in createSandSourceFromObject 0, 0) File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.268/houdini/python2.7libs\toolutils.py", line 357, in connectInputsAndOutputs connectMultiInputsAndOutputs(newnode, branch, inputs, outputs) File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.268/houdini/python2.7libs\toolutils.py", line 338, in connectMultiInputsAndOutputs outputs[i][2]) IndexError: tuple index out of range
At first I thought it could be a drive failure, meaning causing a corrupted file or something, but I can replicate with a different OS on a different drive.
Or is this a limitation of Apprentice ? I don't see it in the description though. Because it doesn't make any sense to me right now. I'm going to downgrade the versions until it works..
Houdini Indie and Apprentice » Dry sand, python error: tuple out of range..
- alecaille
- 24 posts
- Offline
Hi,
The first grain object from the shelf is doing fine. However, when I try to add a second dry sand object ( or any grain object), Houdini is throwing me a:
Traceback (most recent call last):
File “dynamics_popgrains”, line 4, in <module>
File “/opt/hfs16.5.304/houdini/python2.7libs/doppoptoolutils.py”, line 650, in createSandSource
landinnode = createSandSourceFromObject(origobj, style)
File “/opt/hfs16.5.304/houdini/python2.7libs/doppoptoolutils.py”, line 437, in createSandSourceFromObject
0, 0)
File “/opt/hfs16.5.304/houdini/python2.7libs/toolutils.py”, line 357, in connectInputsAndOutputs
connectMultiInputsAndOutputs(newnode, branch, inputs, outputs)
File “/opt/hfs16.5.304/houdini/python2.7libs/toolutils.py”, line 338, in connectMultiInputsAndOutputs
outputs)
IndexError: tuple index out of range
Tested under Linux if that matters.
POP examples from the doc are running fine though.
The first grain object from the shelf is doing fine. However, when I try to add a second dry sand object ( or any grain object), Houdini is throwing me a:
Traceback (most recent call last):
File “dynamics_popgrains”, line 4, in <module>
File “/opt/hfs16.5.304/houdini/python2.7libs/doppoptoolutils.py”, line 650, in createSandSource
landinnode = createSandSourceFromObject(origobj, style)
File “/opt/hfs16.5.304/houdini/python2.7libs/doppoptoolutils.py”, line 437, in createSandSourceFromObject
0, 0)
File “/opt/hfs16.5.304/houdini/python2.7libs/toolutils.py”, line 357, in connectInputsAndOutputs
connectMultiInputsAndOutputs(newnode, branch, inputs, outputs)
File “/opt/hfs16.5.304/houdini/python2.7libs/toolutils.py”, line 338, in connectMultiInputsAndOutputs
outputs)
IndexError: tuple index out of range
Tested under Linux if that matters.
POP examples from the doc are running fine though.
-
- Quick Links