(Implementing Matt's idea)
Grid and Snap are now exclusively controlled by the Control key (pun intented).
You can switch to Snap by selecting the snap option in the Transform menu (this option is only available in edit mode on a mesh. this option is per 3D view) (NOTE: There is currently no hotkey for that, anyone should feel free to add one).
When Snap is selected, holding down Ctrl during translations (grab) snaps to vertex.
All other situations which have no snapping code yet defaults to Grid.
----------
User documentation for scn.objects (SceneObjects class). Documents what is
implemented right now; there still may be some minor changes prior to release.
Please read:
http://www.blender3d.org/cms/Imaging.834.0.html
Or in short:
- adding MultiLayer Image support
- recoded entire Image API
- better integration of movie/sequence Images
Was a whole load of work... went down for a week to do this. So, will need
a lot of testing! Will be in irc all evening.
Draw a circle around the snapping point for visual aid.
Different snapping target method, switchable in the 3d view header menu in the Transform menu.
* Closest: Snaps the closest vertex to the point
* Median: Snaps the median of the selection to the point
* Center: Snaps the transform center to the point (this is different from median because you can use Cursor/Boundbox as center)
Fix a bug with constraints/snap handling.
* 'On Selected Markers' and 'Between Selected Markers' now get a
correction for NLA action scaling .
* Bugfix for 'Between Selected Markers': now keyframes that occur
on and between the selected markers get selected.
* Bugfix for 'On Selected Markers': now it only considers selected
markers (it used to consider all markers)
Work in Progress: this adds vertex snapping capabilities to translations.
As before, use the menu or the hotkey (` during transform) to turn on snapping.
Currently, snapping is restricted to translation and only snap to verts. Also, it will snap the nearest moving vert to the snapping vert.
This also has a timeout period and refreshes the snapping point only every 0.25 seconds (assuming the timer is precise enough to do that) to mitigate the slowdown due to repeated calls to findnearestvert. Eventually, a faster method will have to be used.
Also, this uncovered a bug in findnearestvert which can manifest itself as jumps and lags in snapping. People are looking into it.
Still, with all those disclaimers, get the suggestions/critics pouring in.
There was a hotkey conflict between Preview Render and Push/Pull in object mode.
This is a temporary fix, assigning Push/Pull to Alt-Shift-P (only applies to Object Mode, the rest is Shift-P as before).
* Patch #5442: "Fix Bone SizeLimit" by Heriberto Mendez (gammarayq21)
'Limit Scale' constraint can now work on bone's local scaling too.
* I've also made the 'Copy Scale' constraint able to use the local scaling
of bones too.
Todo Tracker Item: #4754
Now the 'Convert Action to NLA Strip' command (CKEY) is able to
be found in the NLA editor's header in the Strip Menu. It now tries
to add a convert the active action of the active object (so it is no
longer dependant on mouse location).
When the current action is the active strip in the nla editor and that strip
is scaled, snapping keys to the current frame didn't work correct. Now,
I've added a correction for snapping and mirroring keyframes in action
editor for such cases.
Two tweaks:
* Reduced the amount of empty space at the bottom of these constraints.
* When using the Add Constraint menu (Ctrl Alt C) to add new constraints,
an empty is no longer created when creating a "Limit *" constraint.
Updated id properties interface as per
discussed in python meeting. Basically,
id properties are now entirely accessed
through the dict-like interface if IDGroupType.
Also, tp_getsetters are used throughout the code
now.
Using the dict interface allowed for a major cleanup
of the wrapping code. The biggest change is that ID
properties are no longer wrapped in a structure with
.type .name and .data members; instead when you get
properties from the group it returns the direct value.
Ints, strings and floats return simple python types,
while arrays and groups return special wrappers though.
This means to detect the type of an ID property, you
have to use type(). For string and int types this is
easy; for group and array types (which of course have
their own wrappers) you use type() with Blender.IDGroupType
or Blender.IDArrayType.
Update of epydocs plus a temporary gui script will be
forthcoming; the gui script will be removed before release
as of course by then we'll have a built-in gui for id
properties.
Bugfix for an error reported by Bassam/slikdigit.
Sometimes, long keyframes could still get created where they aren't
supposed to be (only occuring in a few ipo-curves).
When animating, it is often useful to be able to visually see where the
'pauses' are between keyframes. Long keyframes do this - linking two
keyframes in the same channel together.
Long keyframes are only drawn when the two keyframes have the exact
same values. This has to happen for every ipo-curve represented by the
keyframes shown for a long keyframe to be drawn.
I've added two new theme colours for the action editor. They are for
the selected and deselected colours of the long keyframes (currently
defaulted to be the same as the NLA strip selection colours).
frame set higher than End: frame
The end frame should not be allowed to have a value less
than the start frame. This commit sets the minimum allowable
value of the end frame button in the Anim panel and the timeline
to the start frame value.
Ton/Matt - if there is a good reason to not do this, feel free to
revert it back.