Quality of life for Houdini users

   21139   105   8
User Avatar
Member
73 posts
Joined: July 2011
Offline
chrism
Just a reminder to log any suggestions you might have. Forum posts and discussions are nice and all, but if you actually want it to be logged, tracked, and assigned to someone, have a look at the READ ME FIRST message at the top of every forum and log your suggestion (aka RFE).
https://www.sidefx.com/forum/topic/25347/ [www.sidefx.com]

Thanks for the remainder Chris. I hope we all properly RFE our suggestions.

I think is still very interesting to have a single post with a compilation of ideas and opinions of users about a very specific topic that is Quality of Life improvements.
User Avatar
Member
73 posts
Joined: July 2011
Offline
eikonoklastes
I've already put in an RFE for this, but in Solaris, prim pattern boxes need to be a filterable, sortable list view, with user-friendly add/modify/delete options, rather than a monolithic text box that is nearly impossible to work with.




That's another good thing to improve, it's clearly old and gets used quite often and for many different type of parameters.
User Avatar
Member
73 posts
Joined: July 2011
Offline
Soothsayer
eikonoklastes
Soothsayer
I don't recall where I've seen this (Presto?) but I would like to see a Scene View Flipbook. The idea is to have a per-frame viewport cache so that you can replay already fully cooked frames in real time in the viewport, regardless of how heavy the scene is. Basically frames that don't change get put into a frame buffer and just played back. There's a visual indication on the playbar telling you which frames are cached and which frames have changed. The whole thing can of course be toggled on and off.
If by "heavy" you mean computationally heavy, then there is a Cache SOP that already does this. If by "heavy" you mean geometry-heavy, then you're limited by your GPU.

The cache sop does it for all data piped in and it still needs to be translated into the 3d viewport. When the data is very large you need a lot of ram and realtime playback isn't possible. What I propose is a a framebuffer cache so that you only have to cache the 2d image in the viewport. It's useful for animating when you're only concerned with tweaking certain frames.

Great quality of life improvement imo!
User Avatar
Member
73 posts
Joined: July 2011
Offline
Soothsayer
- saving whole vops (or even subnets?) as presets, including the internal nodes. Not everything needs to be an hda. Sometimes you have just a lot of similar things in one shot or sequence and don't want to go through the whole hda pipeline.

I would really love to see this implemented.

Just a thought about this one, perhaps those things would be posible if the actually preset system was internally based on hdas.

Best of both worlds, the advantages of hdas but with the simple UI and usage of presets.
User Avatar
Member
211 posts
Joined: Dec. 2009
Offline
I still vote for an let's call it 'architectural camera'.

We already have shifting, but tilting for viewport and rendering with an optional decoupling of the transformation of background pictures would be extremely handy when dealing with perspectively corrected background footage.

It would provide direct access to creative possibilities with non screen-parallel DOF, as well.
User Avatar
Member
874 posts
Joined: Oct. 2008
Offline
bollili
I still vote for an let's call it 'architectural camera'.

We already have shifting, but tilting for viewport and rendering with an optional decoupling of the transformation of background pictures would be extremely handy when dealing with perspectively corrected background footage.

It would provide direct access to creative possibilities with non screen-parallel DOF, as well.

There's tilting in the physical lens shader but it only seems to affect the focus plane, so maybe not that useful in your case, however it shows that perhaps the desired outcome can be built with a lens shader.
--
Jobless
User Avatar
Member
211 posts
Joined: Dec. 2009
Offline
Soothsayer
There's tilting in the physical lens shader but it only seems to affect the focus plane, so maybe not that useful in your case, however it shows that perhaps the desired outcome can be built with a lens shader.

Interesting. I wasn't aware. Not what I want, but nevertheless thanks for that info.
User Avatar
Member
73 posts
Joined: July 2011
Offline
Geometry buffer type variable in vex that we could read and write to from a single wrangle.

Like a virtual output but with this extra ability to read and write from it to be able to do solvers using ping pong buffer technique.
User Avatar
Member
274 posts
Joined: July 2013
Offline
expressions in parm tuples.. if for example you need to get a vector from a detail attribute into a translate parm you need 3 times the same expression in x,y and z but with index of the method set to 0,1 or 2.
detail(<geo>, <attribname>, <index>)

If there would be a $parm_index variable available it would be possible to use the same expession in all 3, where $parm_index would replace the 0,1 and 2:
detail(<geo>, "attribname", $parm_index)
Edited by Jonathan de Blok - Feb. 20, 2023 15:42:01
More code, less clicks.
User Avatar
Member
162 posts
Joined: Nov. 2016
Offline
Support for Mouse scrolls on closed "ordered menus" / dropdown menus list:

