dropbox3

Tools

Avalon ships with a number of graphical user interfaces for the end-user.




Launcher

Content is assumed to be created in an application of some kind, and the Launcher is responsible for having one up and running, within an environment suitable for a given project and application.



Creator

Associate content with a family.

The family is what determins how the content is handled throughout your pipeline and tells Pyblish what it should look like when valid.

API Example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
from avalon import api

class CreateModel(api.Creator):
    """Polygonal geometry for animation"""

    label = "Create Avalon Model"
    name = "modelDefault"
    family = "avalon.model"

api.register_plugin(api.Creator, CreateModel)



Loader

Import available assets from the currently set project.

API Example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
from avalon import api

class LoadModel(api.Loader):
    """Load data of family avalon.model"""

    label = "Load Avalon Model"
    families = ["avalon.model"]
    representations = ["ma"]

    def process(self, name, namespace, context):
        from maya import cmds
        from avalon import maya

        with maya.maintained_selection():
            nodes = cmds.file(self.fname)

        self[:] = nodes

api.register_plugin(api.Loader, LoadModel)



Publisher

Data shared amongst artists pass through what's known as a "publishing" step.

API Example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
from pyblish import api

class ExtractAvalonModel(api.InstancePlugin):
    """Produce a stripped down Maya file from instance"""

    label = "Extract Avalon Model"
    order = api.ExtractorOrder
    hosts = ["python"]
    families = ["avalon.model"]

    def process(self, instance):
        from maya import cmds
        from avalon import maya

        with maya.maintained_selection(), maya.without_extension():
            cmds.select(instance, noExpand=True)
            cmds.file(path, typ="mayaAscii", exportSelected=True)

api.register_plugin(ExtractAvalonModel)



Manager

Visualise loaded assets.

1
2
3
4
from avalon import maya

for container in maya.ls():
    print(container["name"])
Traceback (most recent call last):
  File "/tmp/tmpd5ekmb1z/block.py", line 1, in 
    from avalon import maya
  File "/home/travis/build/getavalon/docs/core/avalon/maya/__init__.py", line 7, in 
    from .pipeline import (
  File "/home/travis/build/getavalon/docs/core/avalon/maya/pipeline.py", line 7, in 
    from maya import cmds, OpenMaya
ModuleNotFoundError: No module named 'maya'          




Workfiles

Manage your workfiles.

Documentation