To add external dependencies to the archive created by Maya with "File" --> "Archive Scene", a plug-in developer needs to implement the MPxNode::getFilesToArchive() method.
The documentation is here. This will add the plug-in node's external dependencies to the archive. While you are at it, you can add any file paths to Maya’s File Path Editor UI using this command:
filePathEditor –registerType "myNode1.filePath" –typeLabel "Custom"
If you wish to add the external dependencies to metadata in the Maya file itself, use the getExternalContent() and setExternalContent() entry points. Unfortunately these did not get properly documented and are limited in scope (they do not support file sequences). There are shipped usage examples in our scene assembly nodes (look for getExternalContent and setExternalContent in these):
- sceneAssembly/assemblyReference.h
- sceneAssembly/adskRepresentations.h
- sceneAssembly/adskRepresentations.cpp
- sceneAssembly/assemblyDefinition.h
- sceneAssembly/assemblyDefinition.cpp
A search for getExternalContent or setExternalContent in the search field of the online doc will reveal more. The Python API does have the expected documentation:
Another issue is that getFilesToArchive() will not be called on any MPxLocatorNode proxy derived class since the method was not implemented until the latest Maya 2016 service pack (SP1)
Comments
You can follow this conversation by subscribing to the comment feed for this post.