roy's comment

This commit is contained in:
Kayla Man 2023-04-13 14:44:47 +08:00
parent 6c242d9285
commit 7fe588fdea
2 changed files with 17 additions and 14 deletions

View file

@ -247,22 +247,9 @@ class HoudiniCreator(NewCreator, HoudiniCreatorBase):
"""
for instance in instances:
instance_node = hou.node(instance.data.get("instance_node"))
node = instance.data.get("instance_node")
if instance_node:
instance_node.destroy()
# for the extra render node from the plugins
# such as vray and redshift
ipr_node = hou.node("{}{}".format(node,
"_IPR"))
if ipr_node:
ipr_node.destroy()
re_node = hou.node("{}{}".format(node,
"_render_element"))
if re_node:
re_node.destroy()
self._remove_instance_from_context(instance)
def get_pre_create_attr_defs(self):

View file

@ -1,5 +1,7 @@
# -*- coding: utf-8 -*-
"""Creator plugin to create VRay ROP."""
import hou
from openpype.hosts.houdini.api import plugin
from openpype.pipeline import CreatedInstance
from openpype.lib import EnumDef, BoolDef
@ -17,7 +19,6 @@ class CreateVrayROP(plugin.HoudiniCreator):
ext = "exr"
def create(self, subset_name, instance_data, pre_create_data):
import hou #
instance_data.pop("active", None)
instance_data.update({"node_type": "vray_renderer"})
@ -98,6 +99,21 @@ class CreateVrayROP(plugin.HoudiniCreator):
to_lock = ["family", "id"]
self.lock_parameters(instance_node, to_lock)
def remove_instances(self, instances):
for instance in instances:
node = instance.data.get("instance_node")
# for the extra render node from the plugins
# such as vray and redshift
ipr_node = hou.node("{}{}".format(node, "_IPR"))
if ipr_node:
ipr_node.destroy()
re_node = hou.node("{}{}".format(node,
"_render_element"))
if re_node:
re_node.destroy()
return super(CreateVrayROP, self).remove_instances(instances)
def get_pre_create_attr_defs(self):
attrs = super(CreateVrayROP, self).get_pre_create_attr_defs()
image_format_enum = [