https://capture.dropbox.com/x2BeJWhZ4rzTQhDX [capture.dropbox.com]
User Avatar
Member
874 posts
Joined: Oct. 2008
Offline
An intuitive, simpler, more efficient way to checkpoint sims. I guess that a lot of an artist's idle time has to do with waiting for sims and not a small part of that is just resimming stuff (or prerolling) til we get to the important part. Let's make that better.
Edited by Soothsayer - Feb. 21, 2023 04:58:21
--
Jobless
User Avatar
Member
73 posts
Joined: July 2011
Offline
Cop2net node in SHOPs that you can dive inside and it's normal Cops.

Similar to the way sops copnet outputs the result of the internal network as a volume, It could also have a string output that can be plugged to textures. This would have the same effect as using the op: syntax but much more convenient.
User Avatar
Member
469 posts
Joined: March 2014
Offline
Great list of ideas, here's some more.

Said it before and say it again, undockable menu's would be a huge workflow improvement when you have to repeat certain tasks. Imagine having to add these Labs SOPs a few times :

Also better RMB context sensitive menu popups. Currently the RMB shows me the same options no matter what is selected.
For instance for modeling when edges are selected with RMB click show: edgedivide/edgeslide/etc. With polygon selected RMB > polyextrude/polybevel/ etc. and so on...

Quickly hide and isolate geometry per viewport without having to add unnecessary "visibility" SOPs. Just select an object or some geometry and quickly isolate it in a single viewport, but still have it visible in another.

Better naming of SOPs !! I mean, "Mountain" or "Peak" for normal displacement or translate SOPs, "Creep" for a surface deformer, "Fuse" for a point merge SOP. Why not call it "Point Fuse" at least, so anyone can find it with a simple Tab search looking for a "point" related SOP. Someone at SideFX has a weird sense of humor.
Because of this, as a newbie its often not possible to find a SOP because the naming is just not intuitive. You have to already know the name of a SOP or google it, in the hope you're able to find some info.
I've seen people trying to script a solution for a problem, when there already was an untraceable SOP with a weird name for that.

Disable the possibility to add keyframes where they don't work. Very confusing when you figure out after a lot of fiddling around you're not doing something wrong, it's not working by default.
Like the Vellum Constraint settings for instance, where it looks like one can add an animation curve but only the first frame is read, so it's useless. Or even better, actually make everything animatable.

When setting viewport shading with a radial menu in a quad view, it doesn't seem to matter which view the mousepointer is hovering over. You first have to activate the view with a hotkey (N) before one can set the shading, which in my opinion is a heavily outdated workflow.

Peeps are suggesting adding AI to Houdini, let's make the GUI a little smarter first :-)
Edited by toonafish - March 11, 2023 08:48:46

Attachments:
TabMenus_01.jpg (42.2 KB)

User Avatar
Member
73 posts
Joined: July 2011
Offline
Transparent background network boxes, just color the outline instead of the whole box since most of colours make all the node names too hard to read.
User Avatar
Member
275 posts
Joined: Sept. 2012
Offline
tsiwt
Redo the whole Houdini U.I from scratch.

I and people around me don't see the Houdini UI has a priority at all, i have personally like it and would *much more* prefer efforts to be focused on other areas:

- Bugs fixed ( totally agree on viewport comment)
- Have viewport improvement and python state to be more straightforward like it is in Blender
- Rewrite COP yes this one maybe you could do it from Scratch imo
- Better RAM control for complex PDG graph,
- Some Houdini and especially LABS tools really needs to be more clean and with few minimal comments at very least!
- Anyone who has ever tried to seriously link Houdini to custom game engine knows the pain as soon as you could pass non trival cheesy things.. and the unity support today is close to none today...
- Vex Wrangle preset need Tag search, Python code editor is even weaker
Vincent Thomas   (VFX and Art since 1998)
Senior Env and Lighting  artist & Houdini generalist & Creative Concepts
http://fr.linkedin.com/in/vincentthomas [fr.linkedin.com]
User Avatar
Member
114 posts
Joined: Sept. 2017
Offline
toonafish
Said it before and say it again, undockable menu's would be a huge workflow improvement when you have to repeat certain tasks. Imagine having to add these Labs SOPs a few times


I personally never visually hunt through the tab menu, that is way too slow! Every node has a gibberish shortcut, for example "Volume Rasterize Attributes" can be gotten to by typing "vrat". As far as I know there is no canonical list of which nodes have which shortcuts but it is pretty easy to figure them out, just start with the first letters of each word and play with it from there.

I sometimes try to find gibberish shortcuts that involve only the left hand, as I would rather type one or two more letters than bring my stylus hand back towards the keyboard then back towards the tablet.
Edited by nicholasralabate - March 14, 2023 22:46:30
User Avatar
Member
166 posts
Joined: March 2014
Offline
nicholasralabate
I sometimes try to find gibberish shortcuts that involve only the left hand, as I would rather type one or two more letters than bring my stylus hand back towards the keyboard then back towards the tablet.
I don't think they're gibberish shortcuts, it just tries to match all the letters with the beginnings of words, and the order doesn't matter.

