Commit Graph

2595 Commits

Author SHA1 Message Date
Martin Poirier
2ad69c23a0 netrender: UI layout reorganization and prettifying. Also better operator descriptions (tooltips). Based on a patch by DingTo. 2010-01-05 20:47:23 +00:00
Brecht Van Lommel
73f84b24fc Particles:
* Fix crash in mirror tool.
* Added X Mirror option back to the UI, flag is now same as the
  one for edit and paint modes, stored in the mesh.
2010-01-05 15:23:09 +00:00
Campbell Barton
cce1d178b8 obscure feature: Display Custom Bone Shape at another bones transform.
Brecht and I took a fair bit of convincing on this one however Cessen was jumping through hoops to do without this feature.
Having the shape being an external mesh deformed by its own armature, which were both hidden but in the same layer *(so the depgraph would update them).
Without this some of the bones in the rig also dont make much sense when animating with.
2010-01-05 11:47:43 +00:00
Thomas Dinges
c95ad12dac Netrender:
Tooltips for chunks/priority were swapped.
2010-01-04 22:41:21 +00:00
Joshua Leung
a9861e3381 Durian Request: Drivers Recode
Highlights:
* Support for Multi-Target Variables
This was the main reason for this recode. Previously, variables could only be used to give some RNA property used as an input source to the driver a name. However, this meant that effects such as Rotational Difference couldn't be used in conjunction with other effects and/or settings to achieve the powerful results. Now, a variable can take several input targets, perform some interesting operations on them, and spit out a representative value based on that.

* New Variable Types
With the introduction of multi-target variables, there are now 3 types of variable that can be used: single property (i.e. the only type previously), Rotational Difference (angle between two bones), and Distance (distance between two objects or bones).

* New Driver Types
In addition to the existing 'Average', 'Sum', and 'Expression' types, there is now the additional options of 'Minimum' and 'Maximum'. These take the smallest/largest value that one of the variables evaluates to.

* Fix for Driver F-Curve colouring bug 
Newly added drivers did not get automatically coloured in the Graph Editor properly. Was caused by inappropriate notifiers being used.


Notes:
* This commit breaks existing 2.5 files with drivers (in other words, they are lost forever). 
* Rigify has been corrected to work with the new system. The PyAPI for accessing targets used for the variables could still be made nicer (using subclassing to directly access?), but that is left for later.
* Version patching for 2.49 files still needs to be put back in place.
2010-01-04 21:15:45 +00:00
Campbell Barton
c79cf56b69 dict.get() defaults to None as the second arg. no need to supply it. 2010-01-04 21:10:51 +00:00
Martin Poirier
2034a77a45 netrender: reset server address on client when server is offline (on file load) as well as clear local caches (for slaves and jobs) 2010-01-04 21:05:52 +00:00
Brecht Van Lommel
29f90af19c Fix: curve reset for brushes now gives proper smooth curve as default,
also moved brush curve presets code into curvemapping code.
2010-01-04 17:28:37 +00:00
Campbell Barton
8af456313a dupli faces inherit scale wasnt using the right flag internally.
renamed...
 dupli_frames_no_speed --> use_dupli_frames_speed
 dupli_verts_rotation --> use_dupli_verts_rotation
 dupli_faces_inherit_scale --> use_dupli_faces_scale
2010-01-04 17:27:23 +00:00
Brecht Van Lommel
5dd7b4d490 Sculpt:
* Fix #20482: grab brush + size pressure sensitivity don't work
  together, disabled the pressure sensitivty for that case now.
* Fix for smooth brush messing up mesh sometimes, smooth factor
  is now clamped to reasonable range.
* Fix #20449: smooth brush + mirror modifier could crash.
2010-01-04 16:53:32 +00:00
Brecht Van Lommel
e67df065b8 Fix #20561: keymap editing after using search could edit wrong keymap item. 2010-01-04 16:48:14 +00:00
Campbell Barton
589b2b4ca8 object.group_users, object.scene_users
utility functions to find the groups and scenes this object is used in.

button to set the group location from the cursor (UI is horrible but not any nice place to add?)

smarp project would fail if there were linked meshes in the scene, made ID.tag ignore the library, so you can tag linked data since its only for tools to use.

normalize the vertex normal before setting and use inline vector functions.
2010-01-04 15:37:22 +00:00
Campbell Barton
de7ee99674 WM_OT_context_set_* - more compact and check for the relative option without exception handling. 2010-01-04 08:24:24 +00:00
Matt Ebb
7a67b662bd * Tweaks for node editor Make Links (F key)
Testing a new method that hopefully will be faster to use than finicky socket 
selection - now just select multiple nodes and press F - available output sockets 
on the selected nodes will get automatically connected to the active node.

It works for one socket type each time, to avoid getting lots of extra connections 
when you join up, but as a shortcut you can easily press F again to connect up 
other socket types. For example, to connect a render layer node (with vector pass) 
to a vector blur node, select the render layer then the vector blur, and press F 
three times to connect up the Image, Z and Vector sockets. It now also 
preferences sockets with the same name to connect up first.

