Hi all,<br><br>Once again, it's that time of the year when I start looking into doing another incremental round of improvements on the visualisation features - i.e. ghosting and paths in particular.<br><br>At the time of writing, there are two big "holy grails" that would be nice to have: <br>
1) ghosting of the actual meshes deformed by the armatures, and <br>2) editing of the path verts<br><br><br>Below are some notes on how these could possibly be implemented. Comments on the suitability of these methods, or even proposals for better systems are welcome.<br>
<br>---------------------------------<br>1) Ghosting meshes:<br>A rather crude approach to this would be to simply draw the mesh posed by the armature in different ways at several different frames, if a given mesh has an armature parent (and an armature modifier). This would not work for normal animated objects, and would be really slow.<br>
<br>However, the approach I'm currently thinking of would require about 3 parts:<br>a. Pointcache modifier - used for baking armature,etc. deforms on points to cached data. The advantage here is that if done right, we could look forward to some improved playback speeds in some cases. It would also make some effects (such as 'smear' visualisation - see Pigeon Impossible Blog for details) possible, since those effects depend on stuff like this.<br>
<br>b. Ghost/Motionblur instancer modifier - this modifier uses the pointcache (a), to get the mesh data at another frame and draw it as part of the mesh (probably with different material settings?). It would be able to therefore be used for both armature and object-level animation, and could be used to give more control over what gets ghosted by making the user explicitly define what to ghost. Probably a pointcache from another object could even be used in some cases? Maybe for motionblur during rendering, this modifier could also act as a more 'in camera' approach to motionblur rendering? (chances are, renderers wouldn't cope with having predefined meshes specially for motionblur being created, as they'd treat the meshes as extra data)<br>
<br>c. Improved decimator - I'm aware that Genscher was working on something along these lines? Basically, this is only an optional part of the setup, but could potentially be hooked up with the ghost-modifier to decrease the complexity of the mesh over time. Of course, this may not be practical as it is likely to be too slow to be useful, clumsy to setup, and/or cause problems with the overall shape of the mesh which may not be desired.<br>
<br>-------------------------------<br>2) Editing Paths:<br>There are two big obstacles here: figuring out how to map path edits to transforms (rotations vs scaling vs location), and how to allow the user to start editing the path vertices.<br>
<br>The first issue is relatively trivial, and is really just a matter of further investigation I guess.<br><br>However, I need some suggestions for the second problem. As I currently see it, most people would prefer to be able to just click on some path vertex and then move it by simply dragging, all without having to go into any special sub-modes or so. There are several disdvantages of this, namely that it practically violates many of the established expectations of how users usually expect to be able to interact with elements with editable vertices in Blender (selection + transform tools are limited). Also, this would complicate pose-mode event handling in particular, since we'd have to deal with priority of bones vs curve verts too... <br>
<br>However, if we went with the "separate mode" approach, it becomes a bit more frustrating to try and edit the paths of a few bones, especially if you wanted to edit the paths of different bones but didn't want to have to stop and think which ones you'd like to isolate for editing. Just clarifying that a bit, I'm thinking that with this separate mode, you'd select one or more bones with some paths, enter the mode, and only be able to tweak the path vertices of the bones selected when entering the mode. Then, when those paths were tweaked ok, you could exit the mode, and continue editing other parts. This might be an acceptable compromise, given that when editing a path, I'm assuming that you're going to only concentrate on the motion of a few limbs/controls at a time.<br>
<br>-----------------------------------<br><br></end long mail><br><br>Regards<br>Aligorith<br>