Commit Graph

516 Commits

Author SHA1 Message Date
2d06f79ff9 svn merge -r 13177:13240 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-01-15 13:00:29 +00:00
d660e29365 === Custom Transform Orientation ===
Custom Orientations can be added with Ctrl-Shift-C (hotkey suggestions are welcomed), this adds and select the new alignment. Custom Orientations can also be added, deleted, selected from the Transform Orientations panel (View -> Transform Orientations). Standard orientations (global, local, normal, view) can also be selected from this panel.

If you plan on using only a single custom orientation and don't really need a list, I suggest you use the hotkey as it adds and selects at the same time.

Custom Orientations are save in the scene and are selected per 3D view (like normal orientation).

Adding from an object, the orientation is a normalized version of the object's orientation.
Adding from mesh data, a single element (vertex, edge, face) must be selected in its respective selection mode. Vertex orientation Z-axis is based on the normal, edge Z-axis on the edge itself (X-axis is on the XoY plane when possible, Y-axis is perpendicular to the rest). Face orientation Z-axis is the face normal, X-axis is perpendicular to the first edge, Y-axis is perpendicular to the rest.
(More logical orientations can be suggested).

I plan to add: 2 vertice (connected or not) => edge orientation , 3 vertice = face orientation

Differences from the patch:
- orientations no longer link back to the object they came from, everything is copy on creation.
- orientations are overwritten based on name (if you add an orientation with the same name as one that already exists, it overwrites the old one)
2008-01-13 18:24:09 +00:00
5b0b214407 resolving back compatibility issues 2008-01-10 00:07:31 +00:00
43cd8a9f71 svn merge -r 13148:13177 https://svn.blender.org/svnroot/bf-blender/trunk/blender + fixed one crash on enabling deflection 2008-01-09 12:04:54 +00:00
974819aa03 Bugfix #8068: StretchTo constraints once again messed up
Removed the version-patches to reset the rest-lengths of StretchTo constraints when loading old files. I can't remember why I added these in the first place, but they seem to cause problems from time to time...
2008-01-08 23:11:32 +00:00
745c3a2f5e == Multires ==
Fixed loading files with multires from 2.45. Fixes bug #8056.
2008-01-08 09:25:50 +00:00
86d8ef3f91 svn merge -r 13095:13148 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-01-07 03:25:11 +00:00
8d6bbf7635 Merged back with last version where collisions worked at least a bit (rev 12296). Also merged fixes (hopefully). 2008-01-07 03:20:43 +00:00
861d5e57a5 displace modifier wasnt loading in linked textures/objects. missing calls to expand_doit 2008-01-02 18:44:13 +00:00
a9c36825aa svn merge -r 12937:13095 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-01-02 14:36:46 +00:00
5be2e5aa98 == PoseLib - Overhauled Implementation ==
Based on feedback from Ton, I've recoded the way "PoseLibs" are implemented/exposed. Therefore, quite a bit of code has been changed to fit this in better.

Now, ANY ACTION can be a "PoseLib". A set of Markers which belong to the Action (it's taken a year, but they're finally back), are used to tag "poses" in the Action. These markers are shown using diamond-shaped blue icons (designed by Matt Ebb) in three shades - unselected/normal, selected, active. 

Notes:
* Each Armature Object has an Action which acts as a PoseLib.
* Improved UI presented in buttons panel for this
-- added proper buttons for action assigning
-- renamed "Validate PoseLib" to "Auto-Sync PoseLib" (this option auto-tags poses based on keyframes found) 

Like in the 3d-view, use the hotkeys:
* Shift-L to add a local marker 
* Ctrl-Shift-L to rename a local marker
* Alt-L to delete selected local markers

Note: transforms, etc. are not currently available with these markers 

