Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Houdini addon docs #83

Merged
merged 21 commits into from
Nov 9, 2023
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 74 additions & 7 deletions website/docs/admin_hosts_houdini.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,46 @@ title: Houdini Admin docs
sidebar_label: Houdini
---

## General
### Update Houdini Vars on context change

Allows admins to have a list of vars (e.g. JOB) with (dynamic) values that will be updated on context changes, e.g. when switching to another asset or task.

Using template keys is supported but formatting keys capitalization variants is not, e.g. `{Asset}` and `{ASSET}` won't work


:::note
If `Treat as directory` toggle is activated, Ayon will consider the given value is a path of a folder.
MustafaJafar marked this conversation as resolved.
Show resolved Hide resolved

If the folder does not exist on the context change it will be created by this feature so that the path will always try to point to an existing folder.
:::

Disabling `Update Houdini vars on context change` feature will leave all Houdini vars unmanaged and thus no context update changes will occur.

> If `$JOB` is present in the Houdini var list and has an empty value, Ayon will set its value to `$HIP`


:::note
For consistency reasons we always force all vars to be uppercase.
e.g. `myvar` will be `MYVAR`
:::

![update-houdini-vars-context-change](assets/houdini/update-houdini-vars-context-change.png)


## Color Management (ImageIO)

Allows admins to override the global color management settings, check [Host specific overrides](https://ayon.ynput.io/docs/admin_colorspace#host-specific-overrides)

![houdini-color-management](assets/houdini/houdini-color-management.png)

## Shelves Manager
You can add your custom [Shelves](https://www.sidefx.com/docs/houdini/shelf/index.html) into Houdini by setting your shelf sets, shelves and tools in **Houdini -> Shelves Manager**.
![Custom menu definition](assets/houdini-admin_shelvesmanager.png)
![Custom menu definition](assets/houdini/houdini-admin_shelvesmanager.png)

The Shelf Set Path is used to load a .shelf file to generate your shelf set. If the path is specified, you don't have to set the shelves and tools.


![Shelves Creation](assets/settings_project_houdini_shelves.png)
![Shelves Creation](assets/houdini/settings_project_houdini_shelves.png)
1. **Shelf set name:** enter the name of the **shelf set** you want to import or create.
2. **Shelf Set Path (optional):** enter the Shelf set path (on Windows, MacOs or Linux) (optional).
3. **(+/-) :** add or delete a **shelf set**.
Expand All @@ -25,12 +57,47 @@ The Shelf Set Path is used to load a .shelf file to generate your shelf set. If
11. **⇅:** change the **shelf** order into the **shelf set**.
12. **⇅:** change the **tool** order in it **shelf**.

# Creator plugins
### Shelves Example

Using template keys is supported but formatting keys capitalization variants is not, e.g. `{Asset}` and `{ASSET}` won't work.

![Custom menu definition](assets/houdini/houdini-shelf-example.png)

## Creator plugins
Enable or disable the plugins. Some of them have extra options such as defining the default subsets names.

**Plugins list:** Create Arnold Ass, Create Alembic Camera, Create Composite (Image Sequence), Create Point Cache, Create Redshift ROP, Create Remote Publish, Create VDB Cache, Create USD, Create USD Model, Create USD Shading Workspace, Create USD Render.
**Plugins list:** Create Alembic Camera, Create Arnold Ass, Create Arnold ROP, Create Composite (Image Sequence), Create Houdini Digital Asset, Create Karma ROP, Create Mantra ROP, Create PointCache (Abc), Create PointCache (Bgeo), Create Redshift Proxy, Create Redshift ROP, Create Review, Create Static Mesh, Create USD (experimental), Create USD render (experimental), Create VDB Cache, Create VRay ROP.
MustafaJafar marked this conversation as resolved.
Show resolved Hide resolved

# Publish plugings
## Publish plugings
MustafaJafar marked this conversation as resolved.
Show resolved Hide resolved
Enable or disable the plugins executed at publishing.

**Publish plugins list:** Validate Workfile Paths, ValidateContainers.
**Publish plugins list:** Validate Latest Containers, Validate Mesh is Static, Validate Review Colorspace, Validate Subset Name, Validate Unreal Static Mesh Name,Validate workfile paths settings.

---

## FAQ

### When will we need to modify Houdini addon code ?
We've spent a lot of time making it possible to customize Houdini addon from settings.
e.g. you can add your studio's menus, tools and digital assets from settings.

Still, you may need to modify Ayon addons only when :
- Adding/Modifying/Customizing Launch Hooks
- Registering new Callbacks
- Adding/Modifying/Customizing plugins (create, publish, load, Actions)
- Adding a new Ayon launcher tray tool

### How to add my menus, tools and digital assets to Houdini ?
Mostly, you'd only need to update Environment to share these tools with your team.
e.g.,
- `PYTHONPATH` to add a custom python library path
- `HOUDINI_MENU_PATH` to add a custom menu path
- `HOUDINI_OTL_PATH` to add a custom digital assets path

Ayon allows you to add environment variables as:
1. Global environment variable (it wil be available for all DCCs)
2. Application specific (it wil be available for a particular DCC)
3. Application variant specific (it wil be available for a particular DCC version)
4. Tool (it wil be available on demand per project per asset from project Editor)

For a detailed guide visit: [Ayon/Openpype Env Vars and Tools Configuration Explained](https://community.ynput.io/t/openpype-env-vars-and-tools-configuration-explained/540)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
20 changes: 19 additions & 1 deletion website/src/data/addons/data/houdini.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,25 @@ const addon: Addon = {
"libraryLoader",
"slates",
],
families: ["model", "pointcache", "VDBCache", "camera"],
families: [
"arnoldAss",
"arnoldRender",
"camera",
"imagesequence",
"hda",
"karmaRender",
"mantraRender",
"pointcache",
"redshiftProxy",
"redshiftRender",
"review",
"staticmesh",
"VDBCache",
"vrayRender",
"workfile",
"usd",
"usdRender"
],
docs: {
user: "artist_hosts_houdini",
admin: "admin_hosts_houdini",
Expand Down
50 changes: 49 additions & 1 deletion website/src/data/families/data.ts
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,55 @@ const families: { [type in FamilyType]: Family } = {
},
maxScene: {
title: "Max Scene",
icon: "home_repair_service",
icon: "home_repair_service"
},
arnoldAss:{
title: "Arnold Scene Source",
icon: "grain"
},
arnoldRender:{
title: "Arnold Render",
icon: "photo_library"
},
imagesequence:{
title: "Composite (Image Sequence)" ,
icon: "photo_library"
},
hda:{
title: "Houdini Digital Asset (Hda)",
icon: "home_repair_service"
},
karmaRender:{
title: "Karma Render",
icon: "photo_library"
},
mantraRender:{
title: "Mantra Render",
icon: "photo_library"
},
redshiftProxy:{
title: "Redshift Proxy",
icon: "grain"
},
redshiftRender:{
title:"Redshift Render",
icon: "photo_library"
},
staticmesh:{
title: "Static Mesh",
icon: "grain"
},
vrayRender:{
title: "VRay Render",
icon: "photo_library"
},
usd:{
title: "USD (experimental)",
icon: "home_repair_service"
},
usdRender:{
title: "USD Render (experimental)",
icon: "photo_library"
}
};

Expand Down
14 changes: 13 additions & 1 deletion website/src/data/families/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,16 @@ export type FamilyType =
| "pointcache"
| "maxScene"
| "mayaScene"
| "pointCloud";
| "pointCloud"
| "arnoldAss"
| "arnoldRender"
| "imagesequence"
| "hda"
| "karmaRender"
| "mantraRender"
| "redshiftProxy"
| "redshiftRender"
| "staticmesh"
| "vrayRender"
| "usd"
| "usdRender";