-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrator file naming #25
Comments
Sounds good.
This is reason enough to add an additional layer onto each file-name I think.
This on the other hand is a bit of a pandoras box. It makes you rely on the software to display metadata about your file, which begs the question, what metadata should be shown? And once you've decided, it will be unchangeable and forever imprinted into all files. Metadata is better left to other things, file management is complicated enough as it is to also have to worry about what some applications choose to visualise files as.
+1 |
Ok, currently I'm testing the following layer of naming: output_name = '{asset}_{family}'\
.format(asset=data['asset'],
family=instance.data('family'))
# If this is a variation append it to the name
variation = instance.data('variation', None)
if variation is not None:
output_name += '_{0}'.format(variation)
output_name = output_name.lower() # ensure lowercase This would result in:
In this above output the This would mean the selector provides additional information about whether it would need a variation suffix. In this scenario a single selector could do it based on a name or attributes on a node in the scene to extract multiple variations of a single asset, eg. low-res and high-res. Into something like this:
With this layer of naming there currently isn't anything to ensure the variation that is appended to the name is consistent with how one wants to name low-res and high-resolution versions. (Or maybe we have additional levels of versions?) In theory one could implement a Validator, for example: # pseudocode
class ValidateModelVariation(publish.api.Validator):
def process(instance):
variation = instance.data('variation', None)
assert variation in [None, 'high', 'low', 'proxy'] I'm not sure this is the best way forward. What do you think? |
Where did "variation" come from? I think it sounds too complex.
|
I'm more thinking about where the information or extra naming comes from. Are you saying that we make additional families? How would that work for example for the |
Each camera could have it's own name, like
|
The current Integrator is naming the integrated files based on the families of the extractor.
For example the output model, a mayaAscii file, gets saved to
<asset>/publish/v001/model.ma
.By using this naming convention we introduce a couple of downsides:
model.ma
,review.mov
,review.gif
, etc. Most applications will use solely the filename to display what file it is. For example when referencing the file in Maya the reference editor will solely display model. The same would be for video players solely showing review. It would be much clearer if they would also display the asset's name. Therefore it might make more sense to prepend filenames with the asset's name, like for character ben:ben_model.ma
,ben_rig.ma
andben_review.mov
.The reference editor in an animation scene would then be able to show:
A custom UI could also solve this (and it should in the long run for managing references!), but since most applications show at least the file name I think it's great to have this information available to you even if you step into a custom viewer (eg. Quicktime, a browser, Maya or another tool not using a custom scripted interface for the pipeline).
I'm raising this issue to see if we can get to a better naming convention for our published files, or whether there are enough pros to stick with the current one.
What do you think?
The text was updated successfully, but these errors were encountered: