As per discussion and analysis of all trackpad usage, we now
follow this convention:
- Blender follows system setting for trackpad direction preference.
- If you set your system to "natural" scroll, we need to invert a couple
of cases in Blender we do "natural" already. Like:
- view rotate (the inversed option just never feels ok)
- scroll active items in list or pulldown menu (up/down is absolute)
- ALT+scroll values in buttons (up/down is absolute)
The new User Preference setting "Trackpad Natural" handles this.
For 2.66 we only have trackpad handling for OS X... so this isn't
affecting trackpad usage in Windows and Linux, which stick to be mapped
to Scroll Wheel still.
(Note: viewrotate now is "natural" always, changing how it worked in the
past weeks).
from regular diffuse to more shiny, stone, wax, eflective, glass and two non-realistic ones.
The menu now shows it in 3 rows. I made the previews a bit smaller, 96 pixels,
like the brushes for painting.
Thanks everyone for submitting pics! I updated the credit file too, but name
from one person is missing still, will be added next.
This is needed because render result is being reused between different render
previews and keeping names out of sync means once preview result was created
for blender internal, it wouldn't be updated after switching to cycles.
Same goes to switching from cycles to other renderers like lux and yaf.
Simply updated cycles_preview.blend for now, could be solved from code side
as well, but IMO better to collect such a limitations of preview blend files
and solve them all together during "custom preview.blend for external engines"
project.
Reported by Jens in IRC.
* Disabling Skeleton Sketching now refreshes the view properly, so that strokes
don't linger on even after being disabled
* Added the delete operator to the panel
Although the bug report here wasn't exactly clear about what exactly was wrong,
it soon became apparent that the UI stuff here was in need of some love.
Changes:
* Ported over missing tooltips from 2.49 (i.e. most of them)
* Fixed a few incorrect tooltips (mostly the subdivision length settings)
* Made the autonaming and number/side settings slightly clearer - number/side
are used to replace placeholders in the names of template bones (&N and &S
respectively) when autonaming is disabled. When it is enabled, these values are
determined automatically.
Thought of setting the operator context before so it wouldnt invoke the confirmation dialog, but better leave it by default to confirm since it might be clicked by mistake and start dumping video/image-sequence and can get annoying.
draw_item *is* optional (it then uses default C function), even though there is not much sense to register a class without it, except for our default UI_UL_list!
Patch by Sergey, .blend by Thomas and some further tweaks by me.
Still to solve later: allow external engines to specify own preview .blend, for
now the code here is doing too much magic hacking on the preview scene still.
Previously it wasn't clear what it was supposed to be doing, or what was
required for it to work.
TODO: figure out why the operator redo settings panel won't work. The workflow
here is still a bit clunky.
(and marking rna as deprecated)
I talked with Benoit Bolsee and Mitchell Stokes and they both agreed that
the feature should be removed.
In case someone was actually using it the rna is still available. But next
release we remove both the rna, the DNA and the flag in the code.
I did a simple benchmark with tons of cubes, and the DBVT culling (use_occlusion_culling=True)
always perform better than when it's off. Even when no occluder objects are in the scene.
Also generate rigid body constraint types in py bullet code from RNA enum values (simpler than having to sync the code when something is changed here!).
Side note: RNA API about icons still needs to expose icons for enum values, and conversion funcs between icon_name and icon_value!
Oops! So there was an Unpack button, hidden in the Nkey properties of Image window.
This was drawn next to greyed-out buttons, didn't notice it well.
I also now found the unpack() menu in editors/util, and there's an Image unpack op.
Also the RNA api has an unpack!
Will remove the generic unpack op, and add a sound and vfont unpack instead.
Now all add/remove operators for rigid body objects and constraints
automatically add objects to the appropriate groups and create groups if they
don't exist yet.
This makes handling rigid bodies easier but doesn't take away functionality.
If users want to handle groups manually they just need to create them before
adding any objects.
The previous behaviour was confusing and was even considered to be a bug since
clicking on rigid body in the physics tab seemed to do nothing.
This means the deformation on the input to the modifier can be re-applied ontop of the mesh cache.
In practice this is most useful for using corrective shape-keys with mesh-cache.
Added "Panel Title" style to Theme settings.
Allows to make these nice larger or draw differently.
Also tried to put hinting in Style, but this needs to be a per-font
setting. uiFont data is still not being saved (also not allowing
to set own font files for UI). That's a todo for 267 then.
* Code cleanup for new Rigid Body panels.
* Removed some unneeded split() calls.
* Remove redundant check for "ob.rigid_body_constraint" in the draw() function of the "Rigid Body Constraint" panel. The check is already made in the poll.
Behaves like the generic constraint but has optional spring on each axis.
TODO: Add option to set rest length.
Patch by Markus Kasten (markus111), thanks!
Constraints connect two rigid bodies.
Depending on which constraint is used different degrees of freedom
are limited, e.g. a hinge constraint only allows the objects to rotate
around a common axis.
Constraints are implemented as individual objects and bahave similar to
rigid bodies in terms of adding/removing/validating.
The position and orientation of the constraint object is the pivot point
of the constraint.
Constraints have their own group in the rigid body world.
To make connecting rigid bodies easier, there is a "Connect" operator that
creates an empty objects with a rigid body constraint connecting the selected
objects to active.
Currently the following constraints are implemented:
* Fixed
* Point
* Hinge
* Slider
* Piston
* Generic
Note: constraint limits aren't animatable yet).
Add operators to add/remove rigid body world and objects.
Add UI scripts.
The rigid body simulation works on scene level and overrides the
position/orientation of rigid bodies when active.
It does not deform meshes or generate data so there is no modifier.
Usage:
* Add rigid body world in the scene tab
* Create a group
* Add objects to the group
* Assign group to the rigid body world
* Play animation
For convenience the rigid body tools operators in the tools panel of the 3d view
will add a world, group and add objects to the group automatically so you only have
to press one button to add/remove rigid bodies to the simulation.
Part of GSoC 2010 and 2012.
Authors: Joshua Leung (aligorith), Sergej Reich (sergof)
Add read/write/interpolate functions.
In order to get rigid body point cache id from object it's now required to pass the
scene to BKE_ptcache_ids_from_object().
Rigid body cache is drawn in the orange color of the bullet logo.
removing non-GE supported features.
The idea of splitting the draw() function comes from Campbell Barton.
Review from him as well.
The main reason for not implement this in properties_games.py is to make sure the
panel is in the same order for both BI and BGE engines.