Commit Graph

1334 Commits

Author SHA1 Message Date
1de76baf88 Add BMesh and WM symmetrize operators
* The symmetrize operation makes the input mesh elements symmetrical,
  but unlike mirroring it only copies in one direction. The edges and
  faces that cross the plane of symmetry are split as needed to
  enforce symmetry.

* The symmetrize operator can be controlled with the "direction"
  property, which combines the choices of symmetry plane and
  positive-negative/negative-positive. The enum for this is
  BMO_SymmDirection.

* Added menu items in the top-level Mesh menu and the WKEY specials
  menu.

* Documentation:
  http://wiki.blender.org/index.php/User:Nicholasbishop/Symmetrize

* Reviewed by Brecht:
  https://codereview.appspot.com/6618059
2012-10-15 23:50:09 +00:00
6533ebff28 code cleanup: picky rna naming convention 2012-10-15 23:17:24 +00:00
c483a54207 Making "Jump to Keyframes" operator (for Action/Graph Editors) more obvious
This operator used to be called "Jump to Frame". It basically takes the midpoint
(frame number and/or value) of selected keyframes, and positions the current
frame (or2d-cursor in Graph Editor) at this point.

The hotkey for this is now Ctrl-G (i.e. as it's similar to a "Goto Frame"
feature). It is also now in the Key menu instead of in the relatively obscure
View menu, even though it doesn't actually result in any keyframe edits taking
place.

(Also, fixed a typo/grammer issue with one of Remove Bone Group operator)
2012-10-15 03:52:27 +00:00
977aaeb95c Streamlinining Bone Groups menu (Ctrl G)
The Ctrl-G menu for managing Bone Groups has always been a bit clunky,
especially when compared to the Hooks menu (Ctrl-H). This was because the old
menu was more data-orientated (Bone Group Management, Membership to these
groups) whereas this new arrangement should be a bit more task-orientated (Add
to new group, Add to active group, Remove from all groups, Remove active group).
2012-10-15 02:01:39 +00:00
643f331cb5 Rip-fill mesh tool (option for rip operator)
Alt+V will fill the area inbetween the ripped faces - a bit like extrude.
faces are flipped to match existing geometry and customdata (uv, vcols etc) is copied from surrounding geometry too.
2012-10-14 04:42:11 +00:00
ee67123748 code cleanup: minor edits on recent commit. 2012-10-13 11:23:04 +00:00
b6b2f37f27 Lattice Editing: Distortion-Free "Flip" Operator
This operator (Ctrl-F) allows you to flip the lattice coordinates without
inverting the normals of meshes deformed by the lattice (or the lattice's
deformation space for that matter). Unlike the traditional mirror tool, this
tool is aware of the fact that the vertex order for lattice control points
matters, and that simply mirroring the coordinates will only cause the lattice
to have an inverted deform along a particular axis (i.e. it will be scaling by a
negative scaling factor along that axis).

The problems (as I discovered the other day) with having such an inverted
deformation space are that:
- the normals of meshes/objects inside that will be incorrect/flipped (and will
disappear in GLSL shading mode for instance)
- transforming objects deformed by the lattices will become really tricky and
counter-intuitive (e.g. rotate in opposite direction by asymmetric amounts to
get desired result)
- it is not always immediately obvious that problems have occurred

Specific use cases this operator is meant to solve:
1) You've created a lattice-based deformer for one cartoonish eye. Now you want
to make the second eye, but want to save some time crafting that basic shape
again but mirrored.
2) You've got an even more finely crafted setup for stretchy-rigs, and now need
to apply it to other parts of the rig.

Notes:
* I've implemented a separate operator for this vs extending/patching mirror
transform tool as it's easier to implement this way, but also because there are
still some cases where the old mirroring seems valid (i.e. you explicitly want
these sort of distortion effects).
* Currently this doesn't take selections into account, as it doesn't seem useful
to do so.
2012-10-13 10:42:38 +00:00
4941f8ac44 added filter for user installed addons 2012-10-13 10:33:09 +00:00
f97dfdf227 quiet clang static checker warning by returning an error for invalid situation getting an IDProp mapping from a PyObject.
also print the path installed to when installing an addon.
2012-10-12 03:24:47 +00:00
d876e4876f Limit Distance Constraint - jpbouza Feature Request
The Limit Distance constraint is now allowed to use the owner/target space
settings. Previously this wasn't exposed it didn't seem sensible/useful.
However, this can be useful when dealing with dependencies between bones and the
armature gets scaled.

