diff --git a/website/docs/addon_maya_admin.md b/website/docs/addon_maya_admin.md index 06391887..d18ffcaf 100644 --- a/website/docs/addon_maya_admin.md +++ b/website/docs/addon_maya_admin.md @@ -94,6 +94,43 @@ When you publish your model with top group named like `foo_GRP` it will fail. Bu All regexes used here are in Python variant. ::: +### Extract Alembic + +`ExtractAlembic` + +![ExtractAlembic](assets/maya/admin/alembic_settings.png) + +The settings below will become the default when extracting the alembics for `pointcache` and `animation`. Any attributes exposed in `Exposed Overrides` will be visible to the users to edit when publishing. When a user edits an attribute, the default settings below no longer has any effects on the publishing values. To enforce settings even when exposing attributes, you can utilize the validators; `ValidateAlembicDefaultsPointcache` and `ValidateAlembicDefaultsAnimation`. + +- **Euler Filter**: Apply Euler filter while sampling rotations. +- **Renderable Only**: Only export renderable visible shapes. +- **Strip Namespaces**: Namespaces will be stripped off of the node before being written to Alembic. +- **UVs Only**: If this flag is present, only uv data for PolyMesh and SubD shapes will be written to the Alembic file. +- **UV Write**: UV data for PolyMesh and SubD shapes will be written to the Alembic file. +- **Verbose**: Prints the current frame that is being evaluated. +- **Visible Only**: Only export dag objects visible during frame range. +- **Whole Frame Geo**: Data for geometry will only be written out on whole frames. +- **World Space**: Any root nodes will be stored in world space. +- **Write Color Sets**: Write vertex colors with the geometry. +- **Write Face Sets**: Write face sets with the geometry. +- **Write Normals**: Write normals with the deforming geometry. +- **Write UV Sets**: Write all uv sets on MFnMeshes as vector 2 indexed geometry parameters with face varying scope. +- **Write Visibility**: Visibility state will be stored in the Alembic file. Otherwise everything written out is treated as visible. +- **Pre Roll**: When enabled, the pre roll start frame is used to pre roll the evaluation of the mesh. From the pre roll start frame to the Alembic start frame, will not be written to disk. This can be used for simulation run-up. +- **Pre Roll Start Frame**: The frame to start scene evaluation at. This is used to set the starting frame for time-dependent translations and can be used to evaluate run-up that isn't actually translated. NOTE: Pre Roll needs to be enabled for this start frame to be considered. +- **Data Format**: The data format to use to write the file. +- **Bake Attributes**: List of attributes that will be included in the Alembic export. +- **Bake Attribute Prefixes**: List of attribute prefixes for attributes that will be included in the Alembic export. +- **Custom Attributes**: Attributes matching by name will be included in the Alembic export. Attributes should be separated by semi-colon ;. +- **Custom Attributes Prefix**: Attributes starting with these prefixes will be included in the Alembic export. Attributes should be separated by semi-colon ;. +- **User Attr**: Attributes matching by name will be included in the Alembic export. Attributes should be separated by semi-colon ;. +- **User Attr Prefix**: Attributes starting with these prefixes will be included in the Alembic export. Attributes should be separated by semi-colon ;. +- **Mel Per Frame Callback**: When each frame (and the static frame) is evaluated the string specified is evaluated as a Mel command. +- **Mel Post Job Callback**: When the translation has finished the string specified is evaluated as a Mel command. +- **Python Per Frame Callback**: When each frame (and the static frame) is evaluated the string specified is evaluated as a python command. +- **Python Post Job Callback**: When the translation has finished the string specified is evaluated as a python command. +- **Exposed Overrides**: These are the attributes from above that will be exposed in the publisher for users to edit when publishing. + ## AYON Tools You can add your custom tools menu into Maya by extending definitions in **Maya -> Scripts Menu Definition**. diff --git a/website/docs/addon_maya_artist.md b/website/docs/addon_maya_artist.md index 860e0770..b2207bf3 100644 --- a/website/docs/addon_maya_artist.md +++ b/website/docs/addon_maya_artist.md @@ -352,7 +352,7 @@ Example setup: | Create Point Cache | Adjust Hierarchy | |--|--| -| ![Maya - PointCache 1 Example](assets/maya/artist/pointcache_setup_1.png) | ![Maya - PointCache 2 Example](assets/maya/artist/pointcache_setup_2.png) | +| ![Maya - PointCache 1 Example](assets/maya/artist/pointcache_setup_1.png) | ![Maya - PointCache 2 Example](assets/maya/artist/pointcache_setup_2.png) | | Publish Point Cache | |--| @@ -366,29 +366,45 @@ Example setup: - **Handle Start**: additional frames to export at frame end. Ei. frame end + handle end = export end. - **Step**: frequency of sampling the export. For example when dealing with quick movements for motion blur, a step size of less than 1 might be better. - **Refresh**: refresh the viewport when exporting the pointcache. For performance is best to leave off, but certain situations can require to refresh the viewport, for example using the Bullet plugin. -- **Attr**: specific attributes to publish separated by `;`. -- **AttrPrefix**: specific attributes which start with this prefix to publish separated by `;`. - **Include User Defined Attribudes**: include all user defined attributes in the publish. - **Farm**: if your studio has Deadline configured, artists could choose to offload potentially long running export of pointache and publish it to the farm. Only thing that is necessary is to toggle this attribute in created pointcache instance to True. - **Priority**: Farm priority. +- **Include Parent Hierarchy**: Set the root nodes if we don't want to include parents. The roots are to be considered the ones that are the actual direct members of the set. +- **Visible Only**: Does not filter out nodes that are only hidden on some frames as it counts "animated" or "connected" visibilities as if it's always visible. + +#### Alembic Options + +![Maya - Alembic Options](assets/maya/artist/alembic_options.png) + +:::note +These options can differ from settings depending on studios settings. Not all options below would be exposed in the publisher. +::: + - **Euler Filter**: Apply Euler filter while sampling rotations. -- **No Normals**: Present normal data for Alembic poly meshes will not be written. -- **Pre Roll**: This frame range will not be sampled. -- **Renderable Only**: Non-renderable hierarchy (invisible, or templated) will not be written out. -- **UV Write**: Uv data for PolyMesh and SubD shapes will be written to the Alembic file. Only the current uv map is used. -- **Write Color Sets**: Write all color sets on MFnMeshes as color 3 or color 4 indexed geometry parameters with face varying scope. -- **Write Face Sets**: Write all Face sets on MFnMeshes. +- **Renderable Only**: Only export renderable visible shapes. +- **Strip Namespaces**: Namespaces will be stripped off of the node before being written to Alembic. +- **UVs Only**: If this flag is present, only uv data for PolyMesh and SubD shapes will be written to the Alembic file. +- **UV Write**: UV data for PolyMesh and SubD shapes will be written to the Alembic file. +- **Verbose**: Prints the current frame that is being evaluated. +- **Visible Only**: Only export dag objects visible during frame range. - **Whole Frame Geo**: Data for geometry will only be written out on whole frames. - **World Space**: Any root nodes will be stored in world space. -- **Write Visibility**: Visibility state will be stored in the Alembic file. Otherwise everything written out is treated as visible. +- **Write Color Sets**: Write vertex colors with the geometry. +- **Write Face Sets**: Write face sets with the geometry. +- **Write Normals**: Write normals with the deforming geometry. - **Write UV Sets**: Write all uv sets on MFnMeshes as vector 2 indexed geometry parameters with face varying scope. -- **Write Creases**: If the mesh has crease edges or crease vertices, the mesh (OPolyMesh) would now be written out as an OSubD and crease info will be stored in the Alembic file. Otherwise, creases info won't be preserved in Alembic file unless a custom Boolean attribute SubDivisionMesh has been added to mesh node and its value is true. -- **Data Format**: The data format to use to write the file. Can be either "HDF" or "Ogawa". -- **Strip Namespaces**: Namespaces will be stripped off of the node before being written to Alembic. The int specifies how many namespaces will be stripped off of the node name. Be careful that the new stripped name does not collide with other sibling node names. -- **Verbose**: Prints the current frame that is being evaluated. -- **Pre Roll Start Frame**: The frame to start scene evaluation at. This is used to set the starting frame for time dependent translations and can be used to evaluate run-up that isn't actually translated. -- **Include Parent Hierarchy**: Set the root nodes if we don't want to include parents. The roots are to be considered the ones that are the actual direct members of the set. -- **Visible Only**: Does not filter out nodes that are only hidden on some frames as it counts "animated" or "connected" visibilities as if it's always visible. +- **Write Visibility**: Visibility state will be stored in the Alembic file. Otherwise everything written out is treated as visible. +- **Pre Roll**: When enabled, the pre roll start frame is used to pre roll the evaluation of the mesh. From the pre roll start frame to the Alembic start frame, will not be written to disk. This can be used for simulation run-up. +- **Pre Roll Start Frame**: The frame to start scene evaluation at. This is used to set the starting frame for time-dependent translations and can be used to evaluate run-up that isn't actually translated. NOTE: Pre Roll needs to be enabled for this start frame to be considered. +- **Data Format**: The data format to use to write the file. +- **Custom Attributes**: Attributes matching by name will be included in the Alembic export. Attributes should be separated by semi-colon ;. +- **Custom Attributes Prefix**: Attributes starting with these prefixes will be included in the Alembic export. Attributes should be separated by semi-colon ;. +- **User Attr**: Attributes matching by name will be included in the Alembic export. Attributes should be separated by semi-colon ;. +- **User Attr Prefix**: Attributes starting with these prefixes will be included in the Alembic export. Attributes should be separated by semi-colon ;. +- **Mel Per Frame Callback**: When each frame (and the static frame) is evaluated the string specified is evaluated as a Mel command. +- **Mel Post Job Callback**: When the translation has finished the string specified is evaluated as a Mel command. +- **Python Per Frame Callback**: When each frame (and the static frame) is evaluated the string specified is evaluated as a python command. +- **Python Post Job Callback**: When the translation has finished the string specified is evaluated as a python command. ### Loading Point Caches diff --git a/website/docs/assets/maya/admin/alembic_settings.png b/website/docs/assets/maya/admin/alembic_settings.png new file mode 100644 index 00000000..5649ab90 Binary files /dev/null and b/website/docs/assets/maya/admin/alembic_settings.png differ diff --git a/website/docs/assets/maya/artist/alembic_options.png b/website/docs/assets/maya/artist/alembic_options.png new file mode 100644 index 00000000..89dc4f66 Binary files /dev/null and b/website/docs/assets/maya/artist/alembic_options.png differ