mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 16:34:53 +01:00
expanded documentation 📜
This commit is contained in:
parent
c6a52d6abb
commit
2191385f9f
8 changed files with 63 additions and 6 deletions
|
|
@ -39,6 +39,7 @@ class CreatePointCache(plugin.Creator):
|
||||||
parms.update({"sop_path": node.path()})
|
parms.update({"sop_path": node.path()})
|
||||||
|
|
||||||
instance.setParms(parms)
|
instance.setParms(parms)
|
||||||
|
instance.parm("trange").set(1)
|
||||||
|
|
||||||
# Lock any parameters in this list
|
# Lock any parameters in this list
|
||||||
to_lock = ["prim_to_detail_pattern"]
|
to_lock = ["prim_to_detail_pattern"]
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ class CreateUSDRender(plugin.Creator):
|
||||||
# Remove the active, we are checking the bypass flag of the nodes
|
# Remove the active, we are checking the bypass flag of the nodes
|
||||||
self.data.pop("active", None)
|
self.data.pop("active", None)
|
||||||
|
|
||||||
self.data.update({"node_type": "usdrender_rop"})
|
self.data.update({"node_type": "usdrender"})
|
||||||
|
|
||||||
def _process(self, instance):
|
def _process(self, instance):
|
||||||
"""Creator main entry point.
|
"""Creator main entry point.
|
||||||
|
|
@ -30,6 +30,9 @@ class CreateUSDRender(plugin.Creator):
|
||||||
# Render frame range
|
# Render frame range
|
||||||
"trange": 1
|
"trange": 1
|
||||||
}
|
}
|
||||||
|
if self.nodes:
|
||||||
|
node = self.nodes[0]
|
||||||
|
parms.update({"loppath": node.path()})
|
||||||
instance.setParms(parms)
|
instance.setParms(parms)
|
||||||
|
|
||||||
# Lock some Avalon attributes
|
# Lock some Avalon attributes
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ class CreateVDBCache(plugin.Creator):
|
||||||
parms = {
|
parms = {
|
||||||
"sopoutput": "$HIP/pyblish/%s.$F4.vdb" % self.name,
|
"sopoutput": "$HIP/pyblish/%s.$F4.vdb" % self.name,
|
||||||
"initsim": True,
|
"initsim": True,
|
||||||
|
"trange": 1
|
||||||
}
|
}
|
||||||
|
|
||||||
if self.nodes:
|
if self.nodes:
|
||||||
|
|
|
||||||
|
|
@ -13,14 +13,66 @@ sidebar_label: Houdini
|
||||||
- [Publish](artist_tools.md#publisher)
|
- [Publish](artist_tools.md#publisher)
|
||||||
- [Library Loader](artist_tools.md#library-loader)
|
- [Library Loader](artist_tools.md#library-loader)
|
||||||
|
|
||||||
## Publishing
|
## Publishing Alembic Cameras
|
||||||
### Publishing Alembic Cameras
|
|
||||||
You can publish baked camera in Alembic format. Select your camera and go **OpenPype -> Create** and select **Camera (abc)**.
|
You can publish baked camera in Alembic format. Select your camera and go **OpenPype -> Create** and select **Camera (abc)**.
|
||||||
This will create Alembic Driver node in **out** with path and frame range already set. This node will have a name you've
|
This will create Alembic ROP in **out** with path and frame range already set. This node will have a name you've
|
||||||
assigned in the **Creator** menu. For example if you name the subset `Default`, output Alembic Driver will be named
|
assigned in the **Creator** menu. For example if you name the subset `Default`, output Alembic Driver will be named
|
||||||
`cameraDefault`. After that, you can **OpenPype -> Publish** and after some validations your camera will be published
|
`cameraDefault`. After that, you can **OpenPype -> Publish** and after some validations your camera will be published
|
||||||
to `abc` file.
|
to `abc` file.
|
||||||
|
|
||||||
### Composite - Image Sequence
|
## Publishing Composites - Image Sequences
|
||||||
You can publish image sequence directly from Houdini. You can use any `cop` network you have and publish image
|
You can publish image sequence directly from Houdini. You can use any `cop` network you have and publish image
|
||||||
sequence generated from it.
|
sequence generated from it. For example I've created simple **cop** graph to generate some noise:
|
||||||
|

|
||||||
|
|
||||||
|
If I want to publish it, I'll select node I like - in this case `radialblur1` and go **OpenPype -> Create** and
|
||||||
|
select **Composite (Image Sequence)**. This will create `/out/imagesequenceNoise` Composite ROP (I've named my subset
|
||||||
|
*Noise*) with frame range set. When you hit **Publish** it will render image sequence from selected node.
|
||||||
|
|
||||||
|
## Publishing Point Caches (alembic)
|
||||||
|
Publishing point caches in alembic format is pretty straightforward, but it is by default enforcing better compatibility
|
||||||
|
with other DCCs, so it needs data do be exported prepared in certain way. You need to add `path` attribute so objects
|
||||||
|
in alembic are better structured. When using alembic round trip in Houdini (loading alembics, modifying then and
|
||||||
|
then publishing modifications), `path` is automatically resolved by alembic nodes.
|
||||||
|
|
||||||
|
In this example, I've created this node graph on **sop** level, and I want to publish it as point cache.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
*Note: `connectivity` will add index for each primitive and `primitivewrangle1` will add `path` attribute, so it will
|
||||||
|
be for each primitive (`sphere1` and `sphere2`) as Maya is expecting - `strange_GRP/strange0_GEO/strange0_GEOShape`. How
|
||||||
|
you handle `path` attribute is up to you, this is just an example.*
|
||||||
|
|
||||||
|
Now select the `output0` node and go **OpenPype -> Create** and select **Point Cache**. It will create
|
||||||
|
Alembic ROP `/out/pointcacheStrange`
|
||||||
|
|
||||||
|
|
||||||
|
## Redshift
|
||||||
|
:::note Work in progress
|
||||||
|
This part of documentation is still work in progress.
|
||||||
|
:::
|
||||||
|
|
||||||
|
## USD
|
||||||
|
### Publishing USD
|
||||||
|
You can publish your Solaris Stage as USD file.
|
||||||
|

|
||||||
|
|
||||||
|
This is very simple test stage. I've selected `output` **lop** node and went to **OpenPype -> Create** where I've
|
||||||
|
selected **USD**. This created `/out/usdDefault` USD ROP node.
|
||||||
|
|
||||||
|
### Publishing USD render
|
||||||
|
|
||||||
|
USD Render works in similar manner as USD file, except it will create **USD Render** ROP node in out and will publish
|
||||||
|
images produced by it. If you have selected node in Solaris Stage it will by added as **lop path** to ROP.
|
||||||
|
|
||||||
|
## Publishing VDB
|
||||||
|
|
||||||
|
Publishing VDB files works as with other data types. In this example I've created simple PyroFX explosion from
|
||||||
|
sphere. In `pyro_import` I've converted the volume to VDB:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
I've selected `vdb1` and went **OpenPype -> Create** and selected **VDB Cache**. This will create
|
||||||
|
geometry ROP in `/out` and sets its paths to output vdb files. During the publishing process
|
||||||
|
whole dops are cooked.
|
||||||
|
|
||||||
|
|
|
||||||
BIN
website/docs/assets/houdini_imagesequence_cop.png
Normal file
BIN
website/docs/assets/houdini_imagesequence_cop.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
BIN
website/docs/assets/houdini_pointcache_path.png
Normal file
BIN
website/docs/assets/houdini_pointcache_path.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 79 KiB |
BIN
website/docs/assets/houdini_usd_stage.png
Normal file
BIN
website/docs/assets/houdini_usd_stage.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 744 KiB |
BIN
website/docs/assets/houdini_vdb_setup.png
Normal file
BIN
website/docs/assets/houdini_vdb_setup.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
Loading…
Add table
Add a link
Reference in a new issue