Usage notes:
- It is advised to select the same space for both owner and target, otherwise
the comparisons are meaningless
2012-10-11 08:26:49 +00:00
cb634b9100 Google Summer of Code project: "Smoke Simulator Improvements & Fire".
Documentation & Test blend files:
------------------
http://wiki.blender.org/index.php/User:MiikaH/GSoC-2012-Smoke-Simulator-Improvements

Credits:
------------------
Miika Hamalainen (MiikaH): Student / Main programmer

Daniel Genrich (Genscher): Mentor / Programmer of merged patches from Smoke2 branch
Google: For Google Summer of Code 2012
2012-10-10 13:18:07 +00:00
cc8c0d89e3 Graph Editor: Added a filtering option for Drivers mode to only show F-Curves
with errors

This filtering option is useful when rigging and you want to figure out if any
of your drivers are not functioning, and/or which one(s) are not, so that you
can go through fixing them. It saves you from having to check on each one
individually, or going into the console to try to infer which ones are not
working.
2012-10-10 08:46:07 +00:00
3606cd5216 Cosmetic: Changed label of the 'Install Addon...' Button to 'Install from File...' 2012-10-10 08:04:04 +00:00
d81d75b20d transfer weight's now operates on selected vertices (when vertex select is enabled). 2012-10-09 22:55:05 +00:00
08fc8c3561 Fixed wrong preset settings for motion tracking 2012-10-09 16:29:27 +00:00
cb42de588d Adding weightpaint transfer tool.
From: https://svn.blender.org/svnroot/bf-blender/branches/meshdata_transfer

Bachelor project at Narvik university collage (Norway).
By Ove M Henriksen (Cyborgmuppet)
 
Thesis will be published at Cyborgmuppets blender page.

