利用者:Cnikiel

提供: wiki
移動先: 案内検索

目次

Poselibs

Quick Search for Preview

r13137 | aligorith | 2008-01-05 11:54:33 +0100 (Sat, 05 Jan 2008) | 9 lines

Now, when Previewing/Browsing poses with Ctrl-L, it is possible to type in part of a name to limit the poses which can get chosen to hone in on the poses you wish to apply more quickly.

  • The search is case insensitive, and doesn't look for complete matches (it will 'match' if the whole search-string is found).
  • Only basic text manipulation capabilities are available for editing the search string (i.e. backspace, del, home, end, move text-cursor forward ->, move text-cursor backwards <-).
  • Pose browsing using the Scroll-Wheel and Page up/down can be used to browse through the matches
  • View manipulation is only possible with MMB, as numpad keys are used for search-string input.

In the process, I've recoded the preview function to be more modular. It's now split up more, like the Transform core.


Pose Library

r13110 | aligorith | 2008-01-03 12:03:03 +0100 (Thu, 03 Jan 2008) | 6 lines

A few PoseLib and Action-Editor tweaks:

  • Removed "snap" from the names of the entries in the "Auto-Snap" menu for the Action Editor. "No Snap" is still "No Snap" though.
  • PoseLib is now referred to as "Pose Library" in the interface
  • Tidied up whitespace in editaction.c

Overhauled Implementation

r13057 | aligorith | 2007-12-30 13:08:28 +0100 (Sun, 30 Dec 2007) | 23 lines

Based on feedback from Ton, I've recoded the way "PoseLibs" are implemented/exposed. Therefore, quite a bit of code has been changed to fit this in better.

Now, ANY ACTION can be a "PoseLib". A set of Markers which belong to the Action (it's taken a year, but they're finally back), are used to tag "poses" in the Action. These markers are shown using diamond-shaped blue icons (designed by Matt Ebb) in three shades - unselected/normal, selected, active.

Notes:

  • Each Armature Object has an Action which acts as a PoseLib.
  • Improved UI presented in buttons panel for this

-- added proper buttons for action assigning -- renamed "Validate PoseLib" to "Auto-Sync PoseLib" (this option auto-tags poses based on keyframes found)

Like in the 3d-view, use the hotkeys:

  • Shift-L to add a local marker
  • Ctrl-Shift-L to rename a local marker
  • Alt-L to delete selected local markers

Note: transforms, etc. are not currently available with these markers

PoseLib Preview Added a few features here:

  • Left/Right-Arrow keys now change the poses too (previous and next respectively)
  • Up/Down-Arrow keys also change the poses, but "jump" to a pose 5 steps away in their respective directions

Added 2 features

r13016 | aligorith | 2007-12-27 09:36:27 +0100 (Thu, 27 Dec 2007) | 5 lines

  • When previewing poses, it is now possible to manipulate the view to look at the pose from another angle. It is a known issue, that the normal header displays when using the MMB to do so.
  • Added a tool to "validate" or sync its PoseLib data to the keys stored in the Action.

Pose-Library Tool for Blender

r13004 | aligorith | 2007-12-26 12:17:26 +0100 (Wed, 26 Dec 2007) | 18 lines

"A slightly late Christmas present for the Animators out there :-)"

This tool allows animators to store frequently used poses in an action, and be able to label those poses to help them retrieve them later. In a way, it acts as a glorified clipboard for poses.

One of the cool features with this is the ability to select which stored pose to use interactively in the 3d-view. Once a few poses have been stored in the PoseLib, simply use the "Ctrl L" hotkey to start previewing. Use the Mousewheel or the Page Up/Down keys to change poses, and confirm/cancel the preview in the same way as you do for transforms.

Usage Notes:

  • Each Armature may get its own PoseLib. PoseLibs are simply actions with extra data, so they can get relinked.
  • Manually editing actions used as PoseLibs is not a good idea, as some data may not be able to be found. Tools to automagically find poses in an action could be investigated...
  • PoseLib will only apply/retrieve poses to/from selected bones
  • A basic UI for this can be found in the "Links and Materials" panel. Most of the PoseLib tools are presented there.

Useful Hotkeys (also found in Pose->PoseLib menu):

  • Ctrl L - interactively preview poses
  • Shift L - add a new pose or replace an existing pose in the PoseLib with the current pose
  • Ctrl Shift L - rename an existing pose in the PoseLib
  • Alt L - remove a pose from the poselib.c

Action/Pose/Bone Groups

"Custom Bone Colors"

r13364 | aligorith | 2008-01-23 11:14:45 +0100 (Wed, 23 Jan 2008) | 19 lines

This commit introduces the ability to give groups of bones different colour-sets, which enables them to be more easily identified in the 3d-view. Currently, custom bone colours have been implemented as a way to visualise bone-group membership (after all, colours and groups are both just ways of managing bones).

Usage Notes:

  • Each theme currently has 20 Color-Sets available for Bones.

