Currently the crowdrender alpha supports rendering files that only refer to data that is locally available. What does that mean? It means that all the data needed to render your scene needs to be in the blend file you are working on.
There is a workaround for those of you who desperately need to render using crowdrender and have references to external files, we'll cover this in detail below. However, for simplicity, crowdrender expects your scene data to be in the blend file you currently have open.
You can work with external files in some cases, with texture files for example. You can use the "pack into blend file" option that will save the textures as part of the blend file. Watch your file sizes grow accordingly though. This data will be transferred to your second machine.
For files that cannot be packed into the blend file you are wanting to render, you will need to use the workaround below:
Lets go over the basics of what we're doing here before the steps you'll need to carry out, if you are a pro read ahead to the method.
Blender is quite nifty in that it will allow you to include a range of external files in your scene that can form part of the final rendered image, textures are one, other blend files with models in them are another (there are a ton of good tutorials out there you should probably watch if you haven't already regarding good structures for projects).
The problem is that not all of these files can be packed into the blend file and if you need to keep files external (if you are editing them externally) this is a problem for crowdrender. Our addon (in its alpha version) only transfers the blend file you are working on, not its dependencies (all the files you refer to in your scene). For example, if you have a scene of a room and you have other blend files containing furniture for the room, this is a problem you'll need to solve with the workaround.
This workaround assumes you will not be editing your external files and you are ready to do final tweaking and rendering, not remodeling or re-texturing.
For this method to work, you will need to have made sure that you use relative paths for all your external files. The reason for this is that you are about to copy those external files to your second machine. As a result, the paths need to be relative so that on the second machine crowdrender can find them relative to the copy of your blend file it will transfer to that second machine.
When you open a project with crowdrender enabled and connect to the second machine, a special folder is generated to hold the blend file and rendered images. This folder is where the external files will need to go.
Recommended Project Structure
By project we of course refer to your blend file that you wish to render and all of its dependencies, files it needs to render the scene. Here is an example of a good project structure. The scene is a room with some furniture in it.
The blend file that is rendered is my_room.blend and it uses the other files to do this, it needs the models and textures from the other files to render the scene.
Please follow this structure and use relative paths for this workaround to be successful. You need the blend file that renders at the root directory of the project. It gets very messy otherwise and makes life hard for you if you have this blend file in a sub-directory of the project directory.
Copy your external files to the second machine
Back to the workaround. Since crowdrender is only going to transfer my_room.blend to the second machine, how can this work? The second machine won't be able to complete the render... unless you manually transfer the other files.
This is where the special directory comes in. If you can find that directory, you can simply copy the files into this directory and then restart crowdrender and connect and you will be able to render. Here's how to do it, step by step.
1. Open blender on both your working machine and second machine, make sure they're connected to the same network.
2. On your working machine, open the file you want to render, enable crowdrender and connect to the second machine. This will of course only transfer the blend file you want to render, its necessary since it ensures that the special directory will be created.
3. On your working machine, in blender, at the top of the UI, set the screen to be "Scripting".
4. In the python console that appears, type the command you see in the image below which is
and note the hexadecimal string, this is the name of your special directory for this blend file you want to render.
5. Copy the external files of your project to a USB stick and take them to your second machine.
6. Search for a folder which has the name of the session_uuid you just found in step 4. It should be on a path like "*user_directory*/cr/server/*session_uuid*".
7. Copy the external files here.
8. Restart Blender and crowdrender and then open your project, enable crowdrender and connect to the machine you copied the files to.
Vote up external file support
After spending what seemed like a very long time writing this workaround, the feature to automatically manage all this for you is definitely getting my vote! We're currently working on a version that will detect and manage your external dependencies so you don't have to worry about them. If you link, append, do simulations or have textures you don't want to pack since you wish to continue editing them, this feature will enable you to use crowdrender concurrently in your workflow, no problems! Read about and vote for this feature here.