Hi,
Could the logic behind the different stages of resolving a bitmap via its paths be explained, particularly when in the context of an additional MXP config path file has been declared and used in a submission to Deadline. For example, I’m interested to know what happens when you set “Submit External Files Mode set to [Copy LOCAL Bitmaps to Repository*]” is selected AND a MXP path file is declared.
In the past, Bobo has given me a good explanation of how the “Submit External Files Mode” feature works in its different options, however I need to understand how it works when a MXP is declared as well!
Both features could do with a little more explaining in the online manual
Mike
Mike,
I could be wrong here since I was not involved in the addition of the MXP file support, but here is what the logic should be according to my logic:
*When a bitmap is sent to the repository, it lands in the same folder as the Max file. A bitmap that was sent to the repository will also have its path removed inside the BitmapTexture map that is loading it, forcing Max to resolve the location of that bitmap. If I remember correctly, a missing bitmap is first looked for in the folder of the Max file, then the Map Paths are searched for it.
*So when you specify LOCAL only, SMTD will find any paths that are on a non-network path and send only these to the repository. Thus, the copy of the image that was actually on your local workstation will be sent with the file and I would expect it to be resolved instead of any other bitmap with the same name on the Map paths even if they were on the search paths of the slave or in the MXP file you sent with the job.
*The MXP provides an alternative search path for Maps to replace the default local slave settings which might not include all folders used for all projects. So if you know where your textures should be found and the Max file wouldn’t be able to find the textures at their original network locations, the MXP file would provide a solution to tell every slave where to look for them.
Of course, I could be wrong about the order of searching, but I am pretty sure that Max would start with the path stored in the bitmap texture map (if any), then look in the maxFilePath folder where the MAX file came from, then look through the Map paths.
Thanks Bobo.
OK, I have had another look at this code/logic and a couple of things cropped up in my mind:
- Using “submit local maps” in SMTD is great, however it needs to check if the actual maps at these locations actually exist before submission. In fact, this would be useful for all assets in a scene in SMTD. Check that the actual assets are available [doesfileexist] kind of check. If you have say, a local map which is not present when you hit submit (with local maps submit, selected), then the bitmaptextures get stripped, but NO local map is transferred, causing the job to fail.
- The MXP path function is useful, but even better, would be an additional checkbox, which adds the function to automatically create an MXP file based on the scene file that is being submitted as you hit the submission button. ie:
On submit button pressed do (pathconfig.saveto "\\\\deadlinerepository\\yourjobfolder\\extraSceneUser_Specified_Paths.mxp")
- Finally, an additional function (checkbox) to force all network paths to be converted to UNC paths would be useful for studios that are having difficulty with mapped drive letters across a network/multiple domains, etc. Combine this with the ability to ‘double-check’ that the assets actually exist at these UNC locations and we should have more ways to ensure ALL scene assets are found, no matter where artists may have placed them…! (alternatively, sack the artist, which was my first suggestion…)
Mike
Hi Bobo/Ryan,
Have you guys had a chance to look into these issues yet?
Thanks,
Mike
Hi Mike,
We haven’t had a chance to look at this yet, but we should be able to look into it for a future version (not 3.1 SP1, but possibly the following release).
Cheers,
- Ryan
Hey Mike,
We finally took a look at these requests. Sorry for taking so long.
-
There is a User Option under the Options tab in SMTD to warn about missing external files on submission, so that should suffice.
-
Considering we already have the Copy All and Copy Local bitmaps to repository options, this seems a little redundant. Also, if the scene is using local paths, then this won’t really help. In fact, now that I think about it, if the problem is that 3dsmax can’t find the textures in the current scene, then would having an MXP file that just redefines those same texture paths actually help at all?
-
3dsmax has an option to handle this automatically (Customize -> Preferences -> Files Tab -> Convert file paths to UNC). From reading the documentation, this will only apply to new paths being added, but as long as the option is enabled from the start, you should be fine.
Cheers,
- Ryan