== PoseLib Preview ==
Added a few features here:
* Left/Right-Arrow keys now change the poses too (previous and next respectively)
* Up/Down-Arrow keys also change the poses, but "jump" to a pose 5 steps away in their respective directions
2007-12-30 12:08:28 +00:00
4a0dc8d4d9 Bugfix - Socket selection status was not updated properly on file load
This commit adds a missing initialization that caused "Toggle Link (f key)"
not to work properly in case a file with an existing selection status was
opened.
2007-12-28 08:04:37 +00:00
fc2cf13fc6 == Sculpt ==
Fixed a memory leak when using the interactive brush resize tool.
2007-12-26 23:08:00 +00:00
10b8237eab == PoseLib - Pose-Library Tool for Blender ==
"A slightly late Christmas present for the Animators out there :-)"

This tool allows animators to store frequently used poses in an action, and be able to label those poses to help them retrieve them later. In a way, it acts as a glorified clipboard for poses.

One of the cool features with this is the ability to select which stored pose to use interactively in the 3d-view. Once a few poses have been stored in the PoseLib, simply use the "Ctrl L" hotkey to start previewing. Use the Mousewheel or the Page Up/Down keys to change poses, and confirm/cancel the preview in the same way as you do for transforms.

Usage Notes:
* Each Armature may get its own PoseLib. PoseLibs are simply actions with extra data, so they can get relinked.
* Manually editing actions used as PoseLibs is not a good idea, as some data may not be able to be found. Tools to automagically find poses in an action could be investigated...
* PoseLib will only apply/retrieve poses to/from selected bones
* A basic UI for this can be found in the "Links and Materials" panel. Most of the PoseLib tools are presented there.

Useful Hotkeys (also found in Pose->PoseLib menu):
* Ctrl L  - interactively preview poses
* Shift L - add a new pose or replace an existing pose in the PoseLib with the current pose
* Ctrl Shift L - rename an existing pose in the PoseLib 
* Alt L - remove a pose from the poselib.c
2007-12-26 11:17:26 +00:00
88e71a5b79 == Multires ==
Cleaned up bad level calls for multires; moved most of multires functions to blenkern, where they should have been in the first place. Functionality of the tool is unchanged.
2007-12-26 09:39:15 +00:00
a3a88f9591 == Sequencer (includes a little bit of Peach :) ==
Reworked image / movie loading, to add the following features:

- Mute strip
- Lock strip (peach request :)
- Crop / Translate _before_ image rescaling
- N-keys editing of start, startofs, endofs, startstill, endstill

Added (currently disabled) data structures for

- proxy support
- strip blend modes (currently only "REPLACE" works, which always did :)

Planed:

- automatic FPS rescaling
- command keys to lock/mute a bunch of selected strips 
  (which would complete the peach request to lock tracks)

Caveats: now the N-keys dialog is four-tabbed. I think, we should move those
tabs into the panels dialog in the future...
2007-12-25 15:31:36 +00:00
801c0799c1 == Sculpt Mode ==
Applying Stephan Kassemeyer's patch (#6750) to add a curve modifier for sculpting.

A few changes from the patch:
* The default curve is closer to the old behavior
* Fixed loading files already saved in sculpt mode
* Changed the interface; split the brush texture controls off into a third sculpt tab, and put the curve (and curve reset) into the Brush tab.
2007-12-20 19:07:47 +00:00
0f2b2e3c60 Strand Render Simplification
============================

- Strand render now has options to remove child strands as
  the object's faces becomes smaller, in the Simplification
  particle panel.
- "Reference Size" is the approximate size of the object on
  screen, after which simplification starts.
- "Rate" is how fast strands are removed.
- "Transition" is the percentage of strands being faded out as
  they are removed.

- Another "Viewport" option removes strands on faces that are
  outside of the viewport. "Rate" again controls how fast these
  are removed.

- Strand render in Blender Units now has an adjustable minimum
  width. Below this minimum width, strands start fading out
  instead of getting smaller.
2007-12-20 16:35:27 +00:00
a8a5776160 svn merge -r 12856:12937 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2007-12-18 17:29:35 +00:00
84b58f8653 Particles
=========

- The render and realtime button for the particle system modifier
  and the enabled button for particles now work seperate again,
  made a bad design decision to tie them together. Now with only
  the render button and not realtime enabled it renders.
