Merge branch 'bugfix/OP-4820_maya_tile_assembly_fail_in_draft' of https://github.com/tokejepsen/pype into bugfix/OP-4820_maya_tile_assembly_fail_in_draft

This commit is contained in:
Toke Stuart Jepsen 2023-03-01 12:26:41 +00:00
commit d3305ddbd5
8 changed files with 72 additions and 28 deletions

View file

@ -9,6 +9,9 @@ class CreateVrayProxy(plugin.Creator):
family = "vrayproxy"
icon = "gears"
vrmesh = True
alembic = True
def __init__(self, *args, **kwargs):
super(CreateVrayProxy, self).__init__(*args, **kwargs)
@ -18,3 +21,6 @@ class CreateVrayProxy(plugin.Creator):
# Write vertex colors
self.data["vertexColors"] = False
self.data["vrmesh"] = self.vrmesh
self.data["alembic"] = self.alembic

View file

@ -9,10 +9,16 @@ class CollectVrayProxy(pyblish.api.InstancePlugin):
Add `pointcache` family for it.
"""
order = pyblish.api.CollectorOrder + 0.01
label = 'Collect Vray Proxy'
label = "Collect Vray Proxy"
families = ["vrayproxy"]
def process(self, instance):
"""Collector entry point."""
if not instance.data.get('families'):
instance.data["families"] = []
if instance.data.get("vrmesh"):
instance.data["families"].append("vrayproxy.vrmesh")
if instance.data.get("alembic"):
instance.data["families"].append("vrayproxy.alembic")

View file

@ -23,7 +23,7 @@ class ExtractAlembic(publish.Extractor):
label = "Extract Pointcache (Alembic)"
hosts = ["maya"]
families = ["pointcache", "model", "vrayproxy"]
families = ["pointcache", "model", "vrayproxy.alembic"]
targets = ["local", "remote"]
def process(self, instance):

View file

@ -16,7 +16,7 @@ class ExtractVRayProxy(publish.Extractor):
label = "VRay Proxy (.vrmesh)"
hosts = ["maya"]
families = ["vrayproxy"]
families = ["vrayproxy.vrmesh"]
def process(self, instance):

View file

@ -1,27 +1,31 @@
import pyblish.api
from openpype.pipeline import KnownPublishError
class ValidateVrayProxy(pyblish.api.InstancePlugin):
order = pyblish.api.ValidatorOrder
label = 'VRay Proxy Settings'
hosts = ['maya']
families = ['studio.vrayproxy']
label = "VRay Proxy Settings"
hosts = ["maya"]
families = ["vrayproxy"]
def process(self, instance):
invalid = self.get_invalid(instance)
if invalid:
raise RuntimeError("'%s' has invalid settings for VRay Proxy "
"export!" % instance.name)
@classmethod
def get_invalid(cls, instance):
data = instance.data
if not data["setMembers"]:
cls.log.error("'%s' is empty! This is a bug" % instance.name)
raise KnownPublishError(
"'%s' is empty! This is a bug" % instance.name
)
if data["animation"]:
if data["frameEnd"] < data["frameStart"]:
cls.log.error("End frame is smaller than start frame")
raise KnownPublishError(
"End frame is smaller than start frame"
)
if not data["vrmesh"] and not data["alembic"]:
raise KnownPublishError(
"Both vrmesh and alembic are off. Needs at least one to"
" publish."
)

View file

@ -199,6 +199,14 @@
"maskColor_manager": false,
"maskOperator": false
},
"CreateVrayProxy": {
"enabled": true,
"vrmesh": true,
"alembic": true,
"defaults": [
"Main"
]
},
"CreateMultiverseUsd": {
"enabled": true,
"defaults": [
@ -268,12 +276,6 @@
"Anim"
]
},
"CreateVrayProxy": {
"enabled": true,
"defaults": [
"Main"
]
},
"CreateVRayScene": {
"enabled": true,
"defaults": [
@ -676,7 +678,7 @@
"families": [
"pointcache",
"model",
"vrayproxy"
"vrayproxy.alembic"
]
},
"ExtractObj": {

View file

@ -332,6 +332,36 @@
}
]
},
{
"type": "dict",
"collapsible": true,
"key": "CreateVrayProxy",
"label": "Create VRay Proxy",
"checkbox_key": "enabled",
"children": [
{
"type": "boolean",
"key": "enabled",
"label": "Enabled"
},
{
"type": "boolean",
"key": "vrmesh",
"label": "VrMesh"
},
{
"type": "boolean",
"key": "alembic",
"label": "Alembic"
},
{
"type": "list",
"key": "defaults",
"label": "Default Subsets",
"object_type": "text"
}
]
},
{
"type": "schema_template",
"name": "template_create_plugin",
@ -380,10 +410,6 @@
"key": "CreateSetDress",
"label": "Create Set Dress"
},
{
"key": "CreateVrayProxy",
"label": "Create VRay Proxy"
},
{
"key": "CreateVRayScene",
"label": "Create VRay Scene"

View file

@ -1,3 +1,3 @@
# -*- coding: utf-8 -*-
"""Package declaring Pype version."""
__version__ = "3.15.2-nightly.2"
__version__ = "3.15.2-nightly.3"