* 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").
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?)
I talked to Jesterking and he may switch this to a more global
solution later. I figured in the meantime its ok to commit this
and consider the issue resolved.
Kent
starting angle in some cases, but wasn't always noticeable due
to the IK solver changing it anyway.
Bugfix for hidden bones in pose mode still being active, and
preventing other bones from becoming active.
=========
- Normalize strand coordinates over the length of the strand, not
cut off when with e.g. length texture control.
- Weight paint and particle mode x-mirror now works with deformation
and shape keys active.
- X-ray is now disabled in particle mode, messed up depth tests.
was actually due to a numerical issue in the matrix to quaternion
conversion code (which was from siggraph '85), now uses an improved
version. I hope nothing depends on the previous behavior.. though
it should only affect corner cases.
IK-constraint "flush_targets" function was causing segfaults on debug builds from certain MSVC compilers.
The cause of this, is that ct is freed in the SINGLETARGET_FLUSH_TARS macro already, but ct is accessed in the following line to get the next target (ct= ct->next). Caused by brecht's commit for the pole-target stuff for IK-constraint.
Now the SINGLETARGET_FLUSH_TARS macro, and the SINGLETARGETNS_FLUSH_TARS macro will correctly advance the location that ct points to.
* Made 'cob' be a stack var instead of allocating memory (as suggested by Martin)
* Adjusted the position of "Trans" button in panel, and changed its name/tooltip to better describe its function
* 'Active' constraint now draws brighter than other constraints... this is still not clear enough though.
used for clipping were being stored in the mesh, but modifiers
can result in two objects with the same mesh having a different
bounding box. Solution is to store bounding box in the object.
editmode was not exited, and vertex normals would not write at all! (probably own error)
- Edited tooltip for texture DVar (was some user confusion in the studio as to its purpose)
- Set render border is disabled when it has no area - so drawing a box outside the camera disables .
[#7660] Solaris 10 x86 support (Makefiles)
Hopefully it will not mess up anything for anyone else. I removed
some hardcoded static libs and made NAN_*_LIB definitions so they could be
overridden, to allow greater flexability.
Let me know if there are any problems/questions.
Kent
=========
- Texture orco coordinates for particles are now actual orcos instead
of just the vertex positions, which means they are the same under
deformations and the same as the ones on the mesh.
- Particle distribution now uses these orcos to get consistent
distributions independent of deformation.
- This required changing the way orco's are computed for meshes. Now
instead of generating an orco derivedmesh separately, the derivedmesh
is generated alongside the regular one and stored in an orco custom
data layer.
* Auto key wasnt working, it made the bone not move at all (not sure why used same code as snap to), now check G_RECORDKEYS and add keys manually.
* was ignoring keys that were 1.0 behind the current key. made the limit 0.5, fixes this.
* [Peach Request] AutoIK now respects axis locking (rotation locks).
- Temporary DOF-Locks are turned on for those bones that are part of an AutoIK chain while transforming. These locks get cleared after transforming.
- This works for all bones except the root bone of the chain, which doesn't seem to be able to be locked.
* Limit Location constraint can now optionally affect Translations too (i.e. NKEY panel values won't change).
- LimitRot,LimitScale support (for their respective transforms) will be done at a later date
- This only works if the constraint is using World/Local space (the other spaces are not supported yet).
- I've added a temporary button in the LimitLoc panel to enable this option (it is disabled by default). This button will be properly assigned a place in that panel sometime.
=========
- 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/
====================
Bugfix for mdef + groups. The mdef modifier treated the cage object as
a sort of parent, which meant that transforming the cage object also
transformed the mesh. However, this behaviour is different from e.g.
armatures, where transforming the armature object has no effect for
the modifier, but instead this transform is taken into account by the
fact that the armature is usually the parent of the mesh.
For groups and duplis, this basically lead to the parent transform
being applied twice. So, now transforming the cage object will have no
effect, except if you make the cage object the parent of the object.
Added a new function which specially caters for auto-recalculation of paths after updates (such as keyframing).
Currently, all that differs between this and pose_calculate_path, is that it only recalculates for bones with paths. Also, it only updates what it needs to (minimum frame range affected).
Warning: WIP commit (hopefully it compiles ok)
* Bone Paths calculation should now work on unsaved files. This long standing bug has been hacked around by manually forcing OB_RECALC to be set for the active object (depsgraph should really do this, but it doesn't!)
* Added waitcursor for calculating paths (useful on longer paths). I was going to add a progressbar as well, but that decreased performance overall.
-----
Bugfix #7831: fix image filename extensions on saved files. Make FFMPEG save JPEG images by default, allow JPEG images to have either ".jpg" or ".jpeg" extension.