- Fix for bug #7948: particle mode crash while constraining axis.
- Fix for bug #7945: crash loading effector groups from an old file.
- Fix for bug #7942: crash for reactor particles emitting from particles.
2007-12-18 16:55:09 +00:00
cf59579d44 svn merge -r 12716:12856 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2007-12-12 17:58:06 +00:00
5e3f4c20bb Increment subversion to deal with skeleton generation correctly.
Bug reported by Brecht on IRC.
2007-12-11 21:39:31 +00:00
be354c3d09 Merge from Harmonic Skeleton branch
This code adds a basic and simple skeleton generator.

Examples and links are in the wiki, docs will come eventually: http://wiki.blender.org/index.php/User:Theeth/skeletor

In a nutshell, select a vertex at the top of the head and press "Generate Skeleton". UI Panel is in the Editing buttons in Edit Mode, tooltips and semi-useful.
2007-12-10 21:14:19 +00:00
be7192c0bd == NLA - Scale Related Fixes ==
* Old files now get initialised with the correct scale. The wrong calculation was being used

* Added a new tool to Alt-S menu: "Apply Scale"
This tool causes all the keyframes in the active strip to be moved to their NLA-scaled times, the scale to be set to 1.0, and the frame ranges recalculated accordingly (to remove any nasty weird errors)

* Scale field now draws red when the action-range is < 1, and the tooltip in this case instructs the user how to fix this (by using "Apply Scale").
2007-12-07 10:50:02 +00:00
ab02e9140e == NLA - Scale Setting for Strips ==
NLA-Strips now have a new setting: Scale. 

It determines how much the action-range is scaled for each repeat, instead of the scaling being implicitly determined based on repeats + strip-length. 

One of the instant benefits of this, is that when increasing the number of repeats, the strip length increases by the right amount. Thus, increasing the number of repeats retains a constant speed.

Hopefully we can prevent weirdly scaled actions this way. (i.e.  0.00001 frames long action * 10000 or so)

