Got some time to do some testing with the referencing.
It seems like the file referencing is always overwriting the layer referencing, what is sort of confirming the title of this discussion. This is true, if you import by reference with layer referencing inside the imported file, but also, if you try to reference from a layer(-stack), that was imported by reference. I hope this is understandable.
But it is possible to change the referencing in a texteditor. What should make scripting possible, with an appropriate workflow system. Doing it by hand would be very time consuming.
What I don't understand about this:
Why is this not working in the first place?
Why is referencing from a file referenced layer doing exactly the same thing as copying the layer?
So the solution (impracticable for production without scripting), if smith micro is not changing something about it:
For example: I took a hand turnaround, 8 rigged hand views in a switch layer, from a seperate file and referenced it into a character. Then I tried to reference this layer, but it was giving me a copy of the layer also referenced to the hand turnaround file. So I checked the character file in a texteditor, to find out what is going on.
Some short code lines from my master test file and my test scene, because it's easier to navigate and to find stuff.
This is the master file and I searched for my test bone layer ("bone_master"). Basically you see the name, the unique(?) uuid (I have to check on this too) and there is no referencing at all.
Code: Select all
"name":"bone_master",
"uuid":"fbe27a92-7774-4c3f-a23b-cd3181500fc5",
...
"layer_ref_uuid":"",
"layer_ref_fileref":{"relativeTo":"Absolute",
"path":""},
"layer_ref_path":"",
"layer_ref_same_doc":false,
"layer_ref_mod_date":0,
Now a quick look into the reference scene. My import by reference layer ("bone_file_ref") looks like expected. The layer_ref_uuid matches the uuid number of my test bone layer in my master file. The layer_ref_same_doc is set to false. (layer_ref_fileref and layer_ref_path are the same, because both files are in the same folder)
Code: Select all
"name":"bone_file_ref",
"uuid":"0c95c0e8-7ece-417e-b450-fa4530875e9f",
...
"layer_ref_uuid":"fbe27a92-7774-4c3f-a23b-cd3181500fc5",
"layer_ref_fileref":{"relativeTo":"Project",
"path":"master.moho"},
"layer_ref_path":"master.moho",
"layer_ref_same_doc":false,
"layer_ref_mod_date":1479573644,
But the layer reference bone layer ("bone_layer_ref") is doing the exact same thing as the file reference bone layer and that's not what I wanted.
Code: Select all
"name":"bone_layer_ref",
"uuid":"95043796-ad12-4af6-b629-0e134b29d16b",
...
"layer_ref_uuid":"fbe27a92-7774-4c3f-a23b-cd3181500fc5",
"layer_ref_fileref":{"relativeTo":"Project",
"path":"master.moho"},
"layer_ref_path":"master.moho",
"layer_ref_same_doc":false,
"layer_ref_mod_date":1479573644,
Now the fun part: Changing some values to make it work. The layer_ref_uuid number must be the number of the "bone_file_ref" layer from the same file. The layer_ref_fileref changes too: "relativeTo":"Absolute" and path is empty. layer_ref_path is also empty. The referencing is inside the file, so layer_ref_same_doc is true.
Code: Select all
"name":"bone_layer_ref",
"uuid":"95043796-ad12-4af6-b629-0e134b29d16b",
...
"layer_ref_uuid":"0c95c0e8-7ece-417e-b450-fa4530875e9f",
"layer_ref_fileref":{"relativeTo":"Absolute",
"path":""},
"layer_ref_path":"",
"layer_ref_same_doc":true,
"layer_ref_mod_date":1479573644,
Now the layers do exactly what I wanted before. One layer is referenced from another file. If you update the original (master) file, you can update the layer in the scene and it gets updated. As soon as you do this, the referenced layer will recognize the update as well and you can update this too. Also all the benefits from layer referencing will occure as well. The only thing that's missing, is the small red target dot on the master layer.
Problems:
This procedure is easy for just a few layers and getting very complicated with a lot of layers, because it's always connecting from layer to layer, outside and inside the file.
So a script would be nice, but it needs also some preparation. A good naming convention for the layers is a must, reference files should have the same name all the time and the reference files should stay in the same place all the time (the second and last points are best for referencing anyway, because you don't want to reconnect all the time). Tags should be helpful as well.
This is everything I got from my investigation about referencing this week.
For referencing reuse parts into assets, this could be a (scripted) solution. For referencing asset files with referenced layers into shot files, this would be possible as well, but it would be necessary for every scene prep shot. Also updating referenced layers should be scripted. I have to talk to our scripting person.
If somebody has some more information about it, please let me know. If I have some new information about it, I will try to let you know.
Greenlaw wrote:
Here's the video:
Thanks a lot. Very interesting. And the things shown look very similar to our pipeline approach too.