[Bf-gamedev] Instancing Rigs: Making link/proxy easier to use for animation

Colin Knueppel colin.k.work at gmail.com
Tue Oct 15 15:53:43 CEST 2013


To try to cut off confusion, I'll define what I mean by file instancing.
File instancing is a system that allows you to keep source files that other
files refer to. When a source file is updated, every other file that
instances that source file will be updated. Blender contains that
functionality through the link/proxy system, but it lacks ease of use and
accessibility, especially for animation.

The reason this system is important:
With NS2 we used 3dsMax 2009. I did a lot of hard work to make responsive
rigs, but inevitably problems always slip through. 3dsMax 2009 lacks an
instancing system, so every problem that was uncovered required being fixed
across multiple files. For the male marine alone, we have 36 files that use
that rig (12 weapons X 3 anims each). Had 3dsMax 2009 had a competent
instancing system, I could have made one fix to the source rig, and all
animations would have inherited it. It would have saved months of
needlessly wasted time in the end. This reason alone is one of the key
reasons we're migrating away from 3dsMax.

Blender has a link and then Proxy system that appears to do the instancing
task. However it is a very confusing system to use for the uninitiated.
Linking a file does not actually link the whole file. It instead gives you
the option to select which items to import, and requires individually
selecting the aspects of the file that will appear. Consider the following
for linking a rig. What aspect of the file would you import? Do you import
the mesh, armature or curves for the controls? The correct answer is
instead to group the rig and its mesh prior to saving the source. Then they
load that group into the file. When they get this far, they then learn they
cannot actually animate the rig. They need to make it a proxy first. The
user needs to know the very specific hotkey ctrl+alt+p to make it a proxy,
but then also know which of the many options to proxy to select, correct
one being supposedly rig..
http://www.youtube.com/watch?v=Bs2Hmdk3Vr4
I've attempted this with CG Cookie Flex Rig. I have yet to hit the right
combo to make it work, and due to the complexity of the rig, I'm not sure
if it can work.

In a studio setting, ease of use is very important. It not only brings down
the time to implement but also lessens concerns that your less technical
coworkers can mess it up. Part of a technical animator's tasks is debugging
issues when they arise. A simpler system makes that faster.

My suggestions is to create a new file menu option, perhaps called Proxy,
that behaves simpler. By creating a new option, it would allow new
functionality without disrupting existing methods that other users may
prefer. That proxy menu option should then load all assets from a target
file by default, that is to say, rather than worry about what files to
load, which may cause confussion, load them all and assume the user can use
existing methods to get rid of unwanted items, like hidding through the
outliner, removing from the source file or through a myriad of other ways
I'm sure exist.. Assets proxied in should be grouped or parented in a way
that connotes the source file and keeps them organized together for ease of
finding. Make the default behavior of these proxy assets animatable,
perhaps editable if Blender's file structure allows for it. The ideal
outcome would be any changes to the source file would be inherited by the
files that instance it, but any changes to the instances would remain local
to the file.

Additionally, but not necessary to the feature, the proxy system should be
chainable, by which I mean, you can have a proxy within a proxy within a
proxy. It allows multiple people to essentially work on the same file.
Texture artist can keep working on their texture, even if an attribute in
the rig is wired to dilate the pupil. Each time they save out, it
automatically shows up in the rig file, which the tech animator may be
tweaking. The tech animator, if he or she does their job right, can make
tweaks without disrupting people who are animating.

I hope this is a persuasive argument for a simpler, more user friendly
proxy system. I'll try to address any question or concerns that come up. I
feel there are areas that need more explaining, but the post is long enough
as is.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.blender.org/pipermail/bf-gamedev/attachments/20131015/93ed2903/attachment.htm 


More information about the Bf-gamedev mailing list