Baking scenes with fur and hair dynamics. Library linked rigs.

Hi there.

I wanted post something up because I’ve had such a difficult time tracking down much precise info on this.
It must be something that lot of people are trying to do and I was surprised that I couldn’t find anything from searching around where it was relatively clearly set out as a process.
I thought there must be some way. Even though the the current hair referencing system might still be a bit incomplete in it’s average user experience or off the shelf form.
If a reasonably basic guide for the artist/animator is up there anywhere I just didn’t manage to find it.

I should also point out that I’ve been using an older version of Blender for this 2.73a. This is because the rig was originally set up in an older version and I had already worked over and fine tuned the Hair dynamics. I tested the process with the newer hair system in 2.75a and it worked the same, although it took quite a bit longer to cache. My original dynamics set up of course didn’t look exactly the same.

I just want to add that I love working with Blender and I think it’s just terrific.
This was just the first time since I’ve been using it that I found myself almost totally stumped for a solution. I thought I would have to abandon referencing for the rig altogether. But all of the rest of the referencing system in Blender works so well and just seems so robust. Also the advantages of referencing are so enormous that I was very reluctant to give up on referencing for any character with any hair or fur movement.

As well as internet searches, I looked through a lot of the videos on the cloud. There is a Gooseberry video about simulating Franck’s Hair that seemed to be quite complex and project specific. It was so far beyond the more basic sims I would want to ever try and run.
I thought there just had to be a more basic or common everyday method for the average solo artist or small group working on more modestly sized projects.
Anyway after a lot of searching around I found a thread in Blender Artists about referencing cloth dynamics that got me to this page.

Now there was actually something to go on. Especially the tip about the object panel pinning of the referenced rig. A clue towards a solution.

It took me about half of the way but then I had several hours of frustration with the animation file. The referenced rig, if it actually did pick up the dynamics was just not saving a baked cache. Every time I re-opened the file the baked dynamics were gone. I kept testing with different settings and got nowhere. I was at a loss and then another search got me to this page.

https://developer.blender.org/T36382

I don’t know how I missed it the first time but I think I wasn’t expecting all of this to be so tricky.

Towards the end somebody had actually found the answer. Mr Priest I solute you !

The rig file seems to have an invisible flag to say if it’s baked or not. To bake in the animation file with the referenced rig you have to bake the source rig file first even if it’s just for one frame. Otherwise on opening the scene it will keep telling your animation file it’s not baked and wipes out the all saved data.

This still wasn’t all of it and I had to still do a bit of back and forth testing and a bit of reading up on Blender Wiki to be more clear.
Anyway, the most robust and clear process that worked for me I’ve written up. It’s still not totally perfect for everything but seems pretty reliable. One thing to be aware of is that the hair dynamics settings are frozen out in the reference file. So this only really is ideal if you already have dynamics settings that you think are acceptable and are also robust enough for most scenarios.

It’s in the form of 3 quite a large jpeg’s. I hope this works on here ok. I was thinking to make a video, but I think in this case it’s easier to follow just written up with some clear images.





Here is the previous video I already had up of this rig. But this time I re-rendered it totally from a referenced rig using referenced hair dynamics. Now it’s time to get this guy doing a bit more.

For now I think I have got a good grasp on a process. I tested it several times before I wrote this up and posted. All I can say is it works well for my scenes, although I would no way want to call myself any sort of expert on Blender dynamics sims and referencing.
It’s obviously best practice and even more important than normal to always keep a current rig file backup. A master file in reserve, considering all the opening and re-saving that might need to be done.

The remaining questions I have left, if there is anyone around with very much experience of this, and that might have time to reply are…

Does the way I went about this look broadly correct ? If I missed anything out or took any unnecessary steps please point it out and I’ll revise the process.

