4
$\begingroup$

I have a resource file containing a model with materials and animation tracks (NLA action strips) that I want to re-use in another Blend file. In the resource file I created a group containing the objects I wanted to re-use (excluding a ground plane, lights, cameras etc) In my set file, I linked the resource file group to the scene as a group instance. I've added other objects to the scene and created additional animation tracks. When I play back the animation, the linked object starts playing its animation track at frame zero.
I'm looking for a way to offset or stall playback of the linked files animation track in the set files timeline. Is that possible? If not, is there another way I could re-use my resource file objects and animation in a way that allows me to update the set file if the resource file changes? I've attached links to files that can serve as an example in this case:

https://www.dropbox.com/s/qdkqh6fgu80hxiv/linked_ani_set_file.blend https://www.dropbox.com/s/oh3wirvbh02znrt/linked_ani_resource_file.blend

$\endgroup$
2
$\begingroup$

My first instinct is that you're going to have to "make local" on the object. At that point you can add an NLA track and a strip referencing the relevant action. Once it is an NLA strip you can control how much of the source action's timeline is used, and what its time extents in the scene will be.

If the freshly-local object already has actions and NLAs, you might have to remove them (or maybe just adjust their parameters if some of them are almost right).

$\endgroup$
  • $\begingroup$ Thanks, Mutant Bob. That's a viable fallback. I'm investigating linking the individual scene objects and then using proxies to manipulate them in my set scene. Taking that approach, it appears I can adjust the NLA strips to set my start time. I just can't position the linked geometry yet. $\endgroup$ – John Burrill Jul 1 '14 at 16:48
2
$\begingroup$

I liked Mutant Bob's suggestion but since it's still early in production, I wanted to maintain a link to the original file so that when I texture it and add more practical effects to it, the master scene will update with those changes.

The solution I came up with isn't perfect and might have unintended side effects, but it achieves my basic goals Using Pablo Vazquez' tutorial "Modifying Properties on Linked/Proxy Objects" as a guide, I was able to wade into python scripting and in the scene file, adjust the start/end times of the NLA tracks in the linked files.

python console with edited linked modelThe adjusted tracks don't show in the NLA editor and I'm not sure what the effect will be with multiple instances of the linked groups but it's a start.

Python also gave me the ability to hide specific linked objects so that the proxy objects that I wanted to include in a fluid simulation wouldn't appear to have duplicates under them.

basin before and after hiding linked object

For anyone who wants to get started in python scripting, I found these links useful Blender Python API quick start guide

-and this primer tutorial on python

It contains explanations and 'how to's of python syntax and functions.

$\endgroup$
  • $\begingroup$ Hey dude, I propably have the same problem like u, but I have multiple linked armatures in my scene file. I made the armatures proxy objects, so I can move them arround. In action editor I picked their specific actions. Is it possible to make an offset via python console in action playback as well, or do I have to use nla strips? $\endgroup$ – Marten Zander Jul 29 '15 at 16:08
1
$\begingroup$

I don't know if you have solved your problem, but, I had the same situation of your.

I would like to offset the entire linked objects animation, but it don't appear in the NLA panel without make proxies. In my case, my rosource file has more than 50 animated objects, it's impracticable to make proxies of each one and then offset each nla strip.

My solutions was: When you thing in animation in Blender, think in armatures! Do not animate objects, animate bones! I've changed my resources files and add one armature to each one. Each object is child of one bone, and the animation is made on the bone. Therefore, when you link your resource, you make only one proxy (the armature) and only one nla offset (the armature's nla).

I hope that I've helped

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.