Todo:
- Transform code needs to be able to set the scale setting (it doesn't yet)
- Add a new option to "apply scaling", to fix up problems with old files that have really bad scaling. Situations when this is needed could get indicated in the interface too... (red background for "Scale" field?)
2007-12-07 04:24:02 +00:00
32a8b4f8e6 Particles
=========

- Fix crash in particle transform with the particle system not editable.
- Particle child distribution and caching is now multithreaded.
- Child particles now have a separate Render Amount next to the existing
  Amount. The render amount particles are now only distributed and cached
  at render time, which should make editing with child particles faster.

- Two new options for diffuse strand shading:
	- Surface Diffuse: computes the strand normal taking the normal at
	  the surface into account.
	- Blending Distance: the distance in Blender units over which to
	  blend in the normal at the surface.
- Special strand rendering for more memory efficient and faster hair and
  grass. This is a work in progress, and has a number of known issues,
  don't report bugs to me for this feature yet.

More info:
http://www.blender.org/development/current-projects/changes-since-244/particles/
2007-12-04 13:57:28 +00:00
71e4b3ce22 Another Proxy Armature bugfix:
- Library referencing didn't add the new local Ipo for constraints
- Proxy command didn't set the driver object in constraint ipo to be 
  the new proxy object.
2007-12-02 18:33:14 +00:00
6a9c6674ca Particles
=========

Bugfix for crash with disabling the particles system and saving/loading
files, the way it detected if the mesh had changed could not work correct.
2007-12-02 15:54:54 +00:00
448a423288 Bugfix in library linking and subversions (#2)
Now reading files with many references to other files uses correct
version patching.
2007-12-01 14:36:06 +00:00
45c41ffb69 Two fixes:
- new option for Local Constraint Ipos did not set user counter in
  Ipo at file reading, causing data to get lost (not saved).

- Driver feature: the channels "Loc X Y Z" now also use the result
  of constraints, but transformed back into local space, as if it 
  was action X Y Z. Nice stuff for those who understand this... 
  it means you can drive something with a bone that has constraints.
2007-12-01 10:48:33 +00:00
587b2d0d3a Fileversions now have subversions (like 2.45.10), this was not correctly
supported with library referencing yet.
2007-11-30 15:12:31 +00:00
a4c17c7c88 anim.c, buttons_object.c, readfile.c, BKE_blender.h - dupliFace scale option, needed for leaves.
modifier.c, BKE_modifier.h - flag for modifiers to say they use pointcache, also new func modifiers_usesPointCache
renamed //pointcache to //blendcache_blendfilename so blendfiles in the same dir dont conflict, and other to show this dir isnt limited to pointcache only (nodes way want to use this)
wizard_curve2tree.py - better defaults for pretty tree's
2007-11-30 10:38:59 +00:00
e9c9bf5bdb svn merge -r 12691:12716 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2007-11-29 12:40:53 +00:00
561319989e Render Baking
=============

A new "Selected to Active" option in the Bake panel, to (typically) bake
a high poly object onto a low poly object. Code based on patch #7339 by
Frank Richter (Crystal Space developer), thanks!.

Normal Mapping
==============

Camera, World, Object and Tangent space is now supported for baking, and
for material textures. The "NMap TS" setting is replaced with a dropdown
of the four choices in the image texture buttons.


http://www.blender.org/development/current-projects/changes-since-244/render-baking/
2007-11-28 22:21:12 +00:00
36f7da7046 Tiny feature, but loadsa code, and big impact for the Blender riggers:
-> Constraint Influence Ipo now can be local, linked to constraint itself

You enable this in the IpoWindow header, with the Action icon to the left
of the Ipo Type menu. The button tooltips give the clue as well.

Tech note: the Ipo now can get directly linked to a constraint, and is
being called during regular pose constraint solving.
Actions (and drivers in actions) are being calculated *before* pose 
constraint solving. Result of actions then is written in bones, which
then solves the entire pose.
This means you can have a driver on both the constraint, as on the action
channel for the constraint! Not that I'm going to debug that easily :)

Additional fix: Joshua added a copy/paste IpoCurve feature, but he broke
the functionality to be able to paste in an empty ipo channel. That now
works again
2007-11-28 12:11:06 +00:00
24beb8fb8c Adding spatial symmetry detection limit (used to differentiate between purely topological symmetries and potential spatial symmetries that should be restored by merging symmetric arcs).
Also shortening the names in the UI a bit and some rewording or tool tips.
2007-11-27 21:50:06 +00:00
3da97e27c6 Particles
=========

- Fix for child particles disappearing with right mouse drag translation.
- Added partial cache updates for selection, should make it a bit faster.
2007-11-27 17:20:35 +00:00
d53f147b7b Particles
=========

- Fix for bug in emission from vertices.
- Fix for undo/redo refresh glitch.
2007-11-27 16:16:47 +00:00
41745b8a50 Particle merge: svn merge -r 12653:12664 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2007-11-26 23:11:07 +00:00
7da56f4a9b Particles
=========

Merge of the famous particle patch by Janne Karhu, a full rewrite
of the Blender particle system. This includes:

- Emitter, Hair and Reactor particle types.
- Newtonian, Keyed and Boids physics.
- Various particle visualisation and rendering types.
- Vertex group and texture control for various properties.
- Interpolated child particles from parents.
- Hair editing with combing, growing, cutting, .. .
- Explode modifier.
- Harmonic, Magnetic fields, and multiple falloff types.

.. and lots of other things, some more info is here:

http://wiki.blender.org/index.php/BlenderDev/Particles_Rewrite
http://wiki.blender.org/index.php/BlenderDev/Particles_Rewrite_Doc

The new particle system cannot be backwards compatible. Old particle
systems are being converted to the new system, but will require
tweaking to get them looking the same as before.

Point Cache
===========

The new system to replace manual baking, based on automatic caching
on disk. This is currently used by softbodies and the particle system.

See the Cache API section on:
http://wiki.blender.org/index.php/BlenderDev/PhysicsSprint

Documentation
=============

These new features still need good docs for the release logs, help
for this is appreciated.
2007-11-26 22:09:57 +00:00
638b95634e svn merge -r 12607:12653 https://svn.blender.org/svnroot/bf-blender/trunk/blender + add OpenMP for msvc/gcc to scons, cmake and Makefiles (libs + compiler flags are still missing in Makefiles) 2007-11-22 20:28:24 +00:00
11fc4432b9 Adding subdivisions by correlation.
This is much nicer than subdivision by angle but is somewhat less intuitive for users.

Added Bucket arc iterator, removing a lot of weird duplicated code in skeleton generator.
2007-11-20 22:25:25 +00:00
dc6ac56d31 General cleanup in sequencer:
- Seperated StripData into
  StripData
  TStripData
  where StripData holds only image-filenames and TStripData holds
  the working information needed for ImBuf caching.
  => Large drop in memory usage, if you used a lot of movie and meta strips.
  => Fixed bugs in "duplicate" on the way (imbufs where copied around without
     taking reference counting seriously...)
  => Code is much cleaner now
- Added defines for TStripData->ok
  Finally figured out, what the magic values ment and named them properly :)
- Got rid of Sequence->curelem.
  Reason: very bad idea(tm) for multi threading with more than one render
  thread. Still not there, but this was a real show stopper on the way.
2007-11-18 17:39:30 +00:00
04e3046824 svn merge -r 12496:12607 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2007-11-16 14:41:07 +00:00
057060967e Fixed DNA issue, some optional SSE stuff in (experimental, only 2 functions => not likely to be ever in trunk), BE AWARE: not compatible with old cloth files, many fixes in general, deactivated selfcollisions due to WIP 2007-11-16 14:24:43 +00:00
fa8032ce31 Bugfix in MeshDeform file reading, should check for NULL pointer case... 2007-11-14 16:20:19 +00:00
166cc3110d Fixing up angle based subdivisions.
Adding symetry detection (right now, only primary symetries and only used to determine bone orientation).
Fixing bugs (infinite loops) in length based subdivisions.
Adding number of post processing passes parameter
2007-11-14 01:57:17 +00:00
Chris Want
e66f325dd7 ==Mirror Modifier==
Support for using the axes of a different object as the line of mirror
symmetry for a mirror modifier. As a nice consequence, this allows
"clipping" to arbitrary planes in editmode.

A fun example of using a couple of mirror modifiers and an array
modifier to easily make a nice flower type model is here:

http://bebop.cns.ualberta.ca/~cwant/chocolateC05.blend
2007-11-13 06:56:55 +00:00
89317afbdf Patch #7767: Constraint Subtargets can now target anywhere on a bone, not just the head or tail
Patch by: Roland Hess (harkyman)

For example, a constraint can be sub-targeted at the 50% (or 31.2% or 85% etc.) point of its target bone, giving you enormous rigging flexibility and removing the need for complex contraptions to do such things as:

- A bone whose base slides only between to points on a rig (CopyLoc with a variable, animated subtarget point)
- Bones that attach to multiple points along another bone (CopyLocs, each with a different head/tail percentage)
- Bones that need to stretch to a point midway between specific spots on two other bones (old way: too crazy to mention; new way: stretch bone between points on end bones, then another stretch to the midpoint of the first stretch)

It is only used for the constraint types for which it is relevant: CopyLoc, TrackTo, StretchTo and MinMax, TrackTo, and Floor.

Notes:
- This is accessed by the Head/Tail number-slider. 
- This value can be animated per constraint
- The old "Copy Bone Tail" option for the CopyLoc constraint has been automatically converted to 1.0 Head/Bone values for the affected constraints
- In the code, this value is in the bConstraint struct, so it is available for all constraints, even though only a few implement it.
2007-11-12 04:17:03 +00:00
7f2e43968a Mesh Deform Modifier
====================

Dynamic binding support. This means that the mesh can move _within_
the cage and still deform correct. If the mesh goes out of the cage,
don't expect correct result. Must be enabled with the 'Dynamic'
option, because it is slower and consumes more memory.

This is useful to use e.g. the cage mesh for main deformations and
still have shape keys for facial deformation working.
2007-11-11 22:54:14 +00:00