Age | Commit message (Collapse) | Author |
|
adding new windowmanager module, and the first bits of new editors
module.
|
|
Related to bug [#7792] ("Around Selection" user preference doesn't work for linked objects), this commit makes Linked objects be considered in Transform.
This has a couple of effects:
Linked objects are used to calculate the center of transformation and such but are skipped during the actual transformation.
Linked objects can be used as orbiting targets (see previously mentionned bug).
The offshot is that selecting a linked object and hitting G doesn't cancel immediately as it did before (this could eventually be worked around, but I don't think it's that much of a problem. Disagreeing people should express themselves).
|
|
=========
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.
|
|
- [#6112] is this an extrusion bug?
When extruding, x-mirror was giving weird behavior since the extruded vertice could match with their non-extruded counterpart on the other side.
The solution is to disable x-mirror (with a transform context flag, like disabling PET) in that case.
- External constraint setup calls (BIF_*) didn't setup some internal structs properly.
For the user, this resulted in some transform (extrude particularly) showing a full 3d vector in the header instead of a scalar along the constraint axis (this messed up num input a bit too, you could type values in unused axis).
|
|
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
|
|
====================
This changes the way hinge bones are transformed when their parent bones
are also selected. Before it just disabled transform for these, now they
are rotated and scaled as well, but without influencing the transform
center, which gives behaviour as if they were regular bones.
|
|
Restoring the 'force redraw' functionality, which is only active when the 'lock' icon on the header of the respective editor is turned on.
|
|
As with the Action and NLA editors, I've refactored the transform code for the IPO editor to get rid of the special (and clunky) transform loop that had been created. The approach this time is closer to the one taken for the UV/Image editor.
What's New/Will-be-possible-in-the-future:
* Numeric input now works for the IPO editor
* Proportional Edit support for the IPO editor will eventually be added.
* Rotation (hopefully), once some hotkeys have been remapped
Known Problems:
* If a keyframe moves past neighbouring keyframes and the transform gets cancelled, it doesn't get restored correctly. This problem is quite icky to resolve (I've got a large hack for this, but that currently segfaults randomly).
* When scaling, the dashed-line (helpline) is drawn from the wrong starting co-ordinates. This does not affect the actual scaling though
* Trying to scale BezTriples with autohandles still doesn't work if either of the handles haven't been transformed yet. This behaviour was already present prior to this commit.
|
|
I've refactored the Action and NLA Editor Transform tools to use the Transform System instead of setting up their own transform loops. This should have happened ages ago, but no-one got around to doing so.
* There are still a few bugs left to iron out of a few features, but on the whole it should work as well as it used to. These are: the values which get displayed when working with NLA-scaled actions may not all be correct yet; and the Time-Slide tool in the Action Editor is currently kindof broken.
* One of the main benefits of this work, is that it is now possible to use Numeric Input during Transforms.
* Also, a bug that meant that it was not possible to negatively scale keyframes in the Action Editor has been resolved.
|
|
Some more compiler warning fixes. Some of these seem to be specific to GCC 4.1
|
|
this can be placed by the moused and used for transforming around.
still need numeric location input but no room left in the image panel.
|
|
Notes
* you cant edit UV's in the image window in "UV Face Select" mode. (removed UV from the name)
* going into Face Select mode no longer adds UV's and does not need UV's to work.
* The UV Calculation menu is now in editmode (Alt+W)
Todo..
* Image replace - partly broken in stable also.
* Rotate/Mirror UV/VCol are still only in Face Select mode.
* Hide/Reveal is not quite right, (issue with editmode flushing)
|
|
little nicer for everyone.
Patch provied by gsrb3d
bug tracker #7061
Kent
|
|
- Removing evil InitTransModeFlags (I would always forget to update that when adding new stuff). It's properly done in the per transform init now.
- Add toggleable mode for Shear (with MMB) for horizontal or vertical shear. Toggle shear mode also changes the input mode from vertical to horizontal and vice versa (it's intuitiver that way). (This was suggested in a really old patch but never implemented because I disliked adding transform specific handling in the main event switch).
- Add custom event handlers per transform (currently only used for Shear)
- Add custom data pointer and freeing flag (only (a)bused by Shear).
NOTE to Levi Schooley: Some stuff in there might be useful for you.
|
|
* Now, when X-Mirror is turned on for the armature, the roll from bones being 'rolled' is also mirrored.
* Disabled transform-constraints for this mode, as it didn't really make sense.
|
|
|
|
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
|
|
* colour -> color
* centre -> center
* normalise -> normalize
* modelling -> modeling
|
|
New option "rotate around selection" failed in editmode, when nothing was
selected.
Function calculateCenterMedian() missed that case.
Also added some zero initializing in code.
|
|
OpenGL functions.
|
|
Reverting Aligorith's fix for bug Bugfix #5833 (the fix was incorrect, see bug report for details).
That means the translation part when rotating "free" bones in pose mode is still broken.
|
|
When rotating bones around the 3d-cursor in posemode with a rotated
armature, rotation was around strange points other than the cursor.
This bug has been around for quite a few releases now. Somehow, the
maths used to convert the world/global space locations to local locations
only worked on things in editmode, but not bones.
|
|
Partial fix for bug #5766
* Moved the retopo call used during transforms to above the call to clip the transform (for the mirror modifier.) This stops retopo from moving a vertex across the axis.
|
|
|
|
==== Rotation Snap ====
Snap is no longer limited to Translation, it works in Rotation too.
There's some bugs left with rotation snap when using constraints, I'll be ironing that next.
==== Bug Fixes ====
* Fix manipulators to always use Grid.
* Fix initialization bug (took two transform call to do a correct snap init when changing between Grid and Snap)
|
|
(Implementing Matt's idea)
Grid and Snap are now exclusively controlled by the Control key (pun intented).
You can switch to Snap by selecting the snap option in the Transform menu (this option is only available in edit mode on a mesh. this option is per 3D view) (NOTE: There is currently no hotkey for that, anyone should feel free to add one).
When Snap is selected, holding down Ctrl during translations (grab) snaps to vertex.
All other situations which have no snapping code yet defaults to Grid.
|
|
Notes:
- Only referenced groups (from other files)
- Only 1 group (no more duplicates using same group yet)
- Only Proxy working well for Armature or Empty
Is going to be reviewed in Plumiferos team; but target is that this will
solve a major animation pipeline bottleneck :)
Usage; select group, alt+ctrl+p, pick an object you want to proxify.
|
|
THE OBJECT PROXY
Or simple said; local control of referenced data from libraries.
Having library files with references is a very common studio setup, and
Blender did do quite well in that area. Were it not that for character
setups it was impossible to use still.
This commit will enable a full rig+character to remain in the library,
and still have - under strict control - local access for animation edits.
Full log:
http://www.blender3d.org/cms/Proxy_Objects.824.0.html
|
|
From the tracker:
https://projects.blender.org/tracker/index.php?func=detail&aid=5018&group_id=9&atid=127
|
|
Embryon functionnality for snapping.
- Only snaps to grid on translations (grab)
- Transform constraints are supported but header display is wrong.
- Can be turned on/off in the Object/Mesh header menu under Transform Properties (tentative spot, will have to integrate better and in other object type menus too)
- Can be turned on/off during transform with ` (Back Quote, also tentative)
This is, of course, very much Work in Progress.
This implements part of the structural ideas for the transform cleanup I've been juggling around with.
|
|
This is another proportional edit falloff that slightly randomises the
influence. It's not strictly random, it's blended with linear falloff so that
it's a bit smoother. The nice thing is that it works with all transforms, axis
locking etc, including the special ones like to sphere, shrink/fatten/etc. It
can be used for all sorts of things like roughening surfaces. I most recently
used it to add a bit of randomness to the folds of some cloth. I
made a short demo video here: http://mke3.net/blender/etc/prop_random-h264.mov
Also included nicer icons for the falloff types.
|
|
|
|
- this patch adds verse support for SCons, which can be enabled by
giving WITH_BF_VERSE=1, ie. on command-line
- this patch also adds a custom lib dir possibility. From the patch description:
"To set a custom ../lib dir, put LCGDIR="path to lib dir, including the platform folder name!" in your user-config.py."
* Fixed win32-vc-config.py so that it links to the proper library. Reported by Brandano.
|
|
- All code is in #ifdef ... #endif
- Only make build system is supported and you have to add:
export WITH_VERSE=true
to user-def.mk file
- Blender can share only mesh objects and bitmaps now
- More informations can be found at wiki:
http://mediawiki.blender.org/index.php/BlenderDev/VerseIntegrationToBlender
http://mediawiki.blender.org/index.php/BlenderDev/VerseIntegrationToBlenderUserDoc
I hope, that I didn't forget at anything
|
|
This is a much faster and easier way to give a bevelled curve a taper, without
using taper curves. Each point on a curve now has a 'radius' value that you can
shrink and fatten using Alt S, which will influence the taper when the curve is
bevelled (either with a bevob, or with front/back turned off and a bevel dept
set). Alt S shrinks and fattens the selected points in an interactive transform,
and you can set an absolute radius for selected points with 'Set Radius' in the
curve specials menu.
See demo: http://mke3.net/blender/etc/curve_shrinkfatten-h264.mov
This can be a quick way to create revolved surfaces (eg.
http://mke3.net/blender/etc/wineglass-h264.mov ) and it would be very
interesting to use this radius value in other tools, such as a 'freehand curve'
tool that would let you draw a curve freehand, with the radius affected by pen
pressure, or even using the radius at each point to control curve guides for
particles more precisely, rather than the continous maxdist.
|
|
it works as expected.
|
|
EM_editselection_center
EM_editselection_normal
EM_editselection_plane
These functions are used by the manipulator to get data from an editselection. regardless of weather its a face/edge/vert.
|
|
works for getting the V/E/F normal. Means we can now rotate about the last selected edge.
|
|
Rotating UV coordinates with snapping was image aspect ratio 'corrected'
for non square images. Only snapping for translation should be affected
by the aspect ratio.
|
|
- Set local sticky in the uv editor as default.
- Don't do live unwrap on fully selected charts or charts with no pins
selected.
- Fixed bug with live unwrap not respecting transform cancel in some cases.
- "View Home" didn't work without an image.
- Move UV Calculation settings (cube size, cylinder radius, ..) into the scene
toolsettings, instead of global variables
- Remove the name LSCM from the UI (and python docs on seams), and replace it
with 'Unwrap', with upcoming ABF this didn't make sense anymore.
- Move the Old/New LSCM switch into the UV Calculation panel. New LSCM is the
default now. Also renamed LSCM there to "Conformal".
- Made some room in the UV Calculation panel by removing the buttons to execute
the UV calculation, only leaving the settings.
Fill Holes:
- LSCM now has an option to fill holes in the chart before unwrapping. This on
by default, and enables two things:
- Prevent internal overlaps (e.g. eyes, mouth) for LSCM unwrapping.
- Allow the internal boundaries to move freely during stretch minimize.
- The possibility to switch it off is there because it is not always possible
to define which the outer boundary is. For example with an open cylinder
where there are two identical holes.
|
|
Here are my notes on things to look out for as potential problem
spots:
source/blender/blenkernel/intern/displist.c:
+ is initfastshade(void) supposed to be empty? I had
to make it empty to get the merged tree to compile.
source/blender/python/api2_2x/Armature.c:
+ went with the version that had Armature_getLayers()
source/blender/python/api2_2x/Object.c
+ went with the version of Object_getPose() from bf-blender.
(#ifdef 0-ed the other version)
source/blender/python/api2_2x/Pose.[ch]
+ had problems linking due to no Pose_Init() ... copied these
two files straight from bf-blender.
source/blender/src/drawview.c:
+ view3d_panel_properties() had things shifted a few things shifted
a few pixels, otherwise, things were painless
source/blender/src/splash.jpg.c:
+ went with bf-blender version (orange is dead)
source/gameengine:
+ went with bf-blender version -- does not compile due to IMB_rect* stuff,
Ton should look into this.
|
|
When grabing a camera in camera view, the constraint center wasn't the center used for initgrabz, so it messed up a lot.
|
|
ALso: a bit tidying up in editaction.c and python Object.c
|
|
The user settings "auto rotate grid" or "auto scale grid" were never
implemented for new transform, apparently.
|
|
without check for correct spacetype in use. :)
|
|
- There is now a (temporary) dropdown box in the image window header for
switching between the old an new unwrapper code. So to test the changes
described below you need to enable the new unwrapper code.
- Pinning is now more predictable, if one uv is pinned, the others belonging
to the same vertex are pinned also.
- Live LSCM is much faster, since the LU factorization, the most expensive
part of the computation, is now stored and reused (was Jens' idea).
- Packing multiple uv charts is slightly improved, by doing a binary search
over the texture width. This fixes the case where all the charts are
packed at the bottom of the image.
- LSCM now uses an angle based formulation, and the results seem somewhat
different (maybe slightly better?), didn't find out why yet.
|
|
Set the option in EditMode, in 2nd mesh tools panel. It only works on
transform options now (grab/rot/scale), and of course assumes a near-
perfect symmetrical mesh. Mesh Object itself can be on any location
though (and rotated etc).
|
|
While investigating alternative filters (Mitchell), I found two small
errors in the Gauss code, it clipped wrong and multiplied wrong, causing
settings other than filter size 1.0 to not work properly.
Took the last-minute liberty to add more filter types in Blender too.
Also wrote an extensive log about how sampling & filtering in Blender
works.
http://www.blender3d.org/cms/Samples_and_Filtering.723.0.html
|
|
This is a combined effort from Jens, Ton who finished the code here on my machine, and myself putting in the little menu toggle and committing :).
Turn it on and off in the UV/Image window menu UVs -> LSCM Live Transform. It recalculates the LSCM within the transform loop when you're transforming pinned vertices, so it gives realtime feedback - a real time saver! Note: this is much more powerful than proportional edit, since it's properly calculating LSCM using the correct edge angles, etc.
I recorded a quicky demo video here: http://orange.blender.org/wp-content/themes/orange/images/media/lscm_live.mov (quicktime animation codec)
|
|
td->loc was set (like for crease).
|