Blender

Durian DVD

Follow our progress!

  • on Twitter
  • on Identi.ca
  • Follow our commits on Twitter!

    Library Linking & Asset Management

    on January 22nd, 2010, by Colin Levy

    At the studio we have to be able to maintain and work collaboratively with a large number of files. For those who are interested, I made a little tour of the system we have set up as well as the process within Blender to link in groups from other .blend files.

    Word of caution: when working with files that reference other files, be *very* careful with filenames and filepaths! Moving files around or renaming things can result in quite a headache.

    –Colin

    Edit: Here’s a link to Blender-aid, the content management tool for Blender I mentioned in the video.

    53 Responses to “Library Linking & Asset Management”

    1. wo262 Says:

      nice freatures

    2. Stephen Says:

      thank you for the update, its all looking fantastic

    3. LOGAN Says:

      I always had the feeling with 2.49 that file paths to textures and included other content should be relative by default. This to avoid when backing up a project folder one or more files is not resolved anymore.

      Or maybe have Blender check if the file resides in same folder or sub folder of a blend file it uses relative and if it’s on another drive it uses absolute.

      Cheers!

    4. D Says:

      Thanks! The city looks so cool. 😀

    5. Revolt_Randy Says:

      Interesting, I was just learning about grouping and linking myself. It’s certainly much better than appending. Thanks

    6. alalo Says:

      Oh.. Thanks! I had never given linking a try. This is certainly a nice set of features. Actually, it is silliness of mine to have never used it, because I am used to the work flow in Flash – where you have a global library from which you can pick instances and to which you can add external assets. But now.. recursive linking in a 3d programe.. coolness 8)

      Btw, the project in general is looking very professional. I did not know that you too did some 3D, Colin 😛

      Cheers! 🙂

    7. spacetug Says:

      that environment is going to be sick when it’s finished!

    8. Alex Says:

      Wouldn’t this feature make rather simple to have a Blender asset library on the web? Just add a simple browser and you can link in stuff from the web. This would keep the Blender download small but users would have a lot of nice preset stuff to play around with.

    9. Another fellow Says:

      I second for Alex’s idea
      XD

    10. PaulK Says:

      Any ogg version of the video ?

      (I dont use flash, and the video tag works great : )

    11. Rob Cozzens Says:

      Excellent explanation Colin.

      BTW, proportional editing in object mode blew my mind!

    12. Anon Says:

      @PaulK, you can get YouTube to use HTML5 in Chrome at http://youtube.com/html5 . Unfortunately, the only supported format is H.264, and the quality is significantly lacking. If that doesn’t work for you, you can download it using http://keepvid.com/ and, if you really want, convert it to Ogg with VLC or ffmpeg.

    13. Jim Says:

      Excellent stuff, Colin. What flavor of Linux is the Blender Institute using?

    14. PaulK Says:

      @Anon : Chrome is non-free software. Well, I guess I’ll download the video with software like cclive and then I’ll encode it to Vorbis/Theora.
      It’s not very practical, I think Blender team could put a ogg video as they did with some other videos.

      Anyway, keep doing a good job!

    15. Alexander Carby Says:

      will there be a “reference editor” to manage all reference files (like Maya)?

    16. jsplifer Says:

      Excellent advice!

      I have recently added an svn and a file tracker website for my own production and it was nice seeing you using a similar workflow.

      I was unaware of blender-aid and it will come in very handy as my files grow in number. Awesome cool stuff!

      I have been appending files for my animatics. Your video has made me rethink my ways as I will now try to use groups and linking.

      Thanks for taking the time to make this very informative video with some nice visuals as well. Keep up the great work!

    17. jhoolmans Says:

      Hi, cool stuff!

      I noticed the high res and proxy swapping, but 🙂 how is this set up with characters you animated? can u swap the mesh the same way?

      Because of the rig enveloping etc.. It made me think xD

      cheers!

    18. MTracer Says:

      Sweeeeeeet!

      I’m assuming you’re using cloth modifiers to model crumpled piles of clothing? Just gives it a tad more realism.

      And second, are groups zealously kept separate yet, proxies too, or not? I’d like to have multiple instances of a character in a scene, or different rigs which cannot interact, and yet share namespaces.

      Just a thought.

    19. Georg Says:

      What tool(s) do you use as svn client?

      Nice work so far 🙂

    20. SebastianErler Says:

      I really like the way you blog colin.
      Thanks for the update. Very interesting!

    21. Linkeltje Says:

      That was a very nice video! This is exactly the stuff I couldn’t really get working with my scene. You gave me new hope, I’m going to give it another try. Thanks for this!

    22. panzi Says:

      Is there some kind of blender integration for subversion? Can you view a diff and do a merge? Or do you just check in binary blobs and don’t resolve conflicts at all.

    23. ideasman42 Says:

      @panzi, for svn we mostly use RabbitVCS. for commits and updates its ok, though some of us use svn directly in a terminal too.

      all the assets are binary so no diff’s, though svn has binary diffing to minimize internal database getting to big in on the server.

    24. oxygen Says:

      i like this all.
      guys, sorry for my bad english(it is not my native) but this project is interesting to me. since i cant understand most of things, i just wanted to ask, am I right to think all of models, items, etcc used in Sintel movie will be published?
      and what is the movie on this DVD currently is selling here(link in right panel)?
      thanks for attention!

    25. maxolasersquad Says:

      I really like the technical updates this team is providing. It would have been cool if the previous blender projects had done the same.

    26. toweyed Says:

      k. am i understanding this linking correctly?

      everything that is linked in is already centred to 0,0,0 centre of blender grid? am i getting it?

      dt

    27. Bailey Says:

      Very cool. Thanks for the nice demonstration.

      -Durian fan 😉

    28. Big Fan Says:

      Great informative demo thanks.
      I liked it that we could see both you and the Blender screen.
      Dont know what that Lee fellow was doing gatecrashing for a cameo appearance though 😉

    29. Hubberthus Says:

      I also use svn at home with my brother, and a diff/merge tool would be nice. Load in 2 blend files and Blender lists out which parts differ, then merge it if there are no conflicts.

    30. Lasse R. Bruntse Says:

      Great stuff. Always loved library linking. It was added for Elephants Dream right?
      Anyway I’ve got a question. A part from objects, can scripts and node setups get linked in the same groups as well
      Oh and, proportional editing in object mode!? SWEET!

    31. Jayden Says:

      @oxygen, yes all the files used to make the movie will be published on the dvd. And that dvd on the right side of the screen is where you can preorder the durian dvd.

    32. ITrAB Says:

      Cool! Better than TV 😀

    33. DrVonTrap Says:

      does physics work on a linked group?

    34. ben Says:

      Hey, I think I get our workflow now! Thanks Colin!

    35. MeshWeaver Says:

      some pretty interesting stuff 😀 must have been a bit of a pain to organize all the folders, though…

      GO DURIAN!!!

    36. panzi Says:

      I imagine version control integration in blender would be nice. Including a graphical diff viewer and merge wizard. Well I guess this is good for several GSoCs. Personally I like mercurial much more than subversion (git is nice, too) but I guess with big blobs a system like svn where you don’t have to clone the full history is better. Mercurial integration might be quite easy to do, because its written in python and accessible as a library. Hmm, but then blender uses python 3 and I think mercurial isn’t ported to python 3 yet.

    37. MmAaXx Says:

      this is a really cool way to work!! links are the solution 🙂

    38. Mateusz Says:

      Yes, why SVN and not Mercurial or Linus GIT ?
      Mercurial is distributed, free and very simple purely written in python.

    39. jbakker Says:

      Hi Colin.

      Cool! your using Blender-aid. Hope I can get some good feedback on the product from you guys. There will be a new version released in the near future.

      I really like the work you are all doing.

    40. Colin Levy Says:

      @jbakker – Hey, absolutely! Thanks so much for your hard work on Blender-aid, it’s already proved invaluable. Just took a look at the videos on the ‘solve missing links’ tools– definitely looking forward to the next release!

      –Colin

    41. oiaohm Says:

      Anyone considered meta data in blend files? So that if the files are moved that blender can search for the files and reassemble.

    42. Lasse R Bruntse Says:

      Great info!
      I am using the same method for changing between hi res and lowpoly models in a scene. But I cant get it quite to work with armatures. Once changed, the model doesent really follow the armature (but it renders).

      Have you had the same issue, or is it just 2.4 goodness that makes it work with armatures?

    43. Sago Says:

      In previous Blender there was a way to switch subsurf on and off with Shift-o for proxies. My guess is that will be back for Durian too, very handy for animators

    44. Paul Hartsuyker Says:

      Colin, Thank you ever so for the postings, particularly enjoyed your fresh discovery and sharing of the library linking aspect. I know that it is powerful, and I will need to better understand how to do it. Great stuff.
      Paul

    45. nrk Says:

      I learned linking from Roland Hess’ book. Animating with Blender where he has a chapter or two on it and it really is amazingly cool. I am a mechanical engineer and I wouldn’t dream of having mechanical assembly drawings with source files embedded in them, everything is linked so you can reuse parts in multiple assemblies, but as spidey says with great power comes great responsibility (or ability to make yourself incredibly miserable.) Move or rename one part and wow, it’s the end of the world. Blender really needs a better way of finding missing files or recovering from the one path you forgot to make relative.

    46. endi Says:

      I use linking in commercial (and big) gamedev projects and I have no problems.
      But now I make a short film and I found some very big bugs in the linking system. I use 2.49, not 2.5.
      Bugs for example:
      -changing an armature crashes the blends that links it
      -adding materials to and object: the blend that links it dont change the materials
      -some modifiery (for example displace) dont find some texture names that are coming from linked materials

      Now I have no time to post these bugs in the bugtracker but when I start to use 2.5, I will.

    47. Todd McIntosh Says:

      Thanks for this video Colin, great to see some more info on your workflow. One question would be: are your layout files your shot files, and if so, do you create multiple copies to handle different shots in the same scene, or do you use multiple cameras in the one file? Thanks!

    48. MeshWeaver Says:

      out of curiosity, do you use CamStudio to film your computer screen, Colin?

    49. Colin Levy Says:

      @Todd McIntosh – Right now I’m doing the layout with the mindset that the cameras are pretty much final. In this file I’m using multiple cameras in the same scene, with camera switching. However, before this goes to animation, the scene is broken up into an individual file per shot. For most things it’s easiest to animate on a per-shot basis. In the fight scenes, though, it may make more sense to have one animation over multiple shots. We’ll have to see!

      @MeshWeaver- Right now I’m using recordMyDesktop, and I’m editing my webcam back in later with Blender. 🙂

    50. Jakub Steiner Says:

      My biggest struggle coping with this library system is grokking groups. My understanding would be a group being a parent to the objects it contains but it seems to live completely outside the outliner tree view.

    51. Barbie Eberley Says:

      Twitter are 100% the way to go

    52. Anonymous Says:

      can someone tell me how to link a character with a custom properties properly ? mine is just freeze. i try to link my character rig into a new file and i can’t edit the values.

      http://i125.photobucket.com/albums/p79/johantri/attachment.jpg

    53. Daniel Petersen Says:

      Hi! great info, thanks!

      @Colin

      After you proxy the armature, are you parenting the group empty to the armature proxy? I noticed that translating the armature proxy around doesn’t move the mesh with it by default…can you share more about how you’re working with the proxy afterwards, and expected behavior?