Or is there perhaps a simpler or more direct way?
By that I mean one that is reasonably straight forward for small projects, individuals and small teams. One that doesn’t rely too much on highly involved custom scripted patches etc…
I know a lot of things have been improved after Gooseberry and possibly I’m missing some of this.

Also is there a way of re-pointing a referenced rig in an animation file to a different rig file after it has been animated? One with possibly different dynamics setting for a particular situation ?
Hopefully this situation can be avoided as much as possible though.

This is my first time writing up a thread on Blender Artists. But it was also the first time that I felt like I might have reached brick wall syndrome and really struggled in finding a clear solution for something. I hope it might help others and also that people will be able to explore their own options and expand on it.

Anyway all the best to everyone.

1 Like

Hey it’s up !

Slight update. I mentioned in the guide above that for setting up the source rig file for baking in the animation file, that I baked one frame for each seperate hair system. I said in the guide that I wasn’t sure it was totally needed for each one, but I wanted to be sure. Yes you certainly do need to bake for each one. I’ll update the jpeg guide as soon as I can.

Time to take a break from hair dynamics and referencing for a bit.

( New Update )

I’ve now slightly re-written and clarified more some of the point’s in the jpeg guide. I hope this might help others a bit.

All the best…

Toka very nice work. Detailed explenation and very constructiv, thanks a lot for that effort.

Hi Vanderhorst. Thank you so much for the feedback. Great portfolio by the way.

Hopefully this will be some help to others. I was originally trying to find something like it for myself.
I was so surprised I couldn’t find anything written up about this whole process that was in any sort of accessible format. There was some information out there. But I found it was all very fragmented in several different places and it was quite hard to piece it all together.

Really cool post. Didn’t run into this problem yet since I’m avoiding hair system for now, but definitely very interesting and good to know that it’s possible to do it! I will have to use this system at some point! :stuck_out_tongue:

Very nice explanation!

:slight_smile:

Hey this is a great explanation, you should put it up at Blender Stack Exchange as a Q&A for public education.

Hi David,

Hey thanks for the suggestion. I’m glad to hear you think it could be useful. I’ll look into Blender Stock Exchange and give it a try.

All the best

Excellent tutorial. Thankyou for sharing.

Hey Toka, this is looking great. I had the same issues baking cloth for my King of Majesty clip (see sig) and found the same solutions eventually. I was thinking of doing a video tute on that myself but I think you’ve covered it.

The only thing I would add is an issue I had, where sometimes baked caches would just disappear, and not in any sort of predictable way. So my essential tip is to create a separate folder where good or almost-good baked caches can be backed up to be restored if necessary. Anyway good work. I’m hoping the current work on the caching system will streamline this immensely.

Really cool!!! Thank you, for cleaning so much trial and error from our heads! :wink:

Hey ! Thanks again so much for the feedback. I agree it can still be a bit finicky still. A lot of this is… I guess partly due to the slightly insecure part of needing to bake one frame of a cache in the source file first, and the mysterious flagging of the linked file. Also it’s obvious if you make any changes at all to the animation in the baked file then the cache is wiped out. Any sort of incremental saving is out too as if the file is re-named it can’t find the cache. But at least it’s reasonably solid and workable and as long as you keep backup’s. Also possibly making the cache folder read only?

I was a little surprised I had so much trouble getting info on this. I’m really thinking that the workflow side is something that there really needs to be much more detailed documentation on. Basically how you string various features together into a solid pipeline. The open movie sources have some good info but the pipelines there are mostly heavily customized and a lot of it is not very easily or quickly replicated for individuals and small teams. This is an area of creative community and the animation/games industry’s, where many seem to agree that Blender is beginning to fit in really well. It would be nice going forward to see much more focus on workflow’s and pipeline set up in tutorials and documentation.
So possibly more tutorials and info on Blender as a whole interlinked cohesive production platform for small studios and teams. So if you are doing a hair or cloth tutorial you could also include some information about how it works with character rig library linking. How you could most easily and efficiently utilize it in a wider production environment. Basically how it links in to everything else rather than just working in isolation. Or possibly at least give some hints and links to more detailed information if it’s needed.

