Yes, it’s because be
has a higher purpose than for use with Pyblish alone and families is Pyblish-specific. Here, it has to do with the binding between an item in the inventory and its template.
Any item in the inventory under characters
will be assigned the corresponding template. The 0-1-2
are the positional arguments you type at the command-line, in this case 0=thedeal
, 1=ben
and 2=mudeling
.
We could use the last argument to determine the family.
if os.environ["FAMILY"] == "mudeling":
family = "model"
That’s right, I haven’t yet discovered a compelling enough reason to limit the arguments beyond project and asset. In this case there’s one extra which we’ll use to determine family, but there could be any arbitrary amount based on what you are looking to do with it.
The safety net in this case is the fact that it alerts you to the fact that a new development directory would be created here, and that you wouldn’t be entering an existing one.
In a larger environment, I’d also like the non-mandatory argument to be fully optional and instead default to who’s asking. An animator for example would head into animation
whereas a modeler into modeling
, unless they specified otherwise.
Have a look here for how that could work.
I realise you haven’t yet worked with initialisation and that it can be hard to picture what you would be given in return because of that. It would be quite the task however to tell and easier to show, and since we’ve got our demo project for exactly this purpose I figured it would be a good environment in which to demonstrate it.
So, we could either a) discard it, do what we know, or b) taste it, discover what we’ve missed.
As it’s your baby, I’ll leave the decision to you.