Fix for bug #6556, Sculpt draw/inflate brush strength is dependent on object scale value
Added a scaling factor to brushes that adjusts for objects which have been scaled. Usually this means that the vertex locations are also scaled up or down.
This is just a little time-saver for NLA-workflow. With the 'Auto-Blending' option
turned on in the Transform Properties (NKEY) for an ActionStrip, that strip's blendin/blendout values are determined based on the number of frames that the previous and/or next actionstrip(s) on overlap over the start and end of it.
It is turned on by default for new actionstrips added using the Shift-N hotkey.
Caveats:
* Only the actionstrips immediately on either side of the strip being evaluated, will
have any effect
* A strip that is longer-than, and extends over the sides of the strip being evaluated,
will have no effect
Additional Notes:
* Blendin/Blendout have been renamed In/Out in UI for brevity
* Button layout in NLA Transform Properties has changed slightly again, but hopefully that shouldn't be too much of an issue.
Fixed a bug with PET with connectivity, Mesh Face Select mode and Individual Centers.
Those three together could give negative factors, which is a big no no (this is due to some approximation in the connectivity code). Clamping the factor makes everything fine.
Bug reported by someone on BA
Possible fix for bug #6208, Blender crashes in sculpt tool
* make_orco_mesh_internal was using the render level rather than the pin level to create orcos
Note that since this bug never caused a crash on my system, I can't confirm that this fixes 6208.
Show an error if the user types in a library path that dosnt exist. (loading with a missing library path and saving can loose all your objects so a warning is best)
- Dont do anything if no verts or faces are selected (used to zoom into 0,0,0)
- use the centers of dupli objects (should eventually use their bound boxes), much nicer when dealing with many dupli-objects
Issue in Blender 10 years ago already:
CTRL+L "Link Materials" reduced total amount of materials in cases, which
it should not.
It now just copies Material links from the active to selected Objects.
Note for developers: see how this now is 3 lines of code, instead of
like 30. I have no idea what I was thinking back then... the current
solution could have been coded back then too.
not work anymore (mouse, bkey).
Fix provided by Diego from Plumifiros.
Important note: get_nearest_icu_key() requires to get an array as arg.
Doing it like:
float min, max; get_nearest_icu_key( , , , &min);
is not reliable or correct.
Continuing on from my previous 'Expandable/Collapsable Action Channel' commit, this commit introduces the ability to show/hide the keyframes in each ipo-curve represented by an Action Channel.
When you expand an Action-Channel by clicking on the triangle beside its name, you will now be presented with options to show/hide the ipo-curves represented by
the Action-Channel, and/or the Constraint Channels belonging to that Action-Channel. Actual ipo-curves will not be drawn in the Action-Editor, but the keyframes
will be shown.
Screenshot:
* http://wiki.blender.org/index.php/Image:244_ActionEditor_SubTracks_01.png
Possibly Coming Soon/Further Work:
* 'Protection' options for ipo-curves (currently disabled in code, as all IPO-related
tools will need to be made aware of this)
* Sliders for IPO-Curve Channels of the active Action-Channel
Added checks to the following areas
* half the material buttons
* multires, shapekeys, vert groups
* renaming a linked Object in the links could loose the object on next reload.
Made center functions check for library data as well as changing
the way it works.
Rather then centering all objects in the selection and stopping if it finds libdata, or a multiuser mesh.
It centers all that it can, and reports any objects that didnt center and why.
Node system: new typedefinition system caused button callbacks for group
node not to work.
Since this is not configurable, added it hardcoded. with a "XXX Ugly Hack"
note.
Now all windows open in a border as opposed to fullscreen. blender -W restores
old functionality, blender -w is now default. This lets each platform's window
manager deal with it's own issues.
As per issue 6391 in the patch tracker.
some were 18, most 19, and others 21. made all 21 since this is the real limit.
Also new image name limit length of input field to 21 (was 255 but shortened to 21)
The one place this could be useful is if somebody names a metaball with a 21 char name, the copy will not use the motherball.
but this is not as bad as having to use the python console for fixing library linking problems.
Transform Properties panel in 3d window.
New button "Parbone" showing when parent relation is to a specific bone.
This information was nowhere reveiled in the UI until now.
Code remark:
The code isn't getting more beautiful now with all if() options added.
The idea to move the rotation buttons down when a parent bone was set isn't
very good, buttons should stay as much as possible on the same location.
However, I dont have time for a solution either...
Displacement option for render only works without Nodes (it is calculated
as a Texture effect in advance, not a render option). To illustrate that,
the button to enable diplacement mapping is hidden for Node materials.
Existing data is flagged with LIB_APPEND_TAG and all_local only has an option to only operate on un-flagged data.
If you append an object thats linked to a material alredy linked in your scene, the material will not be made local.
So at worst youll need to make local some of the datablocks.
This is fairly simple and though my tests show it to work, do some tests on your own libraries before assuming its problem free.
scripttemplate_mesh_edit wasnt updated with PyAPI changes and moved some functions into generic places.
This (new) constraint limits the location of an object/bone to the range of locations
on a given curve. It works by comparing the location of the owner on one axis, to
the extents of the curve's bounding-box on the same axis, to find the location on
the curve.
Usage Notes:
* 'Ob:' field must point to a valid curve object
* This curve should have 'Path' turned on in order for this constraint to work. You
don't really need to do this as it will be taken care of by the code.
* 'Auto' toggle automically determines which axis should be used for the distance estimations/calculations. It is the default option, but may not work that well for
some cases.
* X/Y/Z toggles can be used to select the axis to use for these calculations. Try
to choose the axis along which the curve stretches out for most.
Python Notes:
Python API access for this constraint is not included in this commit. Will be coming
soon.