Skip to content

create_model

Creator plugin for model.

CreateModel

Bases: ZbrushCreator

Creator plugin for Model.

Source code in client/ayon_zbrush/plugins/create/create_model.py
 7
 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
43
44
45
46
47
48
49
50
class CreateModel(plugin.ZbrushCreator):
    """Creator plugin for Model."""
    identifier = "io.ayon.creators.zbrush.model"
    label = "Model"
    product_type = "model"
    icon = "cube"
    export_format = "obj"

    def create(self, product_name, instance_data, pre_create_data):
        creator_attributes = instance_data.setdefault(
            "creator_attributes", dict())
        for key in ["subd_level", "exportFormat"]:
            if key in pre_create_data:
                creator_attributes[key] = pre_create_data[key]

        super(CreateModel, self).create(
            product_name,
            instance_data,
            pre_create_data)

    def get_instance_attr_defs(self):
        export_format_enum = ["abc", "fbx", "obj"]
        return [
            NumberDef(
                "subd_level",
                label="Subdivision Level",
                decimals=0,
                minimum=-10,
                default=0,
                tooltip=(
                    "A level of 1 or higher sets the level to export at.\n"
                    "A level of 0 means 'Use tool's current subdiv level'.\n"
                    "A level of -1 or lower subtracts from the highest subdiv,"
                    "\n    for example -1 means highest subdiv level."
                )
            ),
            EnumDef("exportFormat",
                    export_format_enum,
                    default=self.export_format,
                    label="Export Format Options")
        ]

    def get_pre_create_attr_defs(self):
        return self.get_instance_attr_defs()