<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 6 Mar, 2009, at 11:26 AM, Joshua Leung wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Hi,<br><br><div class="gmail_quote">On Fri, Mar 6, 2009 at 1:49 PM, Nathan Vegdahl <span dir="ltr">&lt;<a href="mailto:nathanvegdahl@gmail.com">nathanvegdahl@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> 1) The NLA editor should be, ideally, extremely similar to the<br> sequence editor. &nbsp;There really isn't any reason to have the two<br> interfaces be particularly different, or to have the user interact<br> with them any differently. &nbsp;Therefore: why not use the same UI code?<br> This unifies the user experience greatly, and reduces coding work both<br> now and in the future. &nbsp;Only very small changes would need to be made<br> to accommodate NLA editing.</blockquote><div>Certainly there can be a great amount of overlap between the two. However, where this idea breaks down is when you start trying to figure out which 'Object' or datablock the strips belong to. Perhaps this is why you proposed the single scene-level action? <br></div></div></blockquote><div><br></div>Well, isn't the point of the 'everything is animatable' paradigm also that you can mix any collection of f-curves? You might want to make a clip out of two characters, or include material f-curves together with the bone animation when mixing.</div><div><br></div><div>The basic idea of an animation mixer is simple: You mix and sequence strips together. The strips can be any type of animation, ie. any collection of F-Curves.<br><div><br></div></div>I imagine the workflow for animation mixing to be like this:<div><br></div><div>1: The animator creates an animation on say, a character, animating bones, materials, shape keys.</div><div><br></div><div>2: In the Graph Editor and Dopesheet, the animator can see all the F-Curve channels in the same list, and edit them together.&nbsp;In a sense, the F-Curves don't&nbsp;<i>belong</i>&nbsp;to anything - it's just animation over time.&nbsp;</div><div><br></div><div>3: The animator specifies some channels he/she would like to store into a clip. These channels&nbsp;optionally&nbsp;have the F-Curves removed from the main timeline.</div><div><br></div><div>4: The animator repeats the above, until there is a small library of clips. Not all the clips include the same F-Curve channels, but that's okay.&nbsp;</div><div><br></div><div>5: The animator pulls up the NLA Editor, which has the library of clips available.&nbsp;</div><div><br></div><div>6: He/she can now chain the clips together, scale them, loop them, overlap them, add transitions from one to another. If he/she wants to edit the <i>source</i>&nbsp;data of any of the clips, there will be a way to enter any clip and edit it, and then jump back out and see the big picture.</div><div><br></div><div>If you are interested in seeing how XSI, which has probably the best implementation on animation mixing to date, deals with this, check out the videos here:&nbsp;<a href="http://www.softimage.com/products/xsi/tour/animation.aspx">http://www.softimage.com/products/xsi/tour/animation.aspx</a>&nbsp;</div><div><br></div><div><br></div><div>Cheers!</div><div><br></div><div>-William</div></body></html>