mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 16:34:53 +01:00
Houdini: Remove the legacy creator from before new publisher UI
This commit is contained in:
parent
ef495d02a4
commit
51d63d8493
1 changed files with 5 additions and 77 deletions
|
|
@ -10,8 +10,7 @@ import hou
|
||||||
import pyblish.api
|
import pyblish.api
|
||||||
from ayon_core.pipeline import (
|
from ayon_core.pipeline import (
|
||||||
CreatorError,
|
CreatorError,
|
||||||
LegacyCreator,
|
Creator,
|
||||||
Creator as NewCreator,
|
|
||||||
CreatedInstance,
|
CreatedInstance,
|
||||||
AYON_INSTANCE_ID,
|
AYON_INSTANCE_ID,
|
||||||
AVALON_INSTANCE_ID,
|
AVALON_INSTANCE_ID,
|
||||||
|
|
@ -22,84 +21,13 @@ from ayon_core.lib import BoolDef
|
||||||
|
|
||||||
from .lib import imprint, read, lsattr, add_self_publish_button
|
from .lib import imprint, read, lsattr, add_self_publish_button
|
||||||
|
|
||||||
|
# Backwards compatibility
|
||||||
|
NewCreator = Creator
|
||||||
|
|
||||||
|
|
||||||
SETTINGS_CATEGORY = "houdini"
|
SETTINGS_CATEGORY = "houdini"
|
||||||
|
|
||||||
|
|
||||||
class Creator(LegacyCreator):
|
|
||||||
"""Creator plugin to create instances in Houdini
|
|
||||||
|
|
||||||
To support the wide range of node types for render output (Alembic, VDB,
|
|
||||||
Mantra) the Creator needs a node type to create the correct instance
|
|
||||||
|
|
||||||
By default, if none is given, is `geometry`. An example of accepted node
|
|
||||||
types: geometry, alembic, ifd (mantra)
|
|
||||||
|
|
||||||
Please check the Houdini documentation for more node types.
|
|
||||||
|
|
||||||
Tip: to find the exact node type to create press the `i` left of the node
|
|
||||||
when hovering over a node. The information is visible under the name of
|
|
||||||
the node.
|
|
||||||
|
|
||||||
Deprecated:
|
|
||||||
This creator is deprecated and will be removed in future version.
|
|
||||||
|
|
||||||
"""
|
|
||||||
defaults = ['Main']
|
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
|
||||||
super(Creator, self).__init__(*args, **kwargs)
|
|
||||||
self.nodes = []
|
|
||||||
|
|
||||||
def process(self):
|
|
||||||
"""This is the base functionality to create instances in Houdini
|
|
||||||
|
|
||||||
The selected nodes are stored in self to be used in an override method.
|
|
||||||
This is currently necessary in order to support the multiple output
|
|
||||||
types in Houdini which can only be rendered through their own node.
|
|
||||||
|
|
||||||
Default node type if none is given is `geometry`
|
|
||||||
|
|
||||||
It also makes it easier to apply custom settings per instance type
|
|
||||||
|
|
||||||
Example of override method for Alembic:
|
|
||||||
|
|
||||||
def process(self):
|
|
||||||
instance = super(CreateEpicNode, self, process()
|
|
||||||
# Set parameters for Alembic node
|
|
||||||
instance.setParms(
|
|
||||||
{"sop_path": "$HIP/%s.abc" % self.nodes[0]}
|
|
||||||
)
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
hou.Node
|
|
||||||
|
|
||||||
"""
|
|
||||||
try:
|
|
||||||
if (self.options or {}).get("useSelection"):
|
|
||||||
self.nodes = hou.selectedNodes()
|
|
||||||
|
|
||||||
# Get the node type and remove it from the data, not needed
|
|
||||||
node_type = self.data.pop("node_type", None)
|
|
||||||
if node_type is None:
|
|
||||||
node_type = "geometry"
|
|
||||||
|
|
||||||
# Get out node
|
|
||||||
out = hou.node("/out")
|
|
||||||
instance = out.createNode(node_type, node_name=self.name)
|
|
||||||
instance.moveToGoodPosition()
|
|
||||||
|
|
||||||
imprint(instance, self.data)
|
|
||||||
|
|
||||||
self._process(instance)
|
|
||||||
|
|
||||||
except hou.Error as er:
|
|
||||||
six.reraise(
|
|
||||||
CreatorError,
|
|
||||||
CreatorError("Creator error: {}".format(er)),
|
|
||||||
sys.exc_info()[2])
|
|
||||||
|
|
||||||
|
|
||||||
class HoudiniCreatorBase(object):
|
class HoudiniCreatorBase(object):
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def cache_instance_data(shared_data):
|
def cache_instance_data(shared_data):
|
||||||
|
|
@ -170,7 +98,7 @@ class HoudiniCreatorBase(object):
|
||||||
|
|
||||||
|
|
||||||
@six.add_metaclass(ABCMeta)
|
@six.add_metaclass(ABCMeta)
|
||||||
class HoudiniCreator(NewCreator, HoudiniCreatorBase):
|
class HoudiniCreator(Creator, HoudiniCreatorBase):
|
||||||
"""Base class for most of the Houdini creator plugins."""
|
"""Base class for most of the Houdini creator plugins."""
|
||||||
selected_nodes = []
|
selected_nodes = []
|
||||||
settings_name = None
|
settings_name = None
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue