Bases: HoudiniPlaceholderPlugin
, PlaceholderCreateMixin
Workfile template plugin to create "create placeholders".
"create placeholders" will be replaced by publish instances.
TODO
Support imprint & read precreate data to instances.
Source code in client/ayon_houdini/plugins/workfile_build/create_placeholder.py
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 | class HoudiniPlaceholderCreatePlugin(
HoudiniPlaceholderPlugin, PlaceholderCreateMixin
):
"""Workfile template plugin to create "create placeholders".
"create placeholders" will be replaced by publish instances.
TODO:
Support imprint & read precreate data to instances.
"""
identifier = "ayon.create.placeholder"
label = "Houdini Create"
def populate_placeholder(self, placeholder):
self.populate_create_placeholder(placeholder)
def repopulate_placeholder(self, placeholder):
self.populate_create_placeholder(placeholder)
def get_placeholder_options(self, options=None):
return self.get_create_plugin_options(options)
def get_placeholder_node_name(self, placeholder_data):
create_context = CreateContext(registered_host())
creator = create_context.creators.get(placeholder_data["creator"])
product_type = creator.product_type
node_name = "{}_{}".format(
self.identifier.replace(".", "_"),
product_type
)
return node_name
def collect_placeholders(self):
output = []
create_placeholders = self.collect_scene_placeholders()
for node in create_placeholders:
placeholder_data = read(node)
output.append(
CreatePlaceholderItem(node.path(), placeholder_data, self)
)
return output
|