So SVE puts "Vellum Solver" at the top, and VES does the same. VS or SV puts VDB Smooth at the top, because the M in Smooth comes before the O in solver, so Vellum Solver is second in the list.

I also like to type everything with just the left hand where possible, this can be quite fast. Tab and typing BEV to get to polybevel is nearly as quick as using the radial menu.

Edit: actually I can't explain why BEV even works, perhaps that is a special shortcut?
Edited by Digipiction - March 15, 2023 06:52:50
User Avatar
Member
570 posts
Joined: Aug. 2014
Offline
Here's my short wishlist of UX improvements (in no particular order):
  • "Teleport operators" which act similarly to keyboard quickmarks or "jump to operator" button, but which have a physical form of an operator. They always come in pairs and, when double-clicked, allow jumping (in both ways) between two different locations within the same network, between different subnets, or between completely different contexts. Contrary to quickmarks, one could create unlimited number of teleport pairs to easily navigate logically connected parts of the scene. Teleport targets could be an operator, or a specific coordinate within a network. Teleports could be "anchorable" to other nodes, just like background images.
  • Conversion of lists to combo boxes with fuzzy search.
  • Please add an option to display path, that a tool listed in TAB search results originates from.

  • Fix network grid snapping. Stop all operators in the network from automatically moving down the Y axis every once in a while (usually after using a shelf tool or a tool from radial menu). It's incredibly frustrating, at least to me.
  • A+LMB drag action should respect network grid snapping if network grid is displayed.
  • I use network boxes a lot. I'd use them even more if not one problem. Depending on the size of the network box, its minimization can leave a small or a large gap in the network. I'd like to see some solution that would accommodate the rest of the network to fill that gap, but return to a former state once the box is expanded again. Otherwise, the minimize button doesn't make sense, and to be honest, I don't use it at all. If you ever implement some sort of solution to this issue, please make it respect grid snapping.
  • Full markdown formatting support for sticky notes. Including clickable links to specific operators or places in the scene (shared functionality with "teleport operators" mentioned above).
  • More graph layout algorithms for the network viewer.
  • Allow (as an option) to show operators from subnet's parent SOP network, which has their display and template flags enabled. Currently not possible. We can only show/hide/ghost objects that are on the /objlevel. One workaround is to drop in an Object Merge SOP, reference appropriate SOPs and template the node. This solution, while flexible, is sometimes not convenient and is simply a chore.
  • Maybe full ↹TAB support in the parameters pane? Currently, TAB allows only for traversing between input fields. Lists, toggles, buttons and other parameter templates are ignored. Leave traversing between input fields as an option.
  • There's a minor bug in "Long wire fading" which prevents it from working with dimmed operators ("Dim unused nodes").
  • Let Dash Box include parameter values in search results (e.g. #val test.bgeo.sc, #val.tx 500) to list all nodes containing the supplied value, or a specific value of the supplied parameter (or its subcomponent).
  • Blender-like pane splitting and merging. It might be my subjective opinion, but dragging corner of a pane to divide it into two feels easier and more intuitive than clicking on a button and going through the menu.
  • If Parameter Editor is overlaid over Network View ('p' key) and user resizes this editor, it will no longer auto-scale until the end of current Houdini session. I didn't find a solution for this, other than restarting Houdini.
  • Fix fullscreen on GNU/Linux. It's still impossible to switch Houdini to fullscreen without undecorating its window with 3rd party tools, like devilspie2. At least not on XFCE. I know that it's a problem with Qt, but was there some progress in this department (I assume this was reported to Qt developers)? Houdini is the only Qt application that I can't display fullscreen or in some circumstances resize its window without restarting the program.
Edited by ajz3d - March 18, 2023 20:37:06

Attachments:
tab_search.png (11.6 KB)

User Avatar
Member
458 posts
Joined: Nov. 2016
Offline
nicholasralabate
Edit: actually I can't explain why BEV even works, perhaps that is a special shortcut?
I think it's looking for the letters you type in order in the node name, no matter if there are other letters before or between them.
Edited by Tanto - March 20, 2023 10:23:47
User Avatar
Member
570 posts
Joined: Aug. 2014
Offline
The fact that "bev" works doesn't surprise me. What I find puzzling is that the likes of "evel", "pev", "pel", or "olev" do not.

Just to compare with fzf:
echo "PolyExtrude\nPolyBevel\nSkeleton\nCurve\nPeak" | fzf
All of those four strings will return PolyBevel.

TAB menu has a peculiar fuzzy search algorithm.
Edited by ajz3d - March 20, 2023 12:57:25
  • Quick Links