Commit Graph

485 Commits

Author SHA1 Message Date
a834007a9b Previous fix for [#29484] wasn't working right (did work in report file though).
this now shares code with RNA's 'pchan.matrix = matrix'

tested with parent scale/rot/translation
2012-02-01 05:59:50 +00:00
7836069775 fix [#29484] Visual keying bone with local location disabled 2012-02-01 05:04:51 +00:00
8ec8aaf77f Fix #30019: Copy rotation from a vertex group
It was incorrect behavior of contarget_get_mesh_mat in cases when
object's Y axis is co-linear to average vertex group normal.
Use object's X axis for plane definition in such cases.
2012-01-30 19:46:15 +00:00
4af4863baf svn merge ^/trunk/blender -r43639:43664 2012-01-24 16:18:20 +00:00
925234f1e0 New fix for [#29940] Stretch To constraint breaks scaling in Transform constraint, previous one caused bug [#29962] linked objects not correct on r4361, should be fixed now.
Org code was working with isotropic scaling, but when scaling only one axis, it was broken. First fix just disabled completly scale handling. This version only takes into account scaling along local Y axis, as this is the only one affecting that constraint!

Sorry for the mistake, hope this time it will be ok.
2012-01-24 13:17:32 +00:00
4966982a5a svn merge ^/trunk/blender -r43564:43609 2012-01-22 18:04:35 +00:00
56fae37b2a Fix [#29940] Stretch To constraint breaks scaling in Transform constraint.
Compute of dist between ob/bone and target was quite odd and causing that bug.
2012-01-21 09:41:21 +00:00
ad3e9900d6 call CDDM_from_BMEditMesh without creating tessface data for modifiers.
- in the case of deform modifiers this is very safe (assuming the mods themselves dont need tessface data), since the DM is freed right after, so this is an easy speedup.

- in the case of bevel and split edge modifiers this should still work out fine since mods that need tessface data will generate it.
2012-01-18 15:29:25 +00:00
9d782c8a1a argument for CDDM_from_BMEditMesh() so creating tessface data is optional, no functional changes since all callers use this so far. 2012-01-18 15:09:27 +00:00
348f116fe5 svn merge ^/trunk/blender -r43124:43160 2012-01-05 11:23:24 +00:00
cd84a43334 Camera tracking: added depth object to Follow Track constraint
If this object is defined, object with Follow Track constraint would be
projected into surface of this depth object.
If object is not set or there's no projection onto it, projection plane
calculated based on original object position would be used.

This allows to make cheap facial mocap.
2012-01-04 17:20:08 +00:00
81f5c9ed9b svn merge ^/trunk/blender -r42991:43009 2011-12-31 03:07:14 +00:00
3c6e818b22 Object tracking integration
This commits merges object tracking implementation from tomato branch.

Summarized changes from branch:

- Added list of objects to be tracked. Default there's only one object called
  "Camera" which is used for solving camera motion. Other objects can be added
  and each of them will have it;s own list of tracks. Only one object can be used
  for camera solving at this moment.
- Added new constraint called "Object Tracking" which makes oriented object be
  moving in the save way as solved object motion.
- Scene orientation tools can be used for orienting object to bundles.
- Object has got scale to define "depth" in camera space.
- All tools which works with list of tracks or reconstruction data now
  gets that lists from active editing object.
- All objects and their tracking data are available via python api.
- Improvements in witness cameras workflow,
2011-12-30 18:06:02 +00:00
532afede02 patch [#29726] Enable looping with Follow Path constraint and cyclic curves. by Peter Amstutz (tetron) 2011-12-30 14:52:03 +00:00
737648a0bf Merging r42648 through r42722 from trunk into soc-2011-tomato 2011-12-19 10:39:40 +00:00
3708d66c88 Object tracking: forgot to initialize inverted matrix for object solver constraint 2011-12-18 18:03:20 +00:00
db6cb30941 svn merge ^/trunk/blender -r42669:42670 2011-12-16 23:50:55 +00:00
3311164b24 Math lib: matrix multiplication order fix for two functions that were
inconsistent with similar functions & math notation:

mul_m4_m4m4(R, B, A) => mult_m4_m4m4(R, A, B)
mul_m3_m3m4(R, B, A) => mult_m3_m3m4(R, A, B)

For branch maintainers, it should be relatively simple to fix things manually,
it's also possible run this script after merging to do automatic replacement:
http://www.pasteall.org/27459/python
2011-12-16 19:53:12 +00:00
862dc635ed svn merge ^/trunk/blender -r42617:42655 2011-12-15 23:59:02 +00:00
b1111bafa1 Camera tracking: follow track + 3d position now respects camera orientation and object offset 2011-12-15 20:38:45 +00:00
8a9d901c81 Camera tracking: add camera to follow track and object solver constraint
Object used to be parented to active camera which isn't very convenient when
working with witness cameras.

Now parent camera can be specified in constraint (if it's not specified, active camera is used)
2011-12-15 20:38:23 +00:00
ba16e7d631 Object tracking: object with object solver constraint is now parented to scene's camera
Made Object Solver operator parent object to scene's camera. Behavior is pretty much
familiar to Child Of constraint -- it stores inverted transformation matrix which gives
constant offset in parent's space.
Current files would open incorrect, to make object aligned well again, just press
"Set Inverse" button in Object Solver constraint.
Fixed orientation operators so now they should work in all cases.
Also changed behavior of Set Origin operator which now sets origin to the median
point of all selected tracks/
2011-12-15 16:09:57 +00:00
deb95ddb44 Merging r42621 through r42647 from trunk into soc-2011-tomato 2011-12-15 16:04:59 +00:00
40a2c1a292 more vertex weight edits,
* replace inline loops with api calls.
* change constraints so verts with 0.0 weight are ignored like they are everywhere else.
2011-12-14 22:54:38 +00:00
9355cc5c39 Object tracking; initial commit
This commit implements basis stuff needed for object tracking,
use case isn't perfect now, interface also should be cleaned a bit.

- Added list of objects to be tracked. Default there's only one object called
  "Camera" which is used for solving camera motion. Other objects can be added
  and each of them will have it;s own list of tracks. Only one object can be used
  for camera solving at this moment.
- Added new constraint called "Object Tracking" which makes oriented object be
  moving in the save way as solved object motion.
- Scene orientation tools can be used for orienting object to bundles.
- All tools which works with list of tracks or reconstruction data now
  gets that lists from active editing object.
- All objects and their tracking data are available via python api.
2011-12-05 18:57:17 +00:00
3c8d86e117 svn merge ^/trunk/blender -r41961:41998 2011-11-20 01:14:33 +00:00
539c94a051 Camera: some code refactoring, use an intermediate CameraParams struct instead
of long list of variables everywhere. Intention is to also let 3d view use this
eventually, instead of duplicating code.
2011-11-18 15:52:00 +00:00
c00c0134e0 svn merge -r41847:41899 ^/trunk/blender 2011-11-16 03:10:15 +00:00
1a47f9516e Formatting cleanup. No functional changes 2011-11-15 11:34:49 +00:00
e6e265b2b5 svn merge -r41779:41847 ^/trunk/blender 2011-11-15 02:58:06 +00:00
f474576351 Camera tracking: interface cleanup and small buttons renaming
- Move tracking-related constraints to own section in list
  Currently there are only two constraints, so can look a bit odd,
  but it'll be other constraints like "Object Solver" and so.
- Move motion-tracking parameters from 3D viewport Display panel
  to it's own panel.
- Get rid of "Bundle" in 3d viewport. It's quite obvious that it's
  a 3D representation of tracks is used in 3D viewport and it shouldn't
  be so confusing for artists now.
- Also get rid of "Bundle" in Follow Track constraint.
  Old files can change a bit because of changes in DNA.
- Also get rid of "Bundles" in operator which creates vertices cloud
  from 3D position of tracks.
- Rename "Principal Point" to "Optical Center" in the interface.
2011-11-14 06:41:42 +00:00
cb890a49fb svn merge ^/trunk/blender -r41602:41638 . 2011-11-08 02:57:28 +00:00
27d42c63d9 Camera tracking integration
===========================

Commiting camera tracking integration gsoc project into trunk.

This commit includes:

- Bundled version of libmv library (with some changes against official repo,
  re-sync with libmv repo a bit later)
- New datatype ID called MovieClip which is optimized to work with movie
  clips (both of movie files and image sequences) and doing camera/motion
  tracking operations.
- New editor called Clip Editor which is currently used for motion/tracking
  stuff only, but which can be easily extended to work with masks too.

  This editor supports:
  * Loading movie files/image sequences
  * Build proxies with different size for loaded movie clip, also supports
    building undistorted proxies to increase speed of playback in
    undistorted mode.
  * Manual lens distortion mode calibration using grid and grease pencil
  * Supervised 2D tracking using two different algorithms KLT and SAD.
  * Basic algorithm for feature detection
  * Camera motion solving. scene orientation

- New constraints to "link" scene objects with solved motions from clip:

  * Follow Track (make object follow 2D motion of track with given name
    or parent object to reconstructed 3D position of track)
  * Camera Solver to make camera moving in the same way as reconstructed camera

This commit NOT includes changes from tomato branch:

- New nodes (they'll be commited as separated patch)
- Automatic image offset guessing for image input node and image editor
  (need to do more tests and gather more feedback)
- Code cleanup in libmv-capi. It's not so critical cleanup, just increasing
  readability and understanadability of code. Better to make this chaneg when
  Keir will finish his current patch.

More details about this project can be found on this page:
    http://wiki.blender.org/index.php/User:Nazg-gul/GSoC-2011

Further development of small features would be done in trunk, bigger/experimental
features would first be implemented in tomato branch.
2011-11-07 12:55:18 +00:00
e936c78251 svn merge ^/trunk/blender -r41503:41575 2011-11-06 10:38:44 +00:00
3717059511 Comments and other text editing:
* Renamed one of the two "File is Saved" entries, as having two
entries with the same name in the Datablocks viewer was confusing
* Edited the tooltip text for "speed" option for dupliframes to
clarify what it does (or what it's supposed to do)
2011-11-04 08:08:47 +00:00
70b7402252 svn merge -r41480:41503 ^/trunk/blender 2011-11-03 22:58:05 +00:00
9e8a7c7e31 Bugfix [#29113] "Follow path" constraint subframes calculated
incorrectly

"Follow Path" constraint was applying subframe offsets to the curve-
path evaltime value for non-fixed case. However, it turns out that
when doing old-style mblur, this results in the offset getting applied
twice, resulting in incorrect values (i.e. by the time the constraint
gets ctime, this already has had subframe offset applied, and so too
has curve evaltime).
2011-11-03 11:20:22 +00:00
9aa901cccc svn merge -r41422:41431 ^/trunk/blender 2011-11-01 09:05:38 +00:00
bcdcbb65c1 macro to check if an object type supports vgroups 2011-11-01 06:45:36 +00:00
15e6d6cd75 svn merge ^/trunk/blender -r41226:41227 . 2011-10-24 12:43:08 +00:00
ad1d3dd30f svn merge ^/trunk/blender -r41175:41200 --- will need to apply fix after 2011-10-24 07:56:42 +00:00
4a04f72069 remove $Id: tags after discussion on the mailign list: http://markmail.org/message/fp7ozcywxum3ar7n 2011-10-23 17:52:20 +00:00
74017cb020 header cleanup and typo's 2011-10-22 01:53:35 +00:00
ef1a1e1451 svn merge ^/trunk/blender -r41005:41075 2011-10-17 03:40:10 +00:00
67c15da97d docs / clenup (no functional code changes)
- added API examples for mathutils.Color/Euler/Quaternion/Matrix.
- corrected own bad spelling matricies --> matrices.
- minor pep8 edits.
- update CMake ignore file list.
2011-10-17 02:20:53 +00:00
7f4bb1f71b spelling corrections in comments and quiet warning 2011-10-15 14:14:22 +00:00
4e118bb22f svn merge ^/trunk/blender -r40890:40950 2011-10-14 01:35:20 +00:00
54adf3de62 fix bad svn ID tags 2011-10-10 09:44:14 +00:00
bc40f11093 header cleanup (no functional changes) 2011-10-10 09:38:02 +00:00
4a157de23d svn merge ^/trunk/blender -r40587:40643 2011-09-28 07:34:48 +00:00