Create a Blender scene asset.
CreateBlendScene
Bases: BlenderCreator
Generic group of assets.
Source code in client/ayon_blender/plugins/create/create_blendScene.py
8
9
10
11
12
13
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 | class CreateBlendScene(plugin.BlenderCreator):
"""Generic group of assets."""
identifier = "io.openpype.creators.blender.blendscene"
label = "Blender Scene"
product_type = "blendScene"
icon = "cubes"
maintain_selection = False
def create(
self, product_name: str, instance_data: dict, pre_create_data: dict
):
instance_node = super().create(product_name,
instance_data,
pre_create_data)
if pre_create_data.get("use_selection"):
selection = lib.get_selection(include_collections=True)
for data in selection:
if isinstance(data, bpy.types.Collection):
instance_node.children.link(data)
elif isinstance(data, bpy.types.Object):
instance_node.objects.link(data)
return instance_node
def remove_instances(self, instances):
for instance in instances:
node = instance.transient_data["instance_node"]
bpy.data.collections.remove(node)
self._remove_instance_from_context(instance)
|