テンプレート:Release Notes/2.46/Animation/Action Editor Improvements
目次
- 1 Insert-Key Menu for Textures
- 2 Curves in Editmode
- 3 IPO Editor
- 4 NLA/IPO Muting
- 5 Outliner - Patch #4364
- 6 IPO Cleaning - Refactor
- 7 IPO Copy/Paste
- 8 armatures
- 9 NLA Editor
- 10 IPO Editor Transform
- 11 TimeLine
- 12 hold for NLA
- 13 NLA - Scale Setting for Strips
- 14 animation playback
- 15 timeline
- 16 3dview
- 17 NLA Editor
Insert-Key Menu for Textures
Two minor naming tweaks:
- Cloud -> Clouds
- DistNoise -> DistortedNoise
Curves in Editmode
HKEY and Shift HKEY are used to change the handle type of curve control points in the IPO and Action Editors, and also for curves in the 3d view until recently.
This commit reverses the hotkey changes in:
http://projects.blender.org/pipermail/bf-blender-cvs/2007-May/009879.html
For curves, I've changed the show/hide points hotkeys to:
- Ctrl Alt HKEY == Hide Point(s)
- Alt HKEY == Show All Points
These aren't optimal, but at least there are usable hotkeys for this for now. Before, there had been a long-standing hotkey conflict. Better hotkeys can be designed as part of 2.5 work.
IPO Editor
Ctrl-Click to add a keyframe in the active ipo-curve only made sense when showkeys was off. Otherwise the drawmode would change from keys to curves then back to keys when some other tool was used.
NLA/IPO Muting
This commit adds a few open/closed 'eye' icons to the NLA editor to toggle IPO-block muting on Object (IPO) channels, and Action Strip muting on Action Strips, like in the Action Editor.
Outliner - Patch #4364
Now the Outliner can be scrolled horizontally too. This was the first patch I ever submitted, but it's gone through many revisions due to ugly Blender bugs that needed to be fixed.
Code Notes:
- I discovered an ancient bug which would cause Blender to hang when loading a file saved with horizontal scrollbars turned on for the Outliner/OOPS.
- Therefore, I've added special B_SCROLLO and HOR_SCROLLO defines for use by the Outliner only. These are used in place of B_SCROLL and HOR_SCROLL so that older Blender's won't choke on this stuff. Thanks for this suggestion Ton.
- The hanging occurred in draw_scroll in draw_ipo.c
IPO Cleaning - Refactor
I've finally come to the conclusion that the old code used to clean up IPO-curves was utterly unsafe/unstable. It used to have a lot of memory-related bugs early on, which I had resolved, but still I found a file where this broke quite badly (thanks Cessen).
Now the code should be saner, as it does away with that evil memory copying that seems to be at fault. It would be advisable to have this properly tested for a few days before considering it for inclusion in 2.45 (stable) branch.
IPO Copy/Paste
When in EditMode for IPO-curves, keyframes are now pasted from the IPO-editor's copy/paste buffer instead of the entire curves being pasted. This makes it possible to 'move' keyframes from one IPO-curve to another.
- Only keyframes in the copy/paste buffer that are selected, are pasted
- All keyframes that are pasted, are pasted relative to the current frame, with the current frame being the location of the first pasted keyframe.
- Pasted keyframes replace exisitng keyframes if they occur at the same location.
armatures
Renamed Root/Tip X/Y/Z buttons in Armature Editmode Transform Panel (NKEY) to Head/Tail for consistency with the rest of Blender.
NLA Editor
Added some features to the NLA Editor that had previously only been added for the Action Editor.
- It is now possible to choose whether timing is displayed in Frames or Seconds like in many of the other Animation Editors. Use Ctrl-T or the View menu to change this.
- Autosnap behaviour from Action Editor is now also available for the NLA Editor. It was partially done in the previous commit (for transform). Use the new combo-box on the NLA Editor header (like the one on the Action Editor header) to set this.
IPO Editor Transform
- It is now possible to rotate the Bezier controls for the IPO Editor (RKEY)
- IPO Record has now been remapped to Ctrl R.
TimeLine
Added an option to only display keyframes of the selected action-channels and/or the active material. This is should offer some speedups on really heavy datasets. Use the (View)->(Only Selected Data Keys) option to turn this on.
In future, more filtering options could be added here too...
hold for NLA
Patch #7779: Make the 'Hold' option work with NLA action modifiers Patch by: Matt Ebb (broken)
Currently in Blender, NLA action modifiers can work in very wacky and mysterious ways.
If an action is being modified with a path deform, when it reaches the end of that strip, it will snap back to the original un-modified location, regardless of whether the strip 'Hold' option is on. It's very frustrating to work with, and causes all sorts of problems - if you use a path to make a character walk from point A to point B, you generally want him to stay at point B, and not jump somewhere completely different, just because the strip ended.
This patch fixes this behaviour, and makes it much more sensible and predictable. There is a chance that this will break old files that were reliant on the old broken behaviour though, but I think it's definitely worthwhile to fix this problem.
Check the demo file in Blender 2.45 vs one with this patch applied - you can see the difference in behaviour.
Demo File Link (attachment in original tracker post): https://projects.blender.org/tracker/download.php/9/127/7779/4856/wheelsetup2.zip
NLA - Scale Setting for Strips
NLA-Strips now have a new setting: Scale.
It determines how much the action-range is scaled for each repeat, instead of the scaling being implicitly determined based on repeats + strip-length.
One of the instant benefits of this, is that when increasing the number of repeats, the strip length increases by the right amount. Thus, increasing the number of repeats retains a constant speed.
Hopefully we can prevent weirdly scaled actions this way. (i.e. 0.00001 frames long action * 10000 or so)
Todo: - Transform code needs to be able to set the scale setting (it doesn't yet) - Add a new option to "apply scaling", to fix up problems with old files that have really bad scaling. Situations when this is needed could get indicated in the interface too... (red background for "Scale" field?)
- Added a new tool to Alt-S menu: "Apply Scale"
This tool causes all the keyframes in the active strip to be moved to their NLA-scaled times, the scale to be set to 1.0, and the frame ranges recalculated accordingly (to remove any nasty weird errors)
- Scale field now draws red when the action-range is < 1, and the tooltip in this case instructs the user how to fix this (by using "Apply Scale").
animation playback
Changed the default hotkeys for playing animations to be more useful IMO (ported from AnimSys branch):
- Alt-A now only plays the animation in the active space, if that space is a 3D-view. Otherwise, it plays the animation in all spaces. The old behaviour simply didn't make sense for animation editors, where you'd simply see the current-frame marker moving...
- Alt-Shift-A now plays the animation in all spaces regardless of whether they are active (including 3d-views)
timeline
Patch #8177: Timeline Performance Patch Patch by: Adriano Macchietto (macchiea)
This patch optimises the way keyframes are drawn in the Timeline, so that it is more responsive when working with heaps of keyframes (i.e. motion-capture data).
Detailed Description of Patch (from author):
- No longer uses a list to store the keys before drawing. Uses
less memory.
- Culls the drawing of keyframes outside of the visible window.
Good for dealing with long mocap tracks.
- Performs a check to avoid redrawing a line over a line which
has already been drawn to the same pixels. This speeds up the scenario when you have many keyframes and are zoomed out.
- Batches the draws into one glBegin/glEnd block.
This is all done on a per IpoCurve basis.
3dview
Ctrl-PageUp/Down in 3D-view now behaves the same as for the Timeline for consistency. The old behaviour for this (jumping between ob-ipo keyframes (Draw/Show Keys)) was not used that often, and has now been remapped to Shift-PageUp/Down
NLA Editor
When adding a new Action Strip to an Object which didn't have any Action Strips previously, NLA-override mode is turned on by default for that object (the Action/NLA-icon beside the expand/collapse triangle).