Skip to content

create_camera

Create a camera asset.

CreateCamera

Bases: BlenderCreator

Polygonal static geometry.

Source code in client/ayon_blender/plugins/create/create_camera.py
 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
43
44
45
46
class CreateCamera(plugin.BlenderCreator):
    """Polygonal static geometry."""

    identifier = "io.openpype.creators.blender.camera"
    label = "Camera"
    product_type = "camera"
    icon = "video-camera"

    create_as_asset_group = True

    def create(
        self, product_name: str, instance_data: dict, pre_create_data: dict
    ):

        asset_group = super().create(product_name,
                                     instance_data,
                                     pre_create_data)

        bpy.context.view_layer.objects.active = asset_group
        if pre_create_data.get("use_selection"):
            for obj in lib.get_selection():
                obj.parent = asset_group
        else:
            plugin.deselect_all()
            camera = bpy.data.cameras.new(product_name)
            camera_obj = bpy.data.objects.new(product_name, camera)

            instances = bpy.data.collections.get(AVALON_INSTANCES)
            instances.objects.link(camera_obj)

            bpy.context.view_layer.objects.active = asset_group
            camera_obj.parent = asset_group

        return asset_group

    def get_instance_attr_defs(self):
        defs = lib.collect_animation_defs(self.create_context)
        return defs