bigroy comment on the camera setup on validation

This commit is contained in:
Kayla Man 2023-08-31 15:41:33 +08:00
parent b18bbf439e
commit 055e825000
3 changed files with 14 additions and 9 deletions

View file

@ -34,6 +34,9 @@ class CollectRender(pyblish.api.InstancePlugin):
aovs = RenderProducts().get_aovs(instance.name)
files_by_aov.update(aovs)
camera = rt.viewport.GetCamera()
instance.data["cameras"] = [camera.name] or None
if "expectedFiles" not in instance.data:
instance.data["expectedFiles"] = list()
instance.data["files"] = list()

View file

@ -13,8 +13,7 @@ class ValidateViewportCamera(pyblish.api.InstancePlugin,
OptionalPyblishPluginMixin):
"""Validates Viewport Camera
Check if the renderable camera in scene used as viewport
camera for rendering
Check if the renderable camera used for rendering
"""
order = pyblish.api.ValidatorOrder
@ -27,11 +26,9 @@ class ValidateViewportCamera(pyblish.api.InstancePlugin,
def process(self, instance):
if not self.is_active(instance.data):
return
cameras_in_scene = [c for c in rt.Objects
if rt.classOf(c) in rt.Camera.Classes]
if rt.viewport.getCamera() not in cameras_in_scene:
if not instance.data["cameras"]:
raise PublishValidationError(
"Cameras in Scene not used as viewport camera"
"No renderable Camera found in scene."
)
@classmethod
@ -39,10 +36,11 @@ class ValidateViewportCamera(pyblish.api.InstancePlugin,
rt.viewport.setType(rt.Name("view_camera"))
camera = rt.viewport.GetCamera()
cls.log.info(f"Camera {camera} set as viewport camera")
cls.log.info(f"Camera {camera} set as renderable camera")
renderer_class = get_current_renderer()
renderer = str(renderer_class).split(":")[0]
if renderer == "Arnold":
arv = rt.MAXToAOps.ArnoldRenderView()
arv.setOption("Camera", str(camera))
arv.close()
instance.data["cameras"] = [camera.name]