These can be accessed from the "Bone Color Sets" option under the Theme buttons. (Note: currently, I haven't defined any default colour-sets. Donations welcome on this ;-) ) As such, colour sets are not saved per file! You will need to save the theme to preserve the color set for the next session.

  • Each Bone-Group can use any one of these 20 sets, or just use the default colour-set.

Use the "GroupCol" button to set this. When a set has been chosen, three little rectangles are drawn beside the button to preview the colours the set provides.

  • A bone must belong to a Bone-Group to get that group's colours.
  • "Colors" toggle on "Armature" panel must be enabled for these custom-colours to be shown for all bones that can have them.

This toggle is off by default, but is there to allow rigs to be debugged (by colours) for example.

  • The "Use 'Constraint' Colouring" option (per Colour Set), determines whether the colours denoting presences of constraints, ik, or keyframes are drawn in conjunction with the custom colours. It is off by default, as in many combinations, they look quite ugly when used in conjunction with custom colours.
  • Custom colours are only shown in PoseMode

Action/Bone Groups - Ctrl-G Hotkey + Bugfixes

New Stuff:

  • When in PoseMode, the Ctrl-G hotkey now presents a menu with options for manipulating Bone Groups. There are options to add/remove all selected bones from a certain group.
TODO - add appropriate entries to menus

Action/Pose Groups - Keyframing Integration

r13330 | aligorith | 2008-01-21 12:26:24 +0100 (Mon, 21 Jan 2008) | 3 lines

Now, when inserting keyframes (either IKEY or AutoKeying), if an ActionChannel has been newly created, it will get assigned to an Action-Group with the same name as the Bone-Group that the bone it represents belongs to.


Bone Groups

r13302 | aligorith | 2008-01-20 03:55:35 +0100 (Sun, 20 Jan 2008) | 13 lines

I'm committing some work-in-progress code for "bone groups" now, as I there have been are some major bugs caused by the timeoffset stuff (some of my test files were not loading, and other files were showing all sorts of weird problems).

Anyway, in this commit, the following things for "bone groups" have been done:

  • Bone groups are stored per armature (internally, this is per bPose block)
  • Added controls for editing bone-groups per armature - "add", "remove", "rename". These can be found in the "Links and Materials" panel in PoseMode, beside the settings for PoseLib.
  • Reorganised buttons for editing selected bones in PoseMode. I've replaced the "dist" and "weight" buttons (they existed in EditMode anyway) with a menu to choose the bone-group and the custom-shape-ob field. In the place of the old custom-shape-ob field, I've restored the "Hide" button. This might break muscle-memory a bit, but there isn't a lot of space to play with there.

Some stuff I'd been originally planning to do before committing:

  • When adding keyframes for bones, an action-group with the same name as the bone's group will be added to the action, and the action-channel will be made a member of that.
  • New action/bone groups have unique names (renaming/adding new should check if name exists before assigning it)
  • There's a setting under Bone-Groups stuff which sets which custom-colour set is used to colour that group's bones. Currently, this is non-functional, as the necessary drawing code for armatures is not in place yet.

Action-Groups - Drawing Tweak

r13282 | aligorith | 2008-01-18 01:04:19 +0100 (Fri, 18 Jan 2008) | 3 lines

Now action-group channels are drawn with a green-ish strip background instead of the usual colours to help distinguish them from other channels, making it easier to identify them.



Action Editor

Copy/Paste Improvements

r13306 | aligorith | 2008-01-20 06:10:35 +0100 (Sun, 20 Jan 2008) | 3 lines

Changed the way the offsetting of pasted keys relative to the current time works. Now, all pasted frames are offset by the same amount. This is calculated as the difference in the times of the current frame and the 'first keyframe' (i.e. the earliest one in all channels to be pasted). The 'first keyframe' is found when doing the copying.


Groups for Action Channels (Peach Request)

r13279 | aligorith | 2008-01-18 00:02:11 +0100 (Fri, 18 Jan 2008) | 23 lines

Now, you can assign Action Channels to named (folder-like) groups, which help to organise the channels (important for more complex rigs). These are collapsible, can be "protected", and show a "summary" of the keyframes in the channels the Group contains. They are drawn as bright-green (active) or a darker shade of green (not active) channels.

  • Each Action has its own set of Groups.
  • An Action-Channel can only occur in one Group at a time. It can also not occur in any group.
  • Action-Channels can be moved between Groups
  • Groups + grouped-channels always occur BEFORE un-grouped channels

Important Hotkeys:

  • ⇧ ShiftG: Adds the selected Action-Channels to the Active Group. This will create a new group if need be
  • ⇧ ShiftCtrlG : Always adds a new group, and adds the selected Action-Channels to it
  • AltG : Removes selected Action-Channels from their groups
  • ⇧ ShiftCtrlAltG : (Note: this will be removed soon) This is a simple debugging-hotkey I added, which just prints a list of the groups, channels, and their addresses...
  • N / CtrlLMB Template-LMB.png : While hovering over the name of a group, this shows a popup like for other channels, which allows the editing of the channel's name, etc.


Assorted Notes:

  • Some tools may not work yet with this (Ctrl+ NumPad/Ctrl- NumPad for example)
  • Fixed some bugs in various places in Action Editor code
  • Added theme colours for group channels
  • The nomenclature of these tools may change in future when a better alternative is found
  • The ability to auto-assign action-channels to groups when they are keyframed will be coming up shortly

Editing Goodies

r13179 | aligorith | 2008-01-09 13:07:38 +0100 (Wed, 09 Jan 2008) | 11 lines

  • Peach Request - Added Ctrl-PageUp/Down to jump to next/previous keyframe (respectively), just like elsewhere in Blender.
  • As a result, Action Channel rearranging has been remapped so that:

- ⇧ ShiftCtrlPageup/down is move to top/bottom - ⇧ ShiftPageup/down is move up/down

  • Added a hotkey ("accentgravekey", i.e. ~/`) to toggle whether all Action Channel levels are expanded or not. This affects all visible Action Channels.
  • Added Ctrl+ NumPad and Ctrl- NumPad to expand and collapse all Action Channel levels by one level (as appropriate). This only affect selected Action Channels.

Sample Keys

r13169 | aligorith | 2008-01-08 12:51:44 +0100 (Tue, 08 Jan 2008) | 8 lines

Cessen Request - Added a tool which inserts keyframes on every frame between two selected keyframes. This is useful for adding overlapping motion (apparently).

Use AltO to run this tool. The name of this tool is also open to suggestions ;)

Note: There is currently a bug with this. When there are 4 consecutive keyframes, it won't add keyframes between keyframes 2 and 3.


Show Hidden Channels

r12952 | aligorith | 2007-12-20 00:29:42 +0100 (Thu, 20 Dec 2007) | 7 lines

This option (found in the View menu) shows all Action Channels, regardless of whether the data they represent is visible or not. It's better than having to have multiple pinned Action Editors open to be able to move all keyframes of all bones at once (when blocking for example).


Copy/Paste

r12949 | aligorith | 2007-12-19 23:37:38 +0100 (Wed, 19 Dec 2007) | 5 lines

Now the Copy/Paste functionality stores more info about where keyframes came from. This allows users to copy full poses in the Action Editor and paste them in another action.

Peach request/bugfix for William.


Long Keyframes

r12945 | aligorith | 2007-12-19 11:52:26 +0100 (Wed, 19 Dec 2007) | 4 lines

Now Long-Keyframes in the Action Editor (yellow/pink strips between keyframes) take into account whether the keyframe handles which help control the interpolation between the two keyframes stay at the same value as the keyframes do. This way, long keyframes are not drawn when the keys have the same value, but there's still movement between them.


Pinned Actions Bugfix

r12944 | aligorith | 2007-12-19 11:03:54 +0100 (Wed, 19 Dec 2007) | 3 lines

When using a pinned action, "Add New" now makes a new action. This new action is only assigned to the current Action Editor (i.e. not to any active object, as one might not exist, or might not be the object that the action is related to).


Snap Current-Frame Marker to Keys

r12804 | aligorith | 2007-12-06 10:41:46 +0100 (Thu, 06 Dec 2007) | 3 lines

This little feature snaps the current frame marker to the average frame of all the selected keyframes. Use the hotkey ⇧ ShiftCtrlS to use it.


Workflow changes

r12790 | harkyman | 2007-12-05 01:03:39 +0100 (Wed, 05 Dec 2007) | 1 line

Little workflow goody for animators. Adds {AMB|R}} select to Action Editor. AltRMB Template-RMB.png in the key area selects all keys on that side of the current frame line. ⇧ ShiftAltRMB Template-RMB.png builds selection. Commands are also in the headers.

Sculpt

Sculpt

r13219 | nicholasbishop | 2008-01-13 02:29:45 +0100 (Sun, 13 Jan 2008) | 5 lines

Added undo pushes for the items in the sculpt menu


Sculpt

r13217 | nicholasbishop | 2008-01-12 22:59:18 +0100 (Sat, 12 Jan 2008) | 5 lines

Added undo pushes after changing the brush type using the Ctrl⇆ Tab menu and after interactive change of brush size/strength/rotate.


Sculpt Mode

r12964 | nicholasbishop | 2007-12-20 20:07:47 +0100 (Thu, 20 Dec 2007) | 10 lines

Applying Stephan Kassemeyer's patch (#6750) to add a curve modifier for sculpting.

A few changes from the patch:

  • The default curve is closer to the old behavior
  • Fixed loading files already saved in sculpt mode
  • Changed the interface; split the brush texture controls off into a third sculpt tab, and put the curve (and curve reset) into the Brush tab.



Unsorted


Automatic Bone Extension Adder

r13428 | aligorith | 2008-01-28 01:53:54 +0100 (Mon, 28 Jan 2008) | 10 lines

Added three new tools to the WKEY menu for Armatures in EditMode/PoseMode. These add .* extensions to the names of selected bones based on their position in 3d-space on the axis considered by that tool.

The current naming schemes are based upon the extensions I normally apply. Some people may have slightly different preferences though.

There is one for:

  • Left-Right names (along x-axis)
  • Front-Back names (along y-axis)
  • Top-Bottom names (along z-axis)

RenderLayers save

r13426 | campbellbarton | 2008-01-28 01:05:15 +0100 (Mon, 28 Jan 2008) | 2 lines

script to save renderlayers to a file so you can load them in other blend's - useful when applying settings in a pipeline (andy tells me ;) )


Snap Menu

r13422 | theeth | 2008-01-27 17:43:51 +0100 (Sun, 27 Jan 2008) | 5 lines

New Cursor-> Active option

Useful on Edit Mesh too!


VertexGroup Editing

r13421 | aligorith | 2008-01-27 11:34:35 +0100 (Sun, 27 Jan 2008) | 3 lines


Added a new option to the "Vertex Groups" menu: "Remove Selected from All Groups". This menu can be accessed using Ctrl-G in EditMode for Meshes and Lattices.


Limit Distance Constraint

r13400 | aligorith | 2008-01-25 12:23:36 +0100 (Fri, 25 Jan 2008) | 12 lines

Added a new constraint, "Limit Distance". This constraint defines a 'virtual sphere' around the target which the owner can be made to stay inside, outside, or on the surface of it.

This constraint is best used when applied using the Ctrl-Alt-C hotkey, as the radius is set correctly that way. One usage, is to prevent the target of an IK-chain from straying away from the chain. Care should be taken to not use a member of the IK-chain as the target though.

Description of Variables:

  • 'Dist' - Radius of virtual sphere
  • 'R' - Click on this to recalculate the 'Dist' value (note: like the 'R' button in the StretchTo constraint, this is currently buggy)

' Mode' - This menu gives different options for how the limiting sphere should act. The mode names are self explanatory.

  • 'Soft' and 'SoftDistance' - currently not functional (so settings are hidden). These are used to define a smaller radius around the sphere of influence where a non-linear relationship between input and resulting locations occurs to prevent the owner 'crashing' into the sphere.

Linked Particles

r13392 | campbellbarton | 2008-01-24 22:32:36 +0100 (Thu, 24 Jan 2008) | 2 lines

Select linked particles (Shift+L)



Mirror Tool

r13389 | theeth | 2008-01-24 21:11:54 +0100 (Thu, 24 Jan 2008) | 9 lines

Making the mirror tool axis selection interactive instead of using a popmenu.

Mirror is now just a constant -1 scaling transform, which enables you to choose the mirror axis through hotkeys (x,y,z) and with MMB. It also means it's easier to select the correct axis if you're not sure which is which and gives access to all the orientation supported in transform (including custom user orientations).

Mesh and Object header menus still have the individual axis as options but have an added "Interactive Mirror" which just enters transform and lets user pick the axis there. Ctrl-M enters "Interactive Mirror" too.

In a nutshell, this changes adds more possible mirroring axis and unifies the mirror axis selection process with transform constraint axis selection.


Effector Vertex group

r13386 | blendix | 2008-01-24 15:16:52 +0100 (Thu, 24 Jan 2008) | 5 lines

Added an "effector" vertex group for hair, that defines how much influence effectors have.


Vector Blur now has option to be curved!

r13333 | ton | 2008-01-21 19:08:57 +0100 (Mon, 21 Jan 2008) | 11 lines

Especially for fast moving objects (as we have here in Peach) the art department demanded nice curved vector blur. This formula uses a quadratic bezier function, which is not giving perfect circles, but certainly useful results.


Limit Rotation Constraint - Affects Transform

r13325 | aligorith | 2008-01-21 08:54:31 +0100 (Mon, 21 Jan 2008) | 5 lines

Now, the Limit Rotation Constraint can be made to work on the Transform values like the Limit Location/Rotation constraints. Use the "For Transform" button to activate.

Note: this does not really work as well as for the other constraints, as it currently does conversions between eulers/quats and matrices. This results in loss of rotation data.


Transform Snap

r13318 | theeth | 2008-01-20 23:43:48 +0100 (Sun, 20 Jan 2008) | 11 lines

Snapping Mode: Active

With this mode, the active element (at this time, object or vertice) is used as snapping target. If there is no active element in the selection, it reverts back to median mode.


Edit Mode snapping, other meshes no longer have to be selected to act as snapping point.


New simple renderfarm options

r13310 | campbellbarton | 2008-01-20 18:53:58 +0100 (Sun, 20 Jan 2008) | 10 lines

Added 2 options to the render output panel that can be used for a really basic local renderfarm (even artists can use it!), "NoOverwrite" and "Touch" When both are enabled, rendering 1 scene between many pc's on a fast network will populate the directory with frames. Also useful to delete frames that have errors and re-render (without manually re-rendering each frame)


New Mist option

r13293 | ton | 2008-01-19 12:17:12 +0100 (Sat, 19 Jan 2008) | 9 lines

Added new render pass: "Mist". This is actually just the alpha value as currently being calculated by the mist code. It is in many cases not very useful to have this as alpha in shading result, also for postprocess and composite.

Note: this pass also works with "Mist" not set in World, of course.


Timeoffset buttons

r13285 | campbellbarton | 2008-01-18 13:20:28 +0100 (Fri, 18 Jan 2008) | 3 lines

2 new timeoffset buttons in the animation panel "Ofs" and "Rand" Useful when animating many objects falling at different times (for instance).


Approximate Ambient Occlusion

r13276 | blendix | 2008-01-17 20:27:16 +0100 (Thu, 17 Jan 2008) | 23 lines

A new approximate ambient occlusion method has been added, next to the existing one based on raytracing. This method is specifically targetted at use in animations, since it is inherently noise free, and so will not flicker across frames.

http://www.blender.org/development/current-projects/changes-since-244/approximate-ambient-occlusion/ http://peach.blender.org/index.php/approximate-ambient-occlusion/

Further improvements are still needed, but it can be tested already. There are still a number of known issues:

- Bias errors on backfaces. - For performance, instanced object do not occlude currently. - Sky textures don't work well, the derivatives for texture evaluation are not correct. - Multiple passes do not work entirely correct (they are not accurate to begin with, but could be better).


Render control feature: shader-level shadowbuffer bias

r13275 | ton | 2008-01-17 20:01:58 +0100 (Thu, 17 Jan 2008) | 12 lines

Lampbuffers require painful bias tweaking (to prevent aliasing or to get shadow detail). Sometimes you want this different per object, like for gras you want less shadow detail, but for the ground you want high detail. This feature allows to tweak it.

The new "LBias" slider is in shader panel, bottom. Ugly! But, thats for later...


Radial Control

r13257 | nicholasbishop | 2008-01-16 08:19:21 +0100 (Wed, 16 Jan 2008) | 9 lines

  • Generalized the interactive brush property control from sculpt mode into a simple API
  • Modified sculpt mode to take advantage of this (even fixes some minor bugs!)
  • Added shortcuts in particle edit to set brush size/strength (FKEY/shift+FKEY)

Still todo are the other modes that have brushes...


Sampling Colors

r13236 | ton | 2008-01-14 20:03:27 +0100 (Mon, 14 Jan 2008) | 19 lines

  • while sampling color in image window, you now get the sampled color as a line drawn in the node editor Curve nodes, allowing quicker view of what values you actually change.
  • reverted temporary the patch [#6779] by Matthew Plough

- He replaced image drawing of backdrop-node-editor with our Texture drawing function. That call is extremely slow, and should be by definition slower than glDrawPixels (unless you don't upload the image each time to gfx mem).

  • Drawing large frames (2k, 4k) in node editor became unacceptable slow, even with the neatest hardware around. (tested nvidia, ati)
  • Probably (Campbell thinks) this is a bypass for Linux ATI cards?

- Anyhoo, this should be investigated further before applying. It better then becomes a user pref, or even much better: part of the OpenGL profiler we need.


Limit Scale Constraint - Affects Transform

r13233 | aligorith | 2008-01-14 12:23:03 +0100 (Mon, 14 Jan 2008) | 5 lines

Now, the Limit Scale Constraint can be made to work on the Transform values like the Limit Location constraint. Use the "For Transform" button to activate.

For clarity, this means that when scaling with a Limit Scale Constraint with this option on, the relevant values in the Transform Properties will stop changing once the Limit defined in the Limit Constraint is reached.


Transform Snap

r13224 | theeth | 2008-01-13 23:20:18 +0100 (Sun, 13 Jan 2008) | 14 lines

Snapping for object mode

Changes: - Transform snap now working in object mode and not just mesh edit mode - Shift-Tab can be used to toggle snap on/off inside transform too (no more Esc,toggle,restart) - Object mode snap: Closest uses the bounding box corners of all selected objects, Median uses object center and Center uses transform center (same as edit mode). - Object mode snap: all visible meshes can be used to get the snapping point (unlike edit mode snap which is limited to selected mesh: this might be adjusted to make edit mode snap use all visible too).

To Do: - Add "Active" snap target method: use active object (or mesh element) as snap target - Add snapping capabilities to Scale - (Maybe) Add "Near pointer" snap target method: use selected element that is closest to mouse pointer as snap target. Active could probably accomplish that already in a less confusing manner, so I might skip this.


Custom Transform Orientation

r13223 | theeth | 2008-01-13 19:24:09 +0100 (Sun, 13 Jan 2008) | 17 lines

Custom Orientations can be added with Ctrl-Shift-C (hotkey suggestions are welcomed), this adds and select the new alignment. Custom Orientations can also be added, deleted, selected from the Transform Orientations panel (View -> Transform Orientations). Standard orientations (global, local, normal, view) can also be selected from this panel.

If you plan on using only a single custom orientation and don't really need a list, I suggest you use the hotkey as it adds and selects at the same time.

Custom Orientations are save in the scene and are selected per 3D view (like normal orientation).

Adding from an object, the orientation is a normalized version of the object's orientation. Adding from mesh data, a single element (vertex, edge, face) must be selected in its respective selection mode. Vertex orientation Z-axis is based on the normal, edge Z-axis on the edge itself (X-axis is on the XoY plane when possible, Y-axis is perpendicular to the rest). Face orientation Z-axis is the face normal, X-axis is perpendicular to the first edge, Y-axis is perpendicular to the rest. (More logical orientations can be suggested).

I plan to add: 2 vertice (connected or not) => edge orientation , 3 vertice = face orientation

Differences from the patch: - orientations no longer link back to the object they came from, everything is copy on creation. - orientations are overwritten based on name (if you add an orientation with the same name as one that already exists, it overwrites the old one)


AutoKeying - Tidy Up

r13215 | aligorith | 2008-01-12 12:06:51 +0100 (Sat, 12 Jan 2008) | 5 lines

This commit restores the "big red button". When Auto-Keying is enabled (record button toggled on), a menu appears beside it to choose which behaviour for auto-keying should be used. This should be more efficient for quickly turning Auto-Keying on/off.

I've also added the relevant version-patches to fix up old files so that sensible default options are in use.


Aero changes

r13213 | bjornmose | 2008-01-12 02:26:40 +0100 (Sat, 12 Jan 2008) | 3 lines

nice little thing -> have angular response on 'aero' made backward compatible for sure


Insert Gap Shortcut

r13210 | campbellbarton | 2008-01-11 19:33:52 +0100 (Fri, 11 Jan 2008) | 4 lines

removed "Insert Gap" shortcut - alt/shift+mousewheel It was too easy to Pan (Shift+MMB) but mousewheel without meaning to. Extend - E-Key also does this in a more useful way.


Colorband hue, saturation...

r13192 | ton | 2008-01-10 12:26:17 +0100 (Thu, 10 Jan 2008) | 4 lines

Adding the colorband Hue, Saturation, Value, Color blending modes to the Material Texture blending as well.


Auto-Keyframing Refactor (Peach Request)

r13190 | aligorith | 2008-01-10 02:36:22 +0100 (Thu, 10 Jan 2008) | 18 lines

Refactored Auto-Keyframing to make it easier to add more options. There are now three "states" for auto-keying: off, add/replace keys, replace keys.

Description of modes: 1) No auto-keying is done 2) Add new keyframes or replace existing ones if possible (old behaviour) 3) Only modify existing keys, but not insert new ones.

Internally, I've moved the auto-keying settings out of G.flag and U.uiflag and moved them into their own variables in Userdef, and provided some macros to access those easily. As a result, old auto-keying settings are currently lost.

Also, removed the manual calls to insertkey done in pose-relax. The reason auto-keying didn't work before was because the bones didn't have the BONE_TRANSFORM flag applied. Now, these are set temporarily.


Todo(s):

  • Make icons for the TimeLine header menu (currently just a text menu)
  • Add version-patches for old files
  • Double-check code for all places that use auto-keying (i.e. PoseLib)

Misc Render Features

r13180 | blendix | 2008-01-09 15:40:25 +0100 (Wed, 09 Jan 2008) | 15 lines

- "From Dupli" option for orco and uv texture coordinates. For dupliverts, duplifaces and dupli particles, this uses the orco and uv at the point on the parent surface. Can for example be used for texturing feathers and leafs. Note that uv only works for duplifaces and particles emitted from faces, these are not defined at vertices.

- "Width Fade" option for strand render, to fade out along the width of the strand. Committing this so it can be tested, might be changed or removed even, if it doesn't give nice results.


Custom names for Nodes

r13163 | bebraw | 2008-01-07 20:38:01 +0100 (Mon, 07 Jan 2008) | 14 lines

Custom Names for Nodes This commit makes it possible to add a custom name to a node. The feature can be accessed either by using a menu or shortcut ctrl-r. It currently works only when a single node is selected. Invoking the feature gives a popup menu in which a new name can be entered. If the given name is not empty, it will be shown like "(myCustomName) NodeName" in the node header.

This feature is particularly useful when documenting complex node setups.

I also fixed the size of blur node. It was too short before due to my previous commit.

Thanks to David Millan Escriva for contribution!


Blur Node

r13155 | bebraw | 2008-01-07 16:44:45 +0100 (Mon, 07 Jan 2008) | 5 lines

Blur Node to support Relative (percent) values This commit makes it possible to use relative values when using a Blur node. There is a new toggle in the node that can be used to enable the feature.

Thanks to David Millan Escriva for contribution!


RGB Curves Node changed

r13154 | bebraw | 2008-01-07 14:55:48 +0100 (Mon, 07 Jan 2008) | 7 lines

Black and White level inputs to RGB Curves compositing node This commit adds possibility to define black and white level of the mapping curve of the RGB Curves node. This functionality is exactly the same found in the Curves tool of the UV/Image Editor. It can be used to extract wanted color ranges out of the input easily.

Thanks to Bj?\195?\182rn C. Schaefer for contribution!


Toggle Link

r13153 | bebraw | 2008-01-07 13:55:37 +0100 (Mon, 07 Jan 2008) | 9 lines

Conversion of "Toggle Link" tool to "Make Link" This commit alters the behaviour of "Toggle Link" tool found in the node editor so that it only makes link between selected sockets. Links cannot be deleted by using the tool again as before. Instead deleting links can be done by using the old method (drag with lmb).

The delete functionality may require further investigation to see if it should be improved.


Auto-IK Improvement (Peach Request)

r13144 | aligorith | 2008-01-06 08:40:37 +0100 (Sun, 06 Jan 2008) | 3 lines

Auto-IK can now operate on more then 1 selected bone at once, (as long as they are not a part of the same chain).


Local Constraints for Proxies (Peach Request)

r13125 | aligorith | 2008-01-04 12:21:50 +0100 (Fri, 04 Jan 2008) | 11 lines

Proxy protected bones can now get local (per-file) constraints added to them, which will be preserved after a file load. This is necessary for adding constraints to proxy-protected bones for special purposes while animating (i.e. adding CopyLocs to IK-hand controls to pick up an object).

These must be added after any constraints from the proxy, as proxy constraints may come and go without warning. As such, the UI forbids this from happening by removing the relevant button.

I've also made UI-changes to show which constraints come from the proxy (the buttons to move the constraint up/down and delete it, are replace with two icons - a the proxy 'ghost' icon and a lock). Also, trying to change any settings of proxy-protected constraint will show an error.


Notes:

  • Object constraints are still not playing nice with proxies yet. They didn't before this commit either...

Sequencer

r13084 | schlaile | 2008-01-01 12:44:42 +0100 (Tue, 01 Jan 2008) | 40 lines

Attention! Rather large sequencer rewrite:

  • Implemented layer blending using implicit effects. (works like layers in "The Gimp" or Photoshop.)
  • Fixed Space-Bar start-stop in preview windows. You can start playback using spacebar within a preview-window and it _works_!
  • Fixed Flip Y (didn't work for float)
  • Fixed premul (didn't work for float)
  • Added IPOs to _all_ tracks. In blend-mode REPLACE it drives the "mul"-parameter in all other blend modes it drives the effect.
  • you can meta single tracks.
  • moved "mute track" from "M" to "Shift-M"
  • added "Shift-L" for "lock track"
  • changed inner workings for Metas. Now all ImBufs have to use the reference counting mechanism. (Only interesting for coders :)

!!! Really important change, that affects current files!

Since you can mute tracks and now there is real layer blending capabilities in place, I changed the silly behaviour that chose the output track.

Old behaviour: if we have an effect track visible, use the uppermost effect track. If there is _no_ effect track visible, use the lowest input track.

New behaviour: always use the uppermost track. With blend modes active: work our way down starting from the uppermost track to the first "replace"-mode track. This is the way the gimp, photoshop, basically _all_ other applications work...

So if this change ruins your day: please try to fix your files using "mute". If this doesn't work out, I can still restore the old behaviour, but I really hope, that this is _not_ necessary!

Rational: most people won't get affected by this change, since you can't really do anything usefull with the (old) sequencer without at least one effect track and then you are on the safe side...


Apply Object

r13034 | campbellbarton | 2007-12-28 18:10:55 +0100 (Fri, 28 Dec 2007) | 6 lines

Added a new option for 'Apply Object', (Ctrl+A) Called "Apply Visual Transform to Loc/Size/Rot" Since there was no easy way to apply a constraint's transformation back to the original objects transformation.

Also adjusted how Apply Scale/Rot works so that it wont change some objects then raise an error and leave others unchanged, better to check first so it changes everything or nothing.


Bilateral Blur Node

r13024 | bebraw | 2007-12-27 21:36:17 +0100 (Thu, 27 Dec 2007) | 27 lines

Bilateral Blur node allows the user to blur images while retaining their sharp edges. Blurring can be controlled by following controls:

  • Iterations
  • Color Sigma
  • Space Sigma

Also image input to blur and a determinator image is provided. The node produces a blurred image as its output.

The more iterations are provided, the smoother the result. Use color and space sigmas to control the amount of blur. One way to use the determinator input is to feed a mix (add) of Z and normal passes to it.

Examples of usage: Ambient Occlusion smoothing - http://wiki.blender.org/index.php/Image:Bilateral_blur_example_01.blend Blurry Refraction - http://wiki.blender.org/index.php/Image:Bilateral_blur_example_02.blend Smoothed shadows and smoothed Ambient Occlusion combined - http://wiki.blender.org/index.php/Image:Bilateral_blur_example_03.blend

If you check out the examples, render the image and alter the values to see how they affect.

More information about the algorithm can be found at http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/MANDUCHI1/Bilateral_Filtering.html .

Thanks to Vilem Novak for contributing the patch.


Directional Blur Node

r13020 | bebraw | 2007-12-27 15:19:11 +0100 (Thu, 27 Dec 2007) | 44 lines

Directional Blur node allows the users to do various blur operations on the input image. It essentially offers three different kind of ways of blurring in one node. It is possible to blur using a certain direction, spin and zoom. These three ways can be used in conjunction.

The node contains following controls:

  • Iterations, Wrap
  • Center: X, Y
  • Distance, Angle
  • Spin
  • Zoom

Iterations is used to determine the smoothness of the result. The more iterations, the smoother result. Low values are good for preview.

Wrap means that the image is wrapped as if it was tiled on both x and y directions. To see better what this means, try it with spin for instance.

Center values (X and Y) determine the location which is used as a pivot point for the operations. It is center (0.5) of the image by default.

Distance and angle are used to adjust directional blur. The result can be described as a sweep that varies based on given distance (bigger distance, longer sweep) and angle. Angle is given in degrees.

Spin produces rotating blur based on given angle. Yet again it is in degrees. Also negative values work.

Zoom causes the image to be zoomed towards set center point (Center values).

Thanks to Alfredo de Greef (eeshlo) for contribution.


Possible development ideas:

  • Make an algorithm to extend image in case spin is used. Extend would temporarily

change the size of the canvas of the input image. Canvas would be filled based on colors on the edges of the input image. After the blur operation has been done, the image would be cropped back to normal size. The advantage of this would be nicer result of spin (no problems with image size) on a computational cost.

  • Make values animatable. This is something that is better solved on more general

level. ("everything is animatable" paradigm)

  • Provide an option to calculate automatic value for iterations. A good value that

produces a smooth result could be calculated based on direction deltas. This would be useful in conjuction of animatable values.


Toggle Links tool for Node Editor

r13017 | bebraw | 2007-12-27 11:17:33 +0100 (Thu, 27 Dec 2007) | 22 lines

This commit adds a new tool, Toggle Links, to the node editor. This tool allows the user to toggle the status (linked/not linked) between desired sockets. The tool can be used either by using the f key or the menus.

This functionality is analogue to one found in object editing modes except for its additional toggle functionality.

To use this tool, the user has to first select an input and an output socket. Selecting is done by clicking with right mouse button on a socket. After the tool has been invoked, the link between those two sockets is toggled. The result may vary based on existing linkage.

There can be only one input and one output selected at maximum in a node tree. This means that if the user selects a socket while one of the same type is already selected, the old one will be deselected.

The tool complements the current way of connecting nodes. One possible use for it is to use it to review output of nodes by using a viewer node. Just select wanted input socket of a viewer node, set it visible and use selection of an output socket in conjuction with f key to show the output in the viewer node. Select another output and hit f to see its output and so on.


Transform: Warp

r13000 | theeth | 2007-12-26 04:06:59 +0100 (Wed, 26 Dec 2007) | 9 lines

Adding special hotkey (MMB) to reverse the direction of the warp.

Normal input is 0..360 mapped to the horizontal position of the mouse on the 3D view (the 3D view becomes a sort of giant horizontal slider), pressing MMB reverses the value to 0..-360 and back if you press it again.

I've used MMB mostly because it's unused in Warp, easily accessible and already used to switches mode for Shear (shear x/y).

Indirectly suggested by a user question on ba.


Sequencer (includes a little bit of Peach :)

r12998 | schlaile | 2007-12-25 16:31:36 +0100 (Tue, 25 Dec 2007) | 24 lines

Reworked image / movie loading, to add the following features:

- Mute strip - Lock strip (peach request :) - Crop / Translate _before_ image rescaling - N-keys editing of start, startofs, endofs, startstill, endstill

Added (currently disabled) data structures for

- proxy support - strip blend modes (currently only "REPLACE" works, which always did :)

Planed:

- automatic FPS rescaling - command keys to lock/mute a bunch of selected strips (which would complete the peach request to lock tracks)

Caveats: now the N-keys dialog is four-tabbed. I think, we should move those tabs into the panels dialog in the future...


Playback (peach request)

r12980 | schlaile | 2007-12-23 18:27:06 +0100 (Sun, 23 Dec 2007) | 7 lines

Correct playback frames per second when "Play" is pressed. (Play spawns a new instance of blender, it could pass an argument that sets the frames per second)

(double credit :)


Sequencer (Peach request)

r12979 | schlaile | 2007-12-23 18:01:44 +0100 (Sun, 23 Dec 2007) | 7 lines

Make the "Sync" button work when sound is disabled, Animators use this as a way to play animations at the right speed, could be renamed to "Drop Frames" and work even when blender built without audio enabled.

(do not forget to give credit to me :)


Transform feature test

r12967 | theeth | 2007-12-21 02:53:55 +0100 (Fri, 21 Dec 2007) | 11 lines

Related to bug [#7792] ("Around Selection" user preference doesn't work for linked objects), this commit makes Linked objects be considered in Transform.

This has a couple of effects: Linked objects are used to calculate the center of transformation and such but are skipped during the actual transformation. Linked objects can be used as orbiting targets (see previously mentionned bug).

The offshot is that selecting a linked object and hitting G doesn't cancel immediately as it did before (this could eventually be worked around, but I don't think it's that much of a problem. Disagreeing people should express themselves).



GL Lights

r12963 | theeth | 2007-12-20 19:41:11 +0100 (Thu, 20 Dec 2007) | 3 lines

Reset GL lights are reloading defaults with Ctrl-X.

GL Lights defaults are read back from the file, they just weren't applied until the next recalc call.


Particle Edit Mode

r12960 | blendix | 2007-12-20 18:04:10 +0100 (Thu, 20 Dec 2007) | 8 lines

- Added a Remove Doubles tool, to remove two particles with the same root position.



Strand Render Simplification

r12959 | blendix | 2007-12-20 17:35:27 +0100 (Thu, 20 Dec 2007) | 22 lines

- Strand render now has options to remove child strands as the object's faces becomes smaller, in the Simplification particle panel. - "Reference Size" is the approximate size of the object on screen, after which simplification starts. - "Rate" is how fast strands are removed. - "Transition" is the percentage of strands being faded out as they are removed.

- Another "Viewport" option removes strands on faces that are outside of the viewport. "Rate" again controls how fast these are removed.

- Strand render in Blender Units now has an adjustable minimum width. Below this minimum width, strands start fading out instead of getting smaller.


Make path relative/absolute

r12954 | campbellbarton | 2007-12-20 11:27:13 +0100 (Thu, 20 Dec 2007) | 10 lines

Render-farm and file utils for dealing with external data. Useful to use before sending blend files to the renderfarm.

  • Make all Paths Relative - makes any absolute paths relative.
  • Report Missing Files - creates a textblock listing all missing files.
  • Find Missing Files - searches a directory recursively for filenames that dont exist at their current path.

Added a path looper type and functions that currently loop on image, sound, font and external library paths.


Animation playback

r12943 | aligorith | 2007-12-19 09:48:41 +0100 (Wed, 19 Dec 2007) | 4 lines

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)

Stamp for JPEG

r12941 | bdiego | 2007-12-19 06:37:57 +0100 (Wed, 19 Dec 2007) | 14 lines

Add support for stampinfo to the JPEG format.


Subdivision

r12925 | blendix | 2007-12-17 13:54:39 +0100 (Mon, 17 Dec 2007) | 5 lines


Shift+O subdivision switching now also allows to switch particle systems on/off if they exist.


Rake Setting

r12913 | nicholasbishop | 2007-12-17 04:21:25 +0100 (Mon, 17 Dec 2007) | 3 lines

Applied Ian Calvert's patch (#7801) to add a "rake" setting to sculpt mode; when used with a 2D brush texture, the texture is automatically rotated to follow the direction of the brush stroke.


AutoIK - Fixes for MouseScroll Setting

r12902 | aligorith | 2007-12-16 01:59:06 +0100 (Sun, 16 Dec 2007) | 7 lines

  • Added display of current chain-length setting to the header, when transforming with Auto-IK on

New Drawtypes for Empties

r12890 | aligorith | 2007-12-15 08:48:30 +0100 (Sat, 15 Dec 2007) | 8 lines

Patch #7916: New Empty Types - Sphere and Cone Submitted by: David Bryant (digikiller)

This patch adds two new drawtypes for empties in Blender:

  • Sphere
  • Cone

These draw with wireframes which are slightly more complicated than for other empties. However, this shouldn't really be an issue.


Auto-IK

r12889 | aligorith | 2007-12-15 08:35:16 +0100 (Sat, 15 Dec 2007) | 10 lines

-- Peach request (from wiki feature request list) --

When translating a bone using Auto-IK, you can now use the ScrollWheel on the Mouse or the Page Up/Down keys to adjust the chain length.

Notes:

  • Up decreases the length, while Down increases it.
  • The previously used chain-length is stored per scene
  • Currently, it might be too sensitive. Also, it would help to have some kind of indication of the current chain-length somewhere...
  • The chain length specified this way determines the MAXIMUM chain length possible for all chains (if 0, then the default chain-length is used). Chains are clamped to have a chain length which does not exceed the default chain length. This restriction may be removed following further feedback...

Fill Bones

r12878 | aligorith | 2007-12-14 01:09:07 +0100 (Fri, 14 Dec 2007) | 3 lines

This commit fixes/implements this feature. It is restricted to using 1-2 joints selected joints only.


2 New Rigging Tools

r12865 | aligorith | 2007-12-13 11:55:10 +0100 (Thu, 13 Dec 2007) | 9 lines

This commit introduces two (currently only one is actually functional) new features for working with armatures.

  • Bone Merging (Alt-M)

It is now possible to select a bunch of linked bones and "merge" them together. Currently, there's only one option to merge bones that are selected and linked to each other in a chain.

  • Add Bone Between Joints (FKEY)

This allows you to select a few joints, and have a bone created between them. Currently, this is not yet functional (but the code is there)


Harmonic Skeleton

r12838 | theeth | 2007-12-10 22:14:19 +0100 (Mon, 10 Dec 2007) | 7 lines

Merge from Harmonic Skeleton branch

This code adds a basic and simple skeleton generator.

Examples and links are in the wiki, docs will come eventually: http://wiki.blender.org/index.php/User:Theeth/skeletor

In a nutshell, select a vertex at the top of the head and press "Generate Skeleton". UI Panel is in the Editing buttons in Edit Mode, tooltips and semi-useful.


Armature - Ghosting Feature (Cessen request)

r12829 | aligorith | 2007-12-09 12:53:07 +0100 (Sun, 09 Dec 2007) | 5 lines

Added a new option for Armature Ghosting: Only draw ghosts for selected bones. This is activated by toggling the "Sel" button beside the GStep: field.

Note: this does not give any speed increases, as the whole pose must be recalculated for each ghost. In fact, it might even cause minor performance decreases, due to the need to tag and un-tag bones before/after drawing the set of ghosts.


Armature Visualisation - A few additions

r12828 | aligorith | 2007-12-09 09:46:23 +0100 (Sun, 09 Dec 2007) | 5 lines

  • Added an option to make frame numbers of keyframes draw on bone-paths even when frame numbers for other points are not shown.
  • Added a new ghosting method, which only shows the keyframes within a range.

Bone Transform

r12824 | blendix | 2007-12-08 16:44:47 +0100 (Sat, 08 Dec 2007) | 10 lines

When pressing the g key on a bone that can't be translated, rotation is automatically activated. However, with multiple bone selected, it did this even if some bones can be translated. Now it only switches to rotation if no bones can translated.


NLA - Scale Related Fixes

r12816 | aligorith | 2007-12-07 11:50:02 +0100 (Fri, 07 Dec 2007) | 8 lines

  • Old files now get initialised with the correct scale. The wrong calculation was being used
  • 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").

NLA - Scale Setting for Strips

r12812 | aligorith | 2007-12-07 05:24:02 +0100 (Fri, 07 Dec 2007) | 14 lines

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?)


LimitLoc Transform - Tweaks

r12803 | aligorith | 2007-12-06 03:57:47 +0100 (Thu, 06 Dec 2007) | 6 lines

  • Made 'cob' be a stack var instead of allocating memory (as suggested by Martin)
  • Adjusted the position of "Trans" button in panel, and changed its name/tooltip to better describe its function
  • 'Active' constraint now draws brighter than other constraints... this is still not clear enough though.

VSE changes

r12799 | campbellbarton | 2007-12-05 21:54:26 +0100 (Wed, 05 Dec 2007) | 5 lines

[#7805] VSE: "snap to current frame" doesn't work for startframe/endframe

Added this functionality.


Blender Play Feature

r12786 | ton | 2007-12-04 19:34:28 +0100 (Tue, 04 Dec 2007) | 6 lines

- Hold shift prints filename/frame nr + speed - SHIFT+NumPad-4: playback speed 24 frs/sec


Particles

r12780 | blendix | 2007-12-04 15:21:58 +0100 (Tue, 04 Dec 2007) | 8 lines

- Like sculptmode, a brush can now be selected from a menu with Ctrl+Tab in particle mode.



Particles

r12779 | blendix | 2007-12-04 14:57:28 +0100 (Tue, 04 Dec 2007) | 23 lines

- Fix crash in particle transform with the particle system not editable. - Particle child distribution and caching is now multithreaded. - Child particles now have a separate Render Amount next to the existing Amount. The render amount particles are now only distributed and cached at render time, which should make editing with child particles faster.

- Two new options for diffuse strand shading:

  • Surface Diffuse: computes the strand normal taking the normal at the surface into account.
  • Blending Distance: the distance in Blender units over which to blend in the normal at the surface.

- Special strand rendering for more memory efficient and faster hair and grass. This is a work in progress, and has a number of known issues, don't report bugs to me for this feature yet.

More info: http://www.blender.org/development/current-projects/changes-since-244/particles/


Bone Paths - Auto-Recalc Improvements

r12777 | aligorith | 2007-12-04 12:34:26 +0100 (Tue, 04 Dec 2007) | 7 lines

Added a new function which specially caters for auto-recalculation of paths after updates (such as keyframing).

Currently, all that differs between this and pose_calculate_path, is that it only recalculates for bones with paths. Also, it only updates what it needs to (minimum frame range affected).

Warning: WIP commit (hopefully it compiles ok)