Thanks for letting me participate!
2012-10-09 12:25:10 +00:00
8730b390fb patch [#31919] limit the number of bone deform weights per vertex. Many game engines require a limit of 4.
from Kesten Broughton (kestion)


Usage: In weight paint mode, select the mesh to have its weights culled. Click on "Limit Weights" button. A sub-panel will appear "Limit Number of Vertex Weights" with a slider field "Limit" which you can set to the appropriate level. The default level is 4, and it gets executed upon pressing "Limit Weights" so you will need to do an "undo" if your max bone limit is above 4. The checkbox "All Deform Weights" will consider all vertex weights, not just bone deform weights.
2012-10-09 10:56:35 +00:00
7247af6af5 svn merge ^/trunk/blender -r48592:HEAD 2012-10-09 10:53:20 +00:00
6712e74282 Motion Tracking; expose View All and Center to Current Frame to View menu of graph view 2012-10-09 10:33:24 +00:00
33f35647e9 Motion Tracking: move keyframe settings to per-tracking object settings 2012-10-09 10:33:18 +00:00
a2a9b6b9a3 Made the autokeying warning optional by adding a user pref for this
By default, this is enabled, so that newbie users who are most likely to be
caught short by this will get the benefits of this option, while seasoned
animators are likely to know where to go to turn things off (i.e. the scratch-
an-itch urge is quite a powerful motivating force...)
2012-10-09 00:59:40 +00:00
9fa36b12cc style cleanup: pep8 2012-10-08 08:28:05 +00:00
b2a5f28421 Follow Path Constraint - "Animate Path" Operator
Added a convenience operator to the Follow Path constraint which adds a F-Curve
for the path (or the operator's "fixed position" value if no path is assigned),
with options for setting the start frame and length of motion. This makes it
easier for common users to just set up a quick follow-path animation where the
camera (e.g. flying around a set over certain number of frames).

A key advantage of this is that it takes care of the underlying math required
for setting up the generator curve accordingly (I've got some plans for making
this a bit friendlier to use later). Now, animating the paths is a one-click
operation, with the start and length properties able to be controlled using the
operator properties.
2012-10-05 14:51:35 +00:00
00ce0c9aae Clean up in "add object" code:
* Get rid of ED_object_add_generic_invoke() and all invoke callbacks using it, it was doing nothing exec() callbacks would not do. In fact, its only action (setting part of common add ops properties, like loc, layers, etc.) was needed too by direct exec call, so it was done twice in case of using invoke()!
* Replace custom invoke code for metaballs by WM_menu_invoke helper (as already used by lamps).
* Add a new OBJECT_OT_empty_add op, to allow direct addition of empties of a given drawtype.
* And some general code cleanup (like trailing spaces, empty lines, ...).

Did quite a bunch of tests/verifications, but obviously could not tackle all possible scenarios... Anyway, if any, bugs should arize quite quickly (but I don’t expect any! :p ).
2012-10-05 12:59:09 +00:00
e5ec9f9f95 Quick fix for [#32764] Some new object types are added at the origin instead of the 3D cursor
Own fault (r50994). Those "add object" ops really need a cleanup to make them more consistent! Will try to see this tomorrow.
2012-10-04 20:59:47 +00:00
ab2a9de4b4 Add translation context for volume (Audio), pitch (Rotation) and rename tip->tooltip for custom properties
Tracked in [#31062] [2.6x] Context Ambiguity List & Discussion (keep updating)
2012-10-04 18:21:34 +00:00
b8231620a5 Bugfix [#32754] Clear Motion paths button not available on Motion paths panel
On second thought, perhaps it is more convenient/natural if this was shown in
both places, given that many
people may only find the motion paths options through the UI now.
2012-10-04 11:05:48 +00:00
d2833d9f0f Added convenience operator to clear animation (i.e. all keyframes = F-Curves)
from selected objects and bones
2012-10-04 10:58:03 +00:00
78d6288be3 correct spelling error in operator property 2012-10-02 13:13:26 +00:00
8fa211dd81 Fix [#32719] "New object align to view" option doesn't work on lamps and force fields
There was strange context changes in the Add menu... Now everything uses the EXEC_REGION_WIN one (no need to invoke here, and metaballs have a strange specific invoke func...). This fixes the problem when using Add menu from a 3D view. Obviously, it still doesn't work when used from Info window's header, but that can't be helped for now (and never worked for any kind of object).

Anyway, imho all this "add object" code could use some review/cleanup, both on py menu and C ops side, but this is obviously postponed to after 2.64!
2012-10-01 17:40:02 +00:00
3e24c25464 Fix #32686: MovieClip background initialisaton error
Undistorted rendering with original footage settings does not require proxies to be enabled.
2012-10-01 11:26:52 +00:00
fb2f249723 update UI introspection script for changes to blender. 2012-10-01 02:04:06 +00:00
435ab1710b Dupli layer visibility name can be clearer 2012-09-29 04:07:50 +00:00
4cf06b97dd Fix #32671: new orbit sensitivity and turntable/trackball choice was only available
from special NDOF menu, added them in user preferences as well now. Also made it do
proper version patch for conversion from old user preferences, and changed turntable
choice from a boolean to enum for consistency.
2012-09-28 12:37:14 +00:00
e116d3a7be Color Management: move "Color Unpremultiply" option to Color Management panel
from the Shading panel, since it's about color space conversion for renders.
2012-09-27 12:44:52 +00:00
8a51d235e6 pep8 cleanup 2012-09-26 21:19:51 +00:00
bb1987edd6 More tweaks to sequencer Header bar: make overlay also available in mix mode, and OpenGL render buttons in all modes! 2012-09-22 17:40:08 +00:00
b1ef5703d6 add a UV Project material option so UV's are calculated taking into account perspective matrix - previously this gave artifacts with lower poly meshes. 2012-09-22 04:57:55 +00:00
22e0ffa05b Added back "mesh.customdata_clear_skin"... followup for r50802 2012-09-21 22:33:43 +00:00
ecf6beb8d3 More fixes in Sequencer's View menu (thanks to Lockal for pointing those ;) ). 2012-09-21 15:19:26 +00:00
0916de7a02 Fix for r50790, removed operator printed error into the console... 2012-09-21 13:41:43 +00:00
1a4b9cd39d Fix for [#32595] N shortcut (view-properties) is not shown in preview mode in sequence editor.
Main problem was in py UI code (has to set the context to INVOKE_REGION_PREVIEW for the shortcut lookup to succeed). 

Also moved the N properties item into SequencerCommon keymap, and removed the View Selected menu entry from preview-only mode View menu (thx to Ejner Fergo for pointing this out).
2012-09-21 13:29:38 +00:00
fd44038ed7 remove sticky buttons from the UI, this functionality may be removed and has had no UI access since 2.49 2012-09-21 10:40:48 +00:00
1f8f7310e9 calculate sticky wasnt working very well and had a few glites -
updating data was only being done on the active object but sticly was being calculated for the selection.

split this into 2 operators, one that works on the selection and another that operates on the active object - so we can have a button in the mesh panels that calculates sticky.

also note that there was no way to calculate sticky from the UI - perhaps this feature should die a quiet death?

anyway - it works better then it used to for now.
2012-09-21 06:37:42 +00:00
b889e9c573 There was no way to remove mesh data layers from the interface - add a panel that works in object an editmode.
currently can remove sticky/mask/skin vertex layers.

regarding the skin layer - while adding and removing the modifier normally works fine, its not 100% reliable since the mesh may be linked into another scene, or be a linked duplicate and the object with the modifier deleted.
2012-09-21 03:41:59 +00:00
56476248b6 Fix #32601: armature select similar missing from select menu. 2012-09-20 00:10:26 +00:00
bd4de709fd UI: cosmetic tweak to render/animation/play buttons, align, change icon. 2012-09-17 10:54:50 +00:00
a73dd3476e Color Management, Stage 2: Switch color pipeline to use OpenColorIO
Replace old color pipeline which was supporting linear/sRGB color spaces
only with OpenColorIO-based pipeline.

This introduces two configurable color spaces:

- Input color space for images and movie clips. This space is used to convert
  images/movies from color space in which file is saved to Blender's linear
  space (for float images, byte images are not internally converted, only input
  space is stored for such images and used later).

  This setting could be found in image/clip data block settings.

- Display color space which defines space in which particular display is working.

  This settings could be found in scene's Color Management panel.

When render result is being displayed on the screen, apart from converting image
to display space, some additional conversions could happen.

This conversions are:

- View, which defines tone curve applying before display transformation.
  These are different ways to view the image on the same display device.
  For example it could be used to emulate film view on sRGB display.

- Exposure affects on image exposure before tone map is applied.

- Gamma is post-display gamma correction, could be used to match particular
  display gamma.

- RGB curves are user-defined curves which are applying before display
  transformation, could be used for different purposes.

All this settings by default are only applying on render result and does not
affect on other images. If some particular image needs to be affected by this
transformation, "View as Render" setting of image data block should be set to
truth. Movie clips are always affected by all display transformations.

This commit also introduces configurable color space in which sequencer is
working. This setting could be found in scene's Color Management panel and
it should be used if such stuff as grading needs to be done in color space
different from sRGB (i.e. when Film view on sRGB display is use, using VD16
space as sequencer's internal space would make grading working in space
which is close to the space using for display).

Some technical notes:

- Image buffer's float buffer is now always in linear space, even if it was
  created from 16bit byte images.

- Space of byte buffer is stored in image buffer's rect_colorspace property.

- Profile of image buffer was removed since it's not longer meaningful.

- OpenGL and GLSL is supposed to always work in sRGB space. It is possible
  to support other spaces, but it's quite large project which isn't so
  much important.

- Legacy Color Management option disabled is emulated by using None display.
  It could have some regressions, but there's no clear way to avoid them.

- If OpenColorIO is disabled on build time, it should make blender behaving
  in the same way as previous release with color management enabled.

More details could be found at this page (more details would be added soon):
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.64/Color_Management

--
Thanks to Xavier Thomas, Lukas Toene for initial work on OpenColorIO
integration and to Brecht van Lommel for some further development and code/
usecase review!
2012-09-15 10:05:07 +00:00
12da3d999b modifications needed to get a URL from an RNA id from the testing script 2012-09-13 00:26:01 +00:00
7b15620da0 fix [#32350] F11 play animation crash when UI language is not "Default"
this is a bug in boost 1.46, can remove this env var override when this version of boost is no longer supported.
2012-09-12 08:06:06 +00:00