I realize a lot of this is being worked on already though and it’s also difficult when things are changing so fast. But I hope there is going to be more focus on this side of things. Although if there is more of this sort of pipeline info out there please let me know.

I was thinking of doing a video tutorial too, but had already written most of this out for myself and thought it explained it simply enough. I want to do a few more like this. Some rigging stuff mostly but also possibly some stuff on working with the hair dynamics post Gooseberry. Soon as I have time to get my head around it. I can’t seem to find hardly any clear info on that either.

This is an awesome guide. Thank you.

I was working on a project that used multiple instances of a rig containing simulations. We couldn’t make the caching work, but that was an afterthought that we noticed near the end. Our primary problem was using several linked instances of a rig that could be animated independently. We solved that issue. Our secondary problem was having multiple linked rigs containing simulations in the same scene. We could load them into multiple scenes. But, the simulations wouldn’t work in the same scene.

After seeing a Gooseberry video about needing multiple instances of a linked rig containing simulations, I was hoping that this issue had been fixed. But, that doesn’t seem to be the case. These are fundamental needs for a production. My future productions have similar requirements. I’m looking at falling back to compositing, which presents its own challenges for different cases.

A simulation directly refers to a cache. A cache that can be named.

If all your instances refers to same cache; they have same simulation.
What is true for several systems on one mesh is true for several systems on several meshes.

But if you don’t enable hair dynamics panel in original_source.blend file; you can link your character, make it local and then enable its hair dynamics panel and give a name to its cache.
If you make duplicate linked of it, you have to give another name to cache of duplicata.

You have to use external cache feature to load a simulation already done in another file.
But generally, avoïd to precise a cache in source file of your link operation.

This is effectively just appending the object.

Very nice and useful tut, thanks a lot for this.

At first I was really surprised for how much good (and modern) is your Sinosauropteryx restoration and 3d model (something you don’t see very often here around :slight_smile: ), then I realized you worked for Planet Dinosaur by BBC… amazing!

Hey thanks EnV. I’ve always loved your work. I’m very intrigued about Blending With Dinosaurs right now :slight_smile: ?
There is more to come with this little guy very soon and I have plans and hopes for more ambitious projects in Blender along similar lines.

I’m very inspired by the new discoveries and ideas and try to keep ahead with it all.
I don’t think the knowledge of feathers and other soft tissue traces ruins dinosaurs at all. For me it just brings them closer and makes them more credible ( … not to mention incredible … ) than ever. Realizing for certain now that they are actually still around everyday in the form of birds means it’s possible to picture them convincingly as animals better than ever before.
Trying to make something work as a naturalistic animal is still very hard though. And the anatomy and movement of modern birds only goes part of the way. Dinosaurs are still very unique. Theropod’s must have been incredible to witness. Just the strength and balance needed for that body layout. It was obviously very successful for them too. They must have had the poise and coordination of ballet dancers.

Whoa, I had no idea someone still remembered Blending with Dinosaurs or that pages about the project still exist around. :slight_smile:
The project has been stopped, btw, at least for now (you know, work, family, wife, babies, etc.).

Toka, I totally agree with you about the feathered dinos, I think one of the most incredible discovery is Kulindadromeus with its different feathers, skin and scales patterns, and it’s not even a theropod… incredible indeed, and it shows how little we still know about their real aspect.

Waiting for new projects from you, then. Keep up the good work!

Really great, thanks for sharing this out Toka. I know it’s a bit of an old thread now, but still totally relevant since I was having the same dilemma.

THanks for the great work and very detailed explanation. This cache is bugging me as well with other items. I also noticed that doing a preview is all fine and working properly when the file is open. On reopening the scene the cache is lost, so seems to be a temp cache. Baking does seems to store it properly.