The HtoA installer supports silent installs and silent extractions (an install will update houdini.env, an extract does not).
-?, -h, --help Displays help on commandline options.
--help-all Displays help including Qt specific options.
-v, --verbose Verbose mode. Prints out more information.
--extract Extract installation contents in the current directory.
--extract-to <dir> Extract installation contents in <dir>.
--accept-license Do not prompt for license acceptance in silent mode.
IMPORTANT: By using this option, you accept the end-user
--silent Silent installation (no GUI).
For example, this command silently installs HtoA on Windows. The –verbose gives you a log in the command prompt window.
Error running pythonrc.py:
Traceback (most recent call last):
File "C:/Users/example/htoa/htoa-18.104.22.168_ra766b1f_houdini-17.5.460/scripts/python/pythonrc.py", line 5, in <module>
File "C:/Users/example/htoa/htoa-22.214.171.124_ra766b1f_houdini-17.5.460/scripts/python\htoa\searchpath.py", line 7, in <module>
File "C:/Users/example/htoa//htoa-126.96.36.199_ra766b1f_houdini-17.5.460/scripts/python\htoa\dialog.py", line 3, in <module>
from builtins import str
ImportError: No module named builtins
If you see errors like this, it’s because as of HtoA 5.6.3, the builtins module is required. Houdini 17.5 doesn’t include this module (unlike Houdini 18 and later), so you’ll have to install it.
Click Arnold > Open Arnold RenderView, and then open the Arnold Render Logs
In the Arnold Render Logs window, click IPR Log Frequency > Full We want the full log, because that includes everything that happens before progressive refinement (that’s the AA -3, -2, -1, 1, 3) renders.
The built-in N AOV is in world space. So how to get a tangent-space N AOV? Like this:
In brief, I read the N AOV, transform the normals from world to tangent space, and then map the normal values to the range 0.5, 1 (I used the range node here, but I could have used Add and Multiply to do the same thing).
Here’s the shader tree. You can save this in a .ass file and import it into Maya or whatever application you use. Then set up an AOV shader to write the custom Ntangent AOV
tangent 1 0 0
normal 0 1 0
This is actually pretty cool…you can use an operator to update file paths before an ASS file or ABC file is loaded, then use another operator to touch the geometry loaded by that procedural.
For example, suppose at render time you want to replace trex_proxy.abc with trex.abc. You can easily do that with a string replace operator:
*.(@node==’alembic’) selects all Alembic procedural nodes
Match matches any file name that ends with “_proxy.abc”
Replace replaces “_proxy.abc” with “.abc”
And that all happens before the abc file is loaded.
We can see this in the Arnold log (Debug verbosity). First the string replace operator is applied; then after the abc file is loaded, a set parameter operator is applied to the nodes loaded from the abc file.
You can use the wireframe shader to drive the opacity of a standard_surface.
The wireframe shader itself doesn’t support opacity, and neither do the flat, utility, and ambient_occlusion shaders. They are all color shaders (RGB). In Arnold, only shaders that return closures can support opacity.
In the more general case, where the opacity isn’t coming from the same shader, you can use the emission for the color: