Merge branch 'develop' into enhancement/hero_version_disable_hardlinks_setting

This commit is contained in:
Roy Nieterau 2024-06-27 12:06:24 +02:00 committed by GitHub
commit 7fedf9ec5d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 817 additions and 699 deletions

View file

@ -153,8 +153,8 @@ class FusionSubmitDeadlineModel(BaseSettingsModel):
)
group: str = SettingsField("", title="Group Name")
plugin: str = SettingsField("Fusion",
enum_resolver=fusion_deadline_plugin_enum,
title="Deadline Plugin")
enum_resolver=fusion_deadline_plugin_enum,
title="Deadline Plugin")
class NukeSubmitDeadlineModel(BaseSettingsModel):
@ -375,11 +375,11 @@ class PublishPluginsModel(BaseSettingsModel):
title="Nuke Submit to deadline")
ProcessSubmittedCacheJobOnFarm: ProcessCacheJobFarmModel = SettingsField(
default_factory=ProcessCacheJobFarmModel,
title="Process submitted cache Job on farm.",
section="Publish Jobs")
title="Process submitted cache Job on farm",
section="Publish Jobs")
ProcessSubmittedJobOnFarm: ProcessSubmittedJobOnFarmModel = SettingsField(
default_factory=ProcessSubmittedJobOnFarmModel,
title="Process submitted job on farm.")
title="Process submitted job on farm")
DEFAULT_DEADLINE_PLUGINS_SETTINGS = {

View file

@ -955,17 +955,25 @@ def add_self_publish_button(node):
node.setParmTemplateGroup(template)
def get_scene_viewer():
def get_scene_viewer(visible_only=True):
"""
Return an instance of a visible viewport.
There may be many, some could be closed, any visible are current
Arguments:
visible_only (Optional[bool]): Only return viewers that currently
are the active tab (and hence are visible).
Returns:
Optional[hou.SceneViewer]: A scene viewer, if any.
"""
panes = hou.ui.paneTabs()
panes = [x for x in panes if x.type() == hou.paneTabType.SceneViewer]
if visible_only:
return next((pane for pane in panes if pane.isCurrentTab()), None)
panes = sorted(panes, key=lambda x: x.isCurrentTab())
if panes:
return panes[-1]
@ -984,12 +992,10 @@ def sceneview_snapshot(
So, it's capable of generating snapshots image sequence.
It works in different Houdini context e.g. Objects, Solaris
Example:
This is how the function can be used::
from ayon_houdini.api import lib
sceneview = hou.ui.paneTabOfType(hou.paneTabType.SceneViewer)
lib.sceneview_snapshot(sceneview)
Example::
>>> from ayon_houdini.api import lib
>>> sceneview = hou.ui.paneTabOfType(hou.paneTabType.SceneViewer)
>>> lib.sceneview_snapshot(sceneview)
Notes:
.png output will render poorly, so use .jpg.

View file

@ -1,3 +1,3 @@
# -*- coding: utf-8 -*-
"""Package declaring AYON addon 'houdini' version."""
__version__ = "0.3.6"
__version__ = "0.3.7"

View file

@ -1,6 +1,6 @@
name = "houdini"
title = "Houdini"
version = "0.3.6"
version = "0.3.7"
client_dir = "ayon_houdini"

View file

@ -31,6 +31,7 @@ class AOVFilterSubmodel(BaseSettingsModel):
title="AOV regex"
)
class CollectLocalRenderInstancesModel(BaseSettingsModel):
use_deadline_aov_filter: bool = SettingsField(
@ -66,36 +67,36 @@ class BasicValidateModel(BaseSettingsModel):
class PublishPluginsModel(BaseSettingsModel):
CollectAssetHandles: CollectAssetHandlesModel = SettingsField(
default_factory=CollectAssetHandlesModel,
title="Collect Asset Handles.",
title="Collect Asset Handles",
section="Collectors"
)
CollectChunkSize: CollectChunkSizeModel = SettingsField(
default_factory=CollectChunkSizeModel,
title="Collect Chunk Size."
title="Collect Chunk Size"
)
CollectLocalRenderInstances: CollectLocalRenderInstancesModel = SettingsField(
default_factory=CollectLocalRenderInstancesModel,
title="Collect Local Render Instances."
title="Collect Local Render Instances"
)
ValidateInstanceInContextHoudini: BasicValidateModel = SettingsField(
default_factory=BasicValidateModel,
title="Validate Instance is in same Context.",
title="Validate Instance is in same Context",
section="Validators")
ValidateMeshIsStatic: BasicValidateModel = SettingsField(
default_factory=BasicValidateModel,
title="Validate Mesh is Static.")
title="Validate Mesh is Static")
ValidateReviewColorspace: BasicValidateModel = SettingsField(
default_factory=BasicValidateModel,
title="Validate Review Colorspace.")
title="Validate Review Colorspace")
ValidateSubsetName: BasicValidateModel = SettingsField(
default_factory=BasicValidateModel,
title="Validate Subset Name.")
title="Validate Subset Name")
ValidateUnrealStaticMeshName: BasicValidateModel = SettingsField(
default_factory=BasicValidateModel,
title="Validate Unreal Static Mesh Name.")
title="Validate Unreal Static Mesh Name")
ValidateWorkfilePaths: ValidateWorkfilePathsModel = SettingsField(
default_factory=ValidateWorkfilePathsModel,
title="Validate workfile paths settings.")
title="Validate workfile paths settings")
DEFAULT_HOUDINI_PUBLISH_SETTINGS = {
@ -109,7 +110,7 @@ DEFAULT_HOUDINI_PUBLISH_SETTINGS = {
},
"CollectLocalRenderInstances": {
"use_deadline_aov_filter": False,
"aov_filter" : {
"aov_filter": {
"host_name": "houdini",
"value": [
".*([Bb]eauty).*"

View file

@ -0,0 +1,29 @@
import pyblish.api
from ayon_core.pipeline import OptionalPyblishPluginMixin
from ayon_maya.api import plugin
class CollectFbxModel(plugin.MayaInstancePlugin,
OptionalPyblishPluginMixin):
"""Collect Camera for FBX export."""
order = pyblish.api.CollectorOrder + 0.2
label = "Collect Fbx Model"
families = ["model"]
optional = True
def process(self, instance):
if not self.is_active(instance.data):
return
if not instance.data.get("families"):
instance.data["families"] = []
if "fbx" not in instance.data["families"]:
instance.data["families"].append("fbx")
for key in {
"bakeComplexAnimation", "bakeResampleAnimation",
"skins", "constraints", "lights"}:
instance.data[key] = False

View file

@ -1,3 +1,3 @@
# -*- coding: utf-8 -*-
"""Package declaring AYON addon 'maya' version."""
__version__ = "0.2.7"
__version__ = "0.2.8"

View file

@ -1,6 +1,6 @@
name = "maya"
title = "Maya"
version = "0.2.7"
version = "0.2.8"
client_dir = "ayon_maya"
ayon_required_addons = {

View file

@ -625,6 +625,10 @@ class PublishersModel(BaseSettingsModel):
default_factory=CollectFbxCameraModel,
title="Collect Camera for FBX export",
)
CollectFbxModel: BasicValidateModel = SettingsField(
default_factory=BasicValidateModel,
title="Collect Model for FBX export",
)
CollectGLTF: CollectGLTFModel = SettingsField(
default_factory=CollectGLTFModel,
title="Collect Assets for GLB/GLTF export"
@ -1047,6 +1051,11 @@ DEFAULT_PUBLISH_SETTINGS = {
"CollectFbxCamera": {
"enabled": False
},
"CollectFbxModel": {
"enabled": False,
"optional": True,
"active": True
},
"CollectGLTF": {
"enabled": False
},

View file

@ -1,3 +1,3 @@
# -*- coding: utf-8 -*-
"""Package declaring AYON addon 'traypublisher' version."""
__version__ = "0.2.4"
__version__ = "0.2.5"

View file

@ -1,6 +1,6 @@
name = "traypublisher"
title = "TrayPublisher"
version = "0.2.4"
version = "0.2.5"
client_dir = "ayon_traypublisher"

View file

@ -182,7 +182,7 @@ DEFAULT_CREATORS = {
"type": "text",
"default": "",
"required_column": True,
"validation_pattern": "^([a-z0-9#._\\/]*)$"
"validation_pattern": "^([a-zA-Z\\:\\ 0-9#._\\\\/]*)$"
},
{
"name": "Folder Path",
@ -215,7 +215,7 @@ DEFAULT_CREATORS = {
{
"name": "Version",
"type": "number",
"default": 1,
"default": "1",
"required_column": True,
"validation_pattern": "^(\\d{1,3})$"
},
@ -231,47 +231,47 @@ DEFAULT_CREATORS = {
"type": "text",
"default": "",
"required_column": False,
"validation_pattern": "^([a-zA-Z0-9#._\\/]*)$"
"validation_pattern": "^([a-zA-Z\\:\\ 0-9#._\\\\/]*)$"
},
{
"name": "Frame Start",
"type": "number",
"default": 0,
"default": "0",
"required_column": True,
"validation_pattern": "^(\\d{1,8})$"
},
{
"name": "Frame End",
"type": "number",
"default": 0,
"default": "0",
"required_column": True,
"validation_pattern": "^(\\d{1,8})$"
},
{
"name": "Handle Start",
"type": "number",
"default": 0,
"default": "0",
"required_column": True,
"validation_pattern": "^(\\d)$"
},
{
"name": "Handle End",
"type": "number",
"default": 0,
"default": "0",
"required_column": True,
"validation_pattern": "^(\\d)$"
},
{
"name": "FPS",
"type": "decimal",
"default": 0.0,
"default": "0.0",
"required_column": True,
"validation_pattern": "^[0-9]*\\.[0-9]+$|^[0-9]+$"
},
{
"name": "Slate Exists",
"type": "bool",
"default": True,
"default": "True",
"required_column": False,
"validation_pattern": "(True|False)"
},