There's also another option (ctrl F) which will replace existing input links, rather 
than only connecting up links to available input sockets.


* Also changed socket link knife cut to a more convenient shortcut - Ctrl LMB tweak
2010-01-04 04:26:28 +00:00
Matt Ebb
3881bb5309 Fix for previous commit - broke WM_OT_context_set_* operators for non float/int types. 2010-01-04 01:39:37 +00:00
Matt Ebb
1cbe3c06d6 * Added new hotkeys [ and ] to decrease/increase brush size by 20 in all paint modes.
The actual value to increment/decrement by can be customised in key maps.
2010-01-04 00:18:08 +00:00
Janne Karhu
c6e40798fb Stickness factor for particle collisions, patch submitted by Raul Fernandez Hernandez (farsthary). 2010-01-03 14:51:34 +00:00
Campbell Barton
24a2c6e9bc bound box check for retopo grease pencil convertsion before spline intersection checking 2010-01-03 13:17:12 +00:00
Matt Ebb
7a33b5ce72 Tweak to group operator naming 2010-01-03 08:38:42 +00:00
Matt Ebb
251ef0a47f Changes to Brush texture workflow
This changes how textures are accessed from Brushes, with the intention of simplifying 
the workflow, and reducing the amount of clicking. Rather than the previous texture slots 
(which didn't work as a stack anyway), brushes now have a single texture linked. Rather 
than taking time having to set up your slots in advance, you can now select and change 
textures directly as you sculpt/paint on the fly. For complex brushes, node textures can 
be used, or for fast access, it's easy to make a duplicate of your brush with the texture 
you like and assign a hotkey.

Brush textures can now be chosen from a new Textures panel in the brush tool 
properties - click on the thumbnail to open a texture selector. This is done using a new 
variation on the ID template - the number of rows and columns to display in the popup 
can be customised in the UI scripts.
2010-01-03 08:37:18 +00:00
Campbell Barton
9bda43ed27 - WM_OT_context_cycle_int wasnt working (also wasnt used anywhere)
- remove console zoom operator, use WM_OT_context_cycle_int instead.
- use WM_OT_context_cycle_int for text editor zoom also (Ctrl +/- and Ctrl+MouseWheel)
2010-01-03 02:24:53 +00:00
Campbell Barton
18d37648ba grease pencil retopo improvement: join lines when endpoints match are close and are co-linear within some error limits.
still very slow, needs some speedups.
2010-01-03 01:30:07 +00:00
Campbell Barton
d8d11c55d9 patch from Cessen
Adds a new set of bones to rig types which are to be used for weight paint vgroups, in some these have some more segments to account for twist. also use Aligoriths new copy transform constraint.
2010-01-02 23:43:46 +00:00
Campbell Barton
04d0261c37 new python submodule. eg.
from bpy.app import binary_path, version, version_string, home

can add constant variables from blender here as needed (maybe functions too... bpy.app.memory_usage() ?)
2010-01-02 23:14:01 +00:00
Campbell Barton
e7d863cee5 editbone.transform(matrix) function, requested by Cessen.
Also added matrix.median_scale attribute to get the average scale from the matrix, use for scaling bone envalopes.
2010-01-02 22:47:56 +00:00
Campbell Barton
cef8b2088f sphinx support for documenting multiple return values 2010-01-02 18:55:07 +00:00
Joshua Leung
a7d268d38e Cessen Rigging Request: "Copy Transforms" Constraint
This constraint simply copies the transformation matrix of the target, and assigns it to the owner.
2010-01-02 04:14:17 +00:00
William Reynish
f1d49715a6 Simplified bake panel layout, and made it work with single column UI. 2010-01-01 22:32:07 +00:00
Joshua Leung
3fa927a42e DopeSheet/Action Editor: Fixed operator name that did not get correctly during the operator renaming fixes done by Campbell's script 2009-12-31 23:56:45 +00:00
Martin Poirier
7c4e510492 netrender: edit balancing rules limits and enable/disable them from the web interface 2009-12-31 19:11:46 +00:00
Campbell Barton
b800fbd13f - modify the baking layout to be more compact and made a bit more sense.
- add back quad split order option.

note: tested displacement baking and found it matches 2.4x. there is still a missing check which ignores the active object when baking selected to active but Im not sure in what cases this is needed.
2009-12-31 10:07:59 +00:00
Campbell Barton
453945e9e3 remove python api cruft from custom operator registration 2009-12-30 22:51:44 +00:00
Martin Poirier
b00cddeb66 Macro registration using the normal rna registration methods (like operators).
bpy.types.register(MacroClass)

instead of

bpy.ops.add_macro(MacroClass)

The rest is unchanged.

Also remove some now unused code for the old registration methods (there's still some remaining).
2009-12-30 22:14:32 +00:00
Campbell Barton
c72089df50 - deform types for copy, arm and leg, patch from Cessen (with slighy modifications)
- bone.center attribute
2009-12-30 18:39:02 +00:00
Joshua Leung
a4913896b8 Floor Constraint: Evaluation space options are now available for this constraint too 2009-12-30 10:29:26 +00:00
Campbell Barton
010e3fccb2 bake operator and UI, no feedback while baking yet 2009-12-29 18:55:38 +00:00
Dalai Felinto
e37e3845a1 BGE: stereoscopic settings changes: (1) eye separation is the UI (2) focallength uses camera focallength
Now the default eye separation value is 0.10 (reasonable for games with 1 meter == 1 B.U.
The focallength used is the camera focal length (DOF settings). It allow you to even use different focal lengths for different scenes (good for UI)

In order to change it you can change the camera focal length or use Rasterizer.setFocalLength.
If you use the Rasterizer method it will use this value for all the cameras.

ToDo:
- Blenderplayer settings
- Update wiki documentation (any volunteer)?

* Note to stereo fans:
I don't have a real stereo environment to test it (other than cheap cyan-red glasses). If you can give it a try in a more robust system and report bugs or problems with BGE current system please let me know. I would be glad to help to make it work 100% by the time Blender 2.5 is out.

For the record, BGE is using the method known as 'parallel axis asymmetric frustum perspective projection'. This method is well documented here:
http://local.wasp.uwa.edu.au/~pbourke/miscellaneous/stereographics/stereorender/
2009-12-29 15:47:20 +00:00
Thomas Dinges
d5cef9a30d * More small modifier tweaks. 2009-12-29 12:53:30 +00:00
Thomas Dinges
8292043aeb * Some layout tweaks for the Solidify Modifier. 2009-12-29 12:04:37 +00:00
Campbell Barton
58b1591ceb netrender tab to spaces 2009-12-29 00:04:57 +00:00
Martin Poirier
54d64c4763 netrender: show web interface button in all modes. use rna decorator all the time (no need for special operator decorator) 2009-12-28 22:49:22 +00:00
Campbell Barton
8177f343a0 - object.add_shape_key(name="Key", from_mix=True)
- ensure new shape key names are unique
- Transfer ShapeKey now can have its settings changes (redo operator)
2009-12-28 18:03:04 +00:00
Campbell Barton
e09d77507e remove operators WM_OT_open_recentfile and WM_OT_open_recentfile_splash
use a python menu instead.
2009-12-28 10:44:02 +00:00
Campbell Barton
98f1d6957e new python module constants
* bpy.home - result of BLI_gethome()
* bpy.version - BLENDER_VERSION/100, BLENDER_VERSION%100, BLENDER_SUBVERSION
* bpy.version_string, as above, formatted: "%d.%02d (sub %d)"
2009-12-28 10:00:04 +00:00
Matt Ebb
5f329190c9 Added 'Add New' buttons to key maps shown in filtered mode.
Also on adding new, it expands the key map category and clears the 
filter so you can see the newly added item.
2009-12-28 09:19:32 +00:00
Matt Ebb
78aa924206 Change to the way brush/tool selection works, as discussed a while ago
Now, there are preset brushes made for each tool type (eg. for sculpt mode, Grab, 
Draw, Inflate, etc), and the recommended method for changing sculpt tools is to 
change between Brushes. The shortcut keys for changing between tools have 
now been changed to change between named brushes - the G key in sculpt 
mode now changes to any brush named 'Grab'.

The advantages of this are:
* Changing between brushes remembers the strength/size/texture etc settings for 
each brush. This means that for example, you can draw with a strong textured 
Clay brush, but then switch quickly to a weaker, untextured Smooth brush, 
without having to re-do your settings each time.
* You can now add your own custom shortcut keys to your own custom brushes - 
just add a keymap entry similar to the existing ones, that references your own 
custom brush names.

To bring over these new default brushes to an existing B.blend setup, just 
append them in from the new B.blend in svn.
2009-12-28 01:27:05 +00:00
Jens Ole Wund
ff31d2d65c Try to get soft body to curve working 2009-12-28 00:07:24 +00:00
Campbell Barton
351f5d1837 - loading missing files didnt give any warning
- shape key transfer poll function
2009-12-27 23:29:34 +00:00
Campbell Barton
0767cdd4a0 Transfer Shape Key
Useful if you have 2 different characters with the same base mesh (matching indicies), and want to copy a facial expression for eg, from one to another.
Durian request to re-use shapes between characters. 

* Copies the active shape to other selected objects
* Different methods to apply the shape
* * OFFSET, simple translation offset
* * RELATIVE (EDGE/FACE), Use Barycentric transformation to copy the shape. This means the target mesh can be a different orientation and scale and the shape should still apply since the surrounding geometry is used as a basis for the offset.

bug: barycentric transform's depth was inverted.

Note:
* This isnt added into a menu yet,
* This cant be redone since adding a shape key messes up the redo stack. needs fixing for other scripts too.
2009-12-27 11:14:06 +00:00
Campbell Barton
5689ab3975 classmethods were excluded from docs, hide self & cls arguments for functions and class methods,
made some rna ui funcs not display as optional.
2009-12-26 17:49:08 +00:00