Relative Paths In Mixed OS
PC/MAC Mixed OS environments tip
Relative paths are going to save your life.
Ok, maybe not your life, but your sanity, and time in general, most likely. Which does effect your life. Today I share a quick tip based on a short conversation I had with Mario Tran Phuc , the Creative Director at Insydium LTD over on Twitter recently. He brought up a great tip for X-Particles in the Cache Object where you can enter two different folder paths. A primary path for the system you are working on, and an alternate path as a fallback. This would be a good way to setup a PC path and a MAC path if you happen to be working in a mixed OS environment. Being that I dealt with this very issue last year, so I shared my own experience with him and others who may not be aware of this power tip.
Mixed OS environments is becoming more and more prominent in studios and even home builds with freelancers as well. Sometimes you just need the raw horsepower of one machine, and the ease of use of another. Regardless of your reasons, it always becomes an issue when dealing with textures, cache files, and rendering paths. Since those paths are so specific and unique to each machine, it can make reconnecting assets a tedious task. More so with third party plugins that don’t have a unified batch reconnect feature like most host apps do at the top level. In some cases you will have a central server which will help somewhat, but not completely eliminate the problem. Even with an all PC environment you can have issues, due to how PC can map a drive to a unique letter on every machine if you are not paying attention. I’ve seen it happen first hand, so even from PC to PC in a single environment it can be possible to break asset links.
I had worked for a studio last year that was a MAC shop, and I was tasked with doing some heavy duty volumetric and particle simulation work. PC made more sense for the pure horsepower and GPU card compatibility at the time. So since we had a mixed OS environment, the issues with that were no holds barred. The biggest one for me to have to deal with was rendering, and caches. It turned into a very annoying headache very fast. Since the file paths were different between the OS environments, I had to spend 20-30 minutes reconnecting caches, textures, and render outputs to then do a QC to make sure I didn’t screw anything up during that process, to then finally send off to the farm. It was brutal. I had amassed over 8TB of cache data during that project, so there was a lot of renders that had to happen on my end.
Learning from that, troublesome hurdle, I had eventually discovered relative paths earlier this year. Absolute game changer for me. Relative paths basically use a simple little three character string in replacement of a folder name.
Dot, dot, forward slash. This little string changed my workflow forever moving forward. It tells the system to jump up one folder. If you add two of them ../../, you will jump two folders up, and so on.
The relative path structure centralizes around the project file itself. You are basically telling your app to find where the project file is currently located (saved) at, then navigate from there. Here are some examples.
Say you have a folder structure like so:
If your file was saved in your Artists folder under your initials DT, then you would need to go three folders up to reach any of the other folders inside the root MyClientProject folder:
If you had saved you project in the top level C4D_Projects folder, then you would only need to go one folder up:
Here’s a quick video to show the tip in action for caching X-Particles, and setting up a